DeepSeek开源DeepGEMM代码库 提供高效FP8通用矩阵乘法支持
2月26日,在开源周的第三天,DeepSeek宣布正式开放其DeepGEMM代码库,进一步推动人工智能与深度学习领域的技术进步。作为一款专为简洁高效的FP8通用矩阵乘法(GEMM)设计的工具,DeepGEMM在V3/R1训练和推理过程中提供了强大的支持,特别适合普通和专家混合(MoE)分组的GEMM运算。
DeepGEMM的设计注重简洁和高效,支持不同矩阵形状的高效计算,能够轻松适应FP8精度需求的训练和推理任务。库采用CUDA编写,安装过程不需要编译,通过在运行时动态使用轻量级即时编译模块来编译所有内核,这使得使用过程非常便捷。尽管DeepGEMM的代码量仅约300行,它在多种矩阵形状下的计算性能表现已经超越了专家调优的库。
在测试中,DeepGEMM展现了极为出色的计算性能。DeepSeek团队在英伟达H800上使用NVCC 12.8对DeepGEMM进行测试,结果显示该库的计算性能最高可达到1358 TFLOPS,内存带宽可达到2668 GB/s。与基于CUTLASS 3.6的优化实现相比,DeepGEMM在计算速度上可提速最高达2.7倍。此外,在分组GEMM(MoE模型)的连续性布局和掩码布局下,DeepGEMM可实现多达1.2倍的性能提升。
目前,DeepGEMM仅支持英伟达Hopper架构运算,针对FP8张量核心的累加不精确问题,DeepGEMM采用了CUDA核心的两级累加(提升)方法,进一步提高了运算精度。该代码库的灵活性和高效性使得它在深度学习和AI推理中具有广泛的应用前景。
要使用DeepGEMM,用户的环境需要满足以下要求:
支持Hopper架构的GPU,sm_90a
Python 3.8及以上
CUDA 12.3及以上(推荐12.8)
PyTorch 2.1及以上
CUTLASS 3.6及以上