DeepSeek开源第三弹:惊人的300行代码驱动R1和V3的训练与推理,超越各种专家内核

AI寒武纪
DeepGEMM是由DeepSeek精心打造的FP8通用矩阵乘法 (GEMM) 加速库,专为追和代码求极致性能简洁而生,性能高达1350+TFLOPS,意味着更快的模型训练速度,更流畅的推理体验,以及更低的计算成本。

DeepSeek开源周第三弹!DeepSeek-AI 重磅发布高效FP8 GEMM库 DeepGEMM:极致性能,代码精简,助力V3/R1模型训练与推理!

简单来说这是由 DeepSeek-AI 团队精心打造的 FP8 通用矩阵乘法 (GEMM) 加速库,专为追求极致性能和代码简洁而生。

我们一起来扒一扒:

Hopper GPU上狂飙1350+FP8 TFLOPS!

在算力为王的 AI 时代,矩阵乘法 (GEMM) 的效率至关重要。DeepGEMM 正是为了解决这一痛点!它充分利用 NVIDIA Hopper 架构 GPU的强大算力,在 FP8 精度下,性能 高达 1350+ TFLOPS!这意味着更快的模型训练速度,更流畅的推理体验,以及更低的计算成本!

DeepGEMM 不仅适用于传统的 稠密模型,更完美支持 混合专家模型 (MoE) 的 GEMM 计算,无论是 DeepSeek-V3 还是 R1 模型,都能得到强力加速!

代码极简!核心逻辑仅300行,堪比教程级!

你没听错!DeepGEMM 的核心 kernel 函数代码量仅有 惊人的 ~300 行! DeepSeek-AI 团队秉持着 “大道至简” 的设计理念,在保证极致性能的同时,力求代码的 可读性 和 可维护性。 即使是刚入门 CUDA 开发的同学,也能轻松理解 DeepGEMM 的实现原理,甚至可以作为学习 Hopper FP8 矩阵乘法和优化的绝佳教程!

✅ 无需编译!完全 Just-In-Time (JIT) 编译,即装即用! ✅

告别繁琐的编译过程!DeepGEMM 采用了 全 Just-In-Time (JIT) 编译 技术,所有 kernel 都在运行时动态编译,无需在安装时进行任何预编译。 这意味着你可以 即装即用 DeepGEMM,省去了大量的配置和编译时间,让你可以更专注于模型开发和实验。

DeepGEMM 的 JIT 设计还带来了额外的优势:它可以根据不同的 GEMM 形状、block size 等参数进行 动态优化,始终选择最佳的 kernel 配置,保证在各种场景下都能发挥出最佳性能。

 硬核技术解析:DeepGEMM的性能秘诀

DeepGEMM 在代码简洁的同时,性能却能比肩甚至超越一些专家调优的库,这背后离不开一系列硬核技术的加持:

  • 精细粒度 Scaling (Fine-grained Scaling): DeepGEMM 采用了 DeepSeek-V3 论文中提出的精细粒度 scaling 技术,更有效地利用 FP8 的动态范围,提升计算精度和性能
  • • CUDA-core 双层累加 (Two-level Accumulation): 为了解决 FP8 tensor core 累加精度不足的问题,DeepGEMM 巧妙地使用了 CUDA-core 双层累加技术,保证了计算结果的准确性
  • • Persistent Warp-specialization (持久 Warp 特化): 借鉴 CUTLASS 的设计思想,DeepGEMM 的 kernel 进行了 warp 特化,实现了数据移动、tensor-core MMA 指令和 CUDA-core promotion 的高效重叠,最大化利用硬件资源
  • • Tensor Memory Accelerator (TMA): DeepGEMM 充分利用 Hopper 架构引入的 TMA 特性,加速 LHS、RHS 矩阵和 scaling factor 的加载,以及输出矩阵的存储,实现更快的数据访问速度
  • • 统一优化 Block Scheduler 和 Rasterization (栅格化): DeepGEMM 采用统一的 block scheduler,并结合 Rasterization 技术,提升 L2 cache 的复用率,进一步优化性能
  • • FFMA SASS Interleaving: DeepGEMM 甚至深入到 SASS 汇编层面进行优化,通过调整 FFMA 指令的 interleaving 模式,提升 warp 级别的并行度,榨干硬件的每一丝潜力

DeepGEMM 虽然借鉴了 CUTLASS 和 CuTe 的一些概念,但它并没有过度依赖于复杂的模板或代数库,而是更加注重 简洁性 和 易用性。 这使得 DeepGEMM 不仅是一个高性能的计算库,更是一个学习 Hopper FP8 矩阵乘法和优化的优秀资源

实测性能数据:实力说话!

DeepGEMM 的性能究竟如何?我们用数据说话!在 DeepSeek-V3/R1 模型常用的各种 shape 上,DeepGEMM 都展现出了惊人的性能:

  • Normal GEMMs for dense models (稠密模型 GEMM)

  • Grouped GEMMs for MoE models (contiguous layout) (MoE 模型 GEMM - 连续布局)

  •  Grouped GEMMs for MoE models (masked layout) (MoE 模型 GEMM - Masked 布局)

从数据中可以看出,DeepGEMM 在各种矩阵 shape 下都表现出色,速度提升明显! 

快速上手 DeepGEMM:只需几步!

想要体验 DeepGEMM 的强大性能? 上手非常简单!

环境要求:

  • • NVIDIA Hopper 架构 GPU (sm_90a)
  • • Python 3.8+
  • • CUDA 12.3+ (推荐 12.8+ 获得最佳性能)
  • • PyTorch 2.1+
  • • CUTLASS 3.6+ (可以通过 Git submodule 克隆)

安装步骤:

  • 1. 克隆 DeepGEMM 代码库 (需要递归克隆 submodule):

  • 2. 创建 third-party 库的符号链接 (CUTLASS 和 CuTe):

  • 3. 测试 JIT 编译:

  • 4. 测试所有 GEMM 实现 (normal, contiguous-grouped, masked-grouped):

  • 5. 安装 DeepGEMM:

安装完成后,只需在你的 Python 项目中 import deep_gemm 即可开始使用

写在最后:

???? 项目地址:

https://github.com/deepseek-ai/DeepGEMM

DeepGEMM 现已以MIT许可方式正式开源!

DeepGEMM 的灵感来自 CUTLASS 项目

本文来源:AI寒武纪,原文标题:《DeepSeek开源第三弹:惊人的300行代码驱动R1和V3的训练与推理,超越各种专家内核》

风险提示及免责条款
市场有风险,投资需谨慎。本文不构成个人投资建议,也未考虑到个别用户特殊的投资目标、财务状况或需要。用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。
相关文章