0

0

DeepSeek开源周第三天:FP8 通用矩阵乘法 (GEMM)库

雪夜

雪夜

发布时间:2025-04-23 20:58:20

|

592人浏览过

|

来源于php中文网

原创

deepseek开源周第三天为我们带来了deepgemm,一个fp8通用矩阵乘法(gemm)库,专门为高效、干净的fp8 gemm 设计,支持密集 gemm 和 moe gemm,用于v3/r1训练和推理。

DeepSeek开源周第三天:FP8 通用矩阵乘法 (GEMM)库DeepGEMM 是一个专为FP8 GEMM 设计的库,采用细粒度缩放,如DeepSeek-V3中所建议。它支持普通和混合专家(MoE)分组 GEMM。该库使用CUDA编写,通过轻量级即时(JIT)模块在运行时编译所有内核,无需在安装时编译。

目前,DeepGEMM 仅支持NVIDIA Hopper 张量核。为了解决FP8 张量核心累积不精确的问题,它采用了CUDA 核心两级累积(提升)。虽然它借鉴了CUTLASS 和 CuTe 的一些概念,但避免了对它们的模板或代数的严重依赖。相反,该库设计简洁,只有一个核心内核函数包含大约300行代码。这使其成为学习Hopper FP8 矩阵乘法和优化技术的干净且易于访问的资源。

尽管采用轻量级设计,DeepGEMM 的性能与各种矩阵形状的专家调优库相当或超过。

⚡ 在Hopper GPU 上高达1350+ FP8 TFLOPS

✅ 没有繁重的依赖,像教程一样干净

✅ 完全Just-In-Time 编译

✅ ~300行的核心逻辑 - 但在大多数矩阵大小中都优于专家调优的内核

✅ 支持密集布局和两种MoE 布局

DeepSeek开源周第三天:FP8 通用矩阵乘法 (GEMM)库适用于:

Hopper 架构GPU,必须支持 sm_90aPython 3.8 或更高版本CUDA 12.3 或更高版本,强烈建议使用12.8 或更高版本以获得最佳性能PyTorch 2.1 或更高版本CUTLASS 3.6 或以上(可由Git 子模块克隆)DeepSeek开源周第三天:FP8 通用矩阵乘法 (GEMM)库在H800 上使用NVCC 12.8 测试了DeepSeek-V3/R1 推理中可能使用的所有形状(包括预填充和解码,但没有张量并行)。

DeepGEMM 在多种矩阵形状下的性能表现如下:

DeepSeek开源周第三天:FP8 通用矩阵乘法 (GEMM)库普通 GEMM(密集模型) M N K 计算量 (TFLOPS) 内存带宽 (GB/s) 速度提升 64

2112

7168

206

1688

2.7x

64

24576

1536

289

2455

1.7x

64

32768

Clay AI
Clay AI

Clay AI 是一款可以将人物照片转换为粘土风格图像的AI工具,Clay AI:利用粘土动画让角色栩栩如生

下载

512

219

2143

1.8x

64

7168

16384

336

2668

1.4x

64

4096

7168

287

2320

1.4x

64

7168

2048

295

2470

1.7x

128

2112

7168

352

1509

2.4x

128

24576

1536

535

2448

1.6x

128

32768

512

358

2103

1.5x

128

7168

16384

645

2604

1.4x

128

4096

7168

533

2221

2.0x

128

7168

2048

510

2277

1.7x

4096

2112

7168

1058

527

1.1x

4096

24576

1536

990

786

1.0x

4096

32768

512

590

1232

1.0x

4096

7168

16384

1358

343

1.2x

4096

4096

7168

1304

500

1.1x

4096

7168

2048

1025

697

1.1x

分组 GEMM(连续布局,MoE 模型) 分组数 每组 M N K 计算量 (TFLOPS) 内存带宽 (GB/s) 速度提升 4

8192

4096

7168

1297

418

1.2x

4

8192

7168

2048

1099

681

1.2x

8

4096

4096

7168

1288

494

1.2x

8

4096

7168

2048

1093

743

1.1x

分组 GEMM(掩码布局,MoE 模型) 分组数 每组 M N K 计算量 (TFLOPS) 内存带宽 (GB/s) 速度提升 1

1024

4096

7168

1233

924

1.2x

1

1024

7168

2048

925

968

1.2x

2

512

4096

7168

1040

1288

1.2x

2

512

7168

2048

916

1405

1.2x

4

256

4096

7168

932

2064

1.1x

4

256

7168

2048

815

2047

1.2x

性能对比图:DeepSeek开源周第三天:FP8 通用矩阵乘法 (GEMM)库架构特性示意图DeepSeek开源周第三天:FP8 通用矩阵乘法 (GEMM)库分组GEMM布局对比接口说明DeepGEMM 提供了以下主要接口:

普通 GEMM:deep_gemm.gemm_fp8_fp8_bf16_nt,支持非分组的FP8 GEMM。分组 GEMM(连续布局):m_grouped_gemm_fp8_fp8_bf16_nt_contiguous,适用于MoE 模型的训练前向传播或推理预填充。分组 GEMM(掩码布局):m_grouped_gemm_fp8_fp8_bf16_nt_masked,适用于推理解码阶段。此外,还提供了一些辅助工具函数,例如设置最大SM 数量、获取TMA 对齐大小等。

优化技术DeepGEMM 的优化技术包括:

持久化warp 专业化:通过warp 专业化实现数据移动、Tensor Core MMA 指令和CUDA Core 提升的重叠。Hopper TMA 特性:利用Tensor Memory Accelerator(TMA)进行快速异步数据移动。统一优化的块调度器:为所有非分组和分组内核提供统一调度。完全JIT 设计:运行时即时编译,无需安装时编译,支持动态优化。未对齐块大小:针对某些形状优化SM 利用率。FFMA SASS 交错:通过修改编译后的二进制指令提升性能。如果觉得不错,欢迎点赞、在看、转发,您的转发和支持是我不懈创作的动力~

相关文章

AI工具
AI工具

AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型,支持联网搜索。

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Sass和less的区别
Sass和less的区别

Sass和less的区别有语法差异、变量和混合器的定义方式、导入方式、运算符的支持、扩展性等。本专题为大家提供Sass和less相关的文章、下载、课程内容,供大家免费下载体验。

202

2023.10.12

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1072

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

128

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1007

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

13

2026.01.19

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

703

2023.07.05

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

551

2023.07.06

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

266

2023.07.24

c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

58

2026.01.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 21.2万人学习

Django 教程
Django 教程

共28课时 | 3.5万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号