mirror of
https://github.com/deepseek-ai/DeepGEMM.git
synced 2026-11-05 00:47:26 +00:00
[GH-ISSUE #6] Support for Ada Lovelace & Blackwell #6
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
deepseek-ai/DeepGEMM#6
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @leedrake5 on GitHub (Feb 26, 2025).
Original GitHub issue: https://github.com/deepseek-ai/DeepGEMM/issues/6
This is perhaps better served as a feature request, but I can see wide interest in proper F8 implementation for the 4090/5090 series of GPUs. Is there any interest in adapting this for sm_89 & sm_100/a? Is it a steep challenge or is it feasible?
Many thanks for providing this repo. It is a remarkable contribution to the field.
@LyricZhao commented on GitHub (Feb 26, 2025):
I'm not sure whether it is hard to add other arch-support and maximize the performance. We may release new version if we get some other arch support, also, open-source community PRs are welcomed.
@nupam commented on GitHub (Feb 26, 2025):
when openCL+RISC-V? :P
@eternaphia commented on GitHub (Mar 1, 2025):
i'm working on adapting to Ada Lovelace
@leedrake5 commented on GitHub (Mar 4, 2025):
An update on my efforts:
First step is to install cutlass within the third_party folder for the intended architecture:
I am using 18 cores since I have an intel i9, but specify a number here! -j flag will go nuts and consume all RAM during the tests if you don't tailor it for your system.
Next, change references from SM90 & sm_90 to SM89 & sm_89 in the following files:
Then install. The recommended python server.py install didn't work, but the much simpler pip install did, though perhaps this is connected to later problems with test_core.py:
Next, run tests. Right now test_jit.py works:
But test_core.py fails:
This is because it looks like cutlass doesn't compile a cluster_sm89.hpp file similar to a cluster_sm90.hpp file, presumably because these GPUs aren't intended to be server workhorses. So it is possible that cluster won't work. But it might be possible to split the test file to see if it runs on a single GPU. Working on that next. For now, just encouraged that jit still works.
My hope, which I'm pursuing right now, is that I've got to rebuild their version of cutlass for sm_89, and that these files just need to be compiled. So exploring ways to do that, and will report progress, if any.
@leedrake5 commented on GitHub (Mar 4, 2025):
An update on my end, and possibly fatal block. In fp8_gemm.cuh, the following libraries must be included:
Now, for Ada Lovelace in particular, one can link the sm80 versions of files. But after re-compiling cutlass, I don't think there are instructions to build sm_80/sm_89 versions. They are specific to sm_90 and sm_100. So unless a way can be found away this, I think we're stuck.
@galileilei commented on GitHub (Mar 17, 2025):
From a cursory look, only cluster = (1, 2) is used in the cuda file.
If cluster = 1, is it equivalent to running without TMA cluster on sm_80/sm_89?
@ZhangChuann commented on GitHub (Mar 24, 2025):
Has anyone successfully run on the sm_89 platform?
@engineer1109 commented on GitHub (Mar 25, 2025):
Ada Lovelace doesn't support TMA.
@leedrake5 commented on GitHub (Mar 26, 2025):
@engineer1109 Would lack of support of TMA preclude running Deep GEMM on sm_80/sm_89?
@sshkhr commented on GitHub (Apr 24, 2025):
@leedrake5 It wouldn't necessarily preclude it, but you cannot use the library in its current form. For example, you won't be able to use the
cute::SM90_TMA_LOAD_2D::copyorcute::SM90_TMA_LOAD_MULTICAST_2D::copyanymore. So you will have re-write the async matrix copying instructions between global and shared memory using the operations implemented here instead cute/arch/copy_sm80.hpp. These will be viaLoadGlobalStoreSharedwhich are not directly from DRAM to SMEM, instead have to use registers. So these operations will be slower - see this image from NVIDIA Hopper Architecture In-Depth.Similarly there are other SM90 specific instructions used elsewhere which you will have to replace.
@celsowm commented on GitHub (Jun 24, 2025):
Any updates? I am trying to use fp8 model on sglang on a 5090 but deepgemm still not compatible with sm120 :(
@LugerW-A commented on GitHub (Jul 14, 2025):
Any update for Ada?
@lucifer1004 commented on GitHub (Jul 14, 2025):
For those interested in Ada DeepGEMM, you may refer to https://github.com/NVIDIA/TensorRT-LLM/tree/main/cpp/tensorrt_llm/kernels/cutlass_kernels/fp8_blockscale_gemm/ada_blockwise_gemm