deepseek-ai/DeepGEMM

DeepGEMM: clean and efficient BLAS kernel library on GPU

解决的问题

DeepGEMM 是一个高性能 CUDA 内核库,旨在优化现代大型语言模型 (LLM) 的核心计算原语。它解决了对高效矩阵乘法 (GEMM) 与专家混合 (MoE) 运算的需求,在提供媲美甚至超越专家调优库性能的同时,保持了更简单、更易于学习 GPU 内核优化的特性。

运作原理

该库为各种张量核心 (tensor core) 内核提供了统一的代码库,支持 FP8、FP4 与 BF16 精度。它使用名为 DeepJIT 的系统在运行时编译内核,消除了安装期间进行 CUDA 编译的需求。主要功能包括:

  • 多样化的 GEMM 支持:实现了针对不同 LLM 阶段(训练、预填充与解码)量身打造的非分组、连续分组与掩码分组 GEMM。
  • Mega MoE:一个融合的 mega-kernel,将 NVLink 通信与张量核心计算重叠,将 EP 分发、线性层、SwiGLU 与 EP 合并整合为单一运算。
  • MQA Kernels:为 DeepSeek v3.2 中使用的 lightning indexer 提供的专用评分内核。
  • 硬件优化:专门针对 NVIDIA SM90 与 SM100 架构进行了优化。

目标对象

DeepGEMM 旨在服务于开发 LLM 推理与训练基础设施的开发者与研究人员,特别是那些使用 NVIDIA H800 或类似高端 GPU (SM90/SM100) 并需要极致吞吐量与低延迟 MoE 运算的用户。

特色亮点

  • 极致性能:在 H800 GPU 上可达到高达 1550 TFLOPS。
  • 运行时编译:使用 DeepJIT 进行即时内核编译,简化安装流程。
  • 融合 MoE:Mega MoE 内核通过重叠通信与计算,显著降低了开销。
  • 广泛的精度支持:支持 FP8、FP4 与 BF16 格式。
  • 简化设计:避免过度依赖复杂的 CUTLASS 模板,使代码库更干净且易于研究。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目