pytorch / pytorch/FBGEMM

FBGEMM-GPU v1.5.0 Cannot Run on SM70 and SM75 Architectures

Open
#5,481 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
1.6k
Forks
787
PR merge metrics
No merged PRs in 30d

Description

Description

FBGEMM-GPU v1.5.0 does not appear to support SM70 (Volta) and SM75 (Turing) GPU architectures, despite them being listed as supported in the official release documentation.

Steps to Reproduce

Running cuobjdump on the compiled shared library reveals that only sm_80 and sm_90a architectures are included:

/usr/local/cuda-12.6/bin/cuobjdump /opt/conda/lib/python3.11/site-packages/fbgemm_gpu/fbgemm_gpu_tbe_training_forward.so \
  | grep -E "sm_" \
  | sort \
  | uniq

Output:

arch = sm_80
arch = sm_90a
Expected Behavior

According to the official release documentation, SM75 should be supported. The compiled binary should include CUDA kernels targeting these architectures.

Actual Behavior

The shared library only contains kernels compiled for sm_80 and sm_90a, making it impossible to run FBGEMM-GPU on SM75 (e.g., T4) GPUs.

Environment
  • CUDA Version: 12.6
  • Python Version: 3.11
  • Package: torch==2.10.0 fbgemm-gpu==1.5.0 --index-url https://download.pytorch.org/whl/cu126
Additional Notes

Could you clarify whether SM70/SM75 support has been dropped in recent releases? If so, please update the documentation accordingly. If this is unintentional, a fix or recompilation targeting these architectures would be appreciated.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with docs/src/general/Releases.rst and reproduce the cuobjdump command against fbgemm_gpu_tbe_training_forward.so. Compare the documented SM75 support with the reported sm_80 and sm_90a entries, then determine whether the release documentation or compiled package is incorrect. Done means the support status is clarified and the documentation or package behavior is aligned.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
machine-learning, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.