学习笔记-Deepseek开源第三天: DeepGEMM 技术
这只是个人的简单学习笔记,详细信息请登录官网和相关社区了解。
·
简单了解和学习DeepGEMM 技术:
1. 理论基础学习
- 了解 FP8 和 GEMM:FP8 是一种 8 位浮点数格式,专为高效计算设计。GEMM(通用矩阵乘法)是深度学习和高性能计算中的核心操作。学习它们的基本概念和优化原理,可以帮助更好地理解 DeepGEMM 的设计。
- 学习 CUDA 编程:DeepGEMM 使用 CUDA 编写,因此掌握 CUDA 编程基础是必要的。可以参考 NVIDIA 官方文档或相关教程来学习 CUDA 的基本概念和编程模型。
2. 研究 DeepGEMM 的技术细节
- 细粒度缩放和双级累加:DeepGEMM 引入了细粒度缩放技术,通过 CUDA 核心的双级累加机制,将 FP8 计算结果提升到更高精度的格式(如 BF16),以解决 FP8 精度不足的问题。
- 即时编译(JIT)技术:DeepGEMM 采用 JIT 编译方式,在运行时动态生成优化代码,根据矩阵形状和块大小进行编译优化。
- Hopper 架构优化:DeepGEMM 针对 NVIDIA Hopper 架构进行了优化,充分利用 Tensor Memory Accelerator(TMA)特性。
3. 实践操作
- 安装和配置环境:
- 确保安装了支持 sm_90a 的 Hopper 架构 GPU。
- 安装 Python 3.8 及以上版本、CUDA 12.3 及以上(推荐 12.8)和 PyTorch 2.1 及以上。
- 克隆 DeepGEMM 仓库并安装:
git clone --recursive https://github.com/deepseek-ai/DeepGEMM.git cd DeepGEMM python setup.py install
- 运行测试代码:
- 测试 JIT 编译:
python tests/test_jit.py - 测试 GEMM 实现(包括普通、连续分组和掩码分组):
python tests/test_core.py - 使用 Python 接口调用 DeepGEMM。
- 测试 JIT 编译:
这只是个人的简单学习笔记,详细信息请登录官网和相关社区了解。
更多推荐



所有评论(0)