DeepSeek 开源记-第3天-DeepGEMM

news/2025/2/26 15:51:27/文章来源:https://www.cnblogs.com/hug/p/18738673

DeepSeek 开源工作第3天

🚀 Day 3 of #OpenSourceWeek: DeepGEMM

Introducing DeepGEMM - an FP8 GEMM library that supports both dense and MoE GEMMs, powering V3/R1 training and inference.

⚡ Up to 1350+ FP8 TFLOPS on Hopper GPUs
✅ No heavy dependency, as clean as a tutorial
✅ Fully Just-In-Time compiled
✅ Core logic at ~300 lines - yet outperforms expert-tuned kernels across most matrix sizes
✅ Supports dense layout and two MoE layouts

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


🚀 第3天 #OpenSourceWeek:DeepGEMM

OpenSourceWeek第3天:DeepGEMM

介绍DeepGEMM-一个支持密集和MoE GEMM的FP8 GEMM库,支持V3/R1训练和推理。

⚡ Hopper GPU上高达1350+FP8 TFLOPS
✅ 没有重度依赖,像教程一样干净
✅ 完全即时编译
✅ 约300行的核心逻辑-但在大多数矩阵大小上优于专家调整的内核
✅ 支持密集布局和两种MoE布局

🔗 在GitHub上探索:https://github.com/deepseek-ai/DeepGEMM

DeepGEMM 开源项目介绍

我来详细解释下 DeepGEMM 这个项目:

1. 项目概述

DeepGEMM 是一个高性能的 GEMM (通用矩阵乘法) CUDA 实现库,专门针对 NVIDIA Hopper 架构进行了优化。主要特点:

  • 支持 FP8 (E4M3) 数据类型的矩阵乘法运算
  • 利用 Hopper 架构的 TMA (Tensor Memory Accelerator) 特性
  • 支持多种 GEMM 计算模式:普通模式、分组连续模式和分组掩码模式

2. 核心功能

  1. 基础 GEMM 实现
  • : 实现 FP8 输入和 BF16 输出的矩阵乘法
  1. 分组 GEMM 实现
  • 连续分组模式: 适用于规则分组场景
  • 掩码分组模式: 适用于不规则分组场景
  1. JIT 编译系统
  • 动态生成 CUDA 代码
  • 运行时编译优化
  • 缓存编译结果提高性能

3. 项目结构

DeepGEMM/
├── deep_gemm/              # 主要源代码
│   ├── include/           # C++ 头文件
│   ├── jit/              # JIT 编译系统
│   ├── jit_kernels/      # CUDA 核心实现
│   └── utils.py          # 工具函数
├── tests/                 # 测试用例
└── third-party/          # 第三方依赖└── cutlass/          # NVIDIA CUTLASS 库

4. 关键技术特性

  1. 硬件要求
  • NVIDIA Hopper 架构 GPU (sm_90a)
  • CUDA 12.3 或更高版本(推荐 12.8+)
  • Python 3.8+
  • PyTorch 2.1+
  1. 优化技术
  • 使用 TMA 进行高效的内存访问
  • WGMMA (Warp Group Matrix Multiply-Accumulate) 指令优化
  • 支持多种矩阵块大小配置
  • 自动调优系统

5. 使用方法

  1. 安装
python setup.py install
  1. 开发环境设置
git clone --recursive git@github.com:deepseek-ai/DeepGEMM.git
python setup.py develop
  1. 测试
python tests/test_jit.py    # 测试 JIT 编译
python tests/test_core.py   # 测试核心功能

6. 许可证

项目采用 MIT 许可证,允许自由使用、修改和分发。

这个项目的主要目标是提供一个高性能的 GEMM 实现,特别适合在 AI 训练和推理场景中使用 FP8 数据类型的情况。通过充分利用 Hopper 架构的新特性,实现了优秀的计算性能。

DeepSeek 开源组织及X账号

  • https://github.com/deepseek-ai
  • https://x.com/deepseek_ai

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/890146.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Git拉取项目并对idea,vs-code配置(图解)

方法一:在线拉取(直接拉取到本地文档,后面还有一个IDEA直接在线拉取)在gitee中找到自己要拉取的项目,点击克隆/下载 对下图标红的命令复制打开你的文档,这个文件夹(名称不为中文)自己选择(想把项目保存到哪里看自己),我这里随便新建了一个文件夹。 注意:在这…

REACT: SYNERGIZING REASONING AND ACTING IN LANGUAGE MODELS

ReAct:结合推理(COT)和行动(动作生成)。 ReAct主要内容将COT方法与ACT方法结合起来,引入了 ReAct,这是一种新的基于提示的范式,旨在将推理和行动在语言模型中协同起来,以解决通用任务。 展示了在少样本学习设置中,ReAct 相较于仅进行推理或动作生成的先前方法的优势。…

数字孪生城市:北斗网格码破解地下管网难题!

城市地下管网如同人体的“血管”和“神经”,承载着供水、供电、燃气、通信等核心功能。然而,传统管理模式长期面临“看不见、摸不着、管不好”的困境:施工误挖、管线老化、信息孤岛等问题频发,每年因管网事故造成的经济损失高达数百亿元。如何破解这一难题?北斗网格码技术…

供应链管理系统--升鲜宝收银系统功能解析,登录、主界面UI 设计图(一)

供应链管理系统--升鲜宝收银系统功能解析,登录、主界面UI 设计图(一)登录界面

振动电阻式传感器测量模块 差动电阻式 驱动与测量RM502

振动电阻式传感器测量模块 差动电阻式 驱动与测量RM502RM502模块是一款高精度、多功能的传感器驱动与测量解决方案。本产品采用先进的模拟信号处理技术,专为差动电阻式传感器及其他高精度电阻测量应用而设计。通过恒流驱动与4路实时电流测量技术,配合高精度采样电阻,有效消除…

No.13 CSS--简介

一、CSS 1.1概念CSS(Cascading Style Sheets)层叠样式表,又叫级联样式表,简称样式表。 CSS文件后缀名为 .css。 CSS用于HTML文档中元素样式的定义。1.2 作用使用css的目的就是让网页具有美观一致的页面。1.3 语法CSS 规则由两个主要的部分构成 : 选择器,以及一条或多条声明(…

Go红队开发—并发编程

Go红队开发之并发编程目录并发编程go协程chan通道无缓冲通道有缓冲通道创建⽆缓冲和缓冲通道等协程sync.WaitGroup同步Runtime包Gosched()Goexit()区别同步变量sync.Mutex互斥锁atomic原子变量SelectTicker定时器控制并发数量核心机制并发编程阶段练习重要的细节端口扫描股票监…

【DeepSeek部署实战】正点原子RK3588开发板本地化部署DeepSeek R1 大模型视频教程来啦!

【视频发布】正点原子RK3588开发板本地化部署DeepSeek R1 大模型视频系列视频教程来啦!一、课程内容 承接上一次板端部署DeepSeek R1大模型的文档教程,应粉丝们的要求,本次推出视频教程,手把手教学实现端侧部署,无需依赖云端服务器即可本地化处理数据,功耗更低、成本更优…

接口新特性--java进阶day03

1.接口新特性 在JDk8和JDK9开始,接口可以定义普通方法这时就会感到很奇怪,明明之前说好接口只是用来制定规则的,为什么现在又可以定义普通方法了呢? 我们以一个公司案例进行讲解,公司1.0上线了接口,之后有新项目,要更新接口,但我们都知道,接口如果写了新的方法,之前所…

MySQL之navicat使用

1、下载navicat 包2、解压 3、找到navicat.exe 4 .密钥:NAVH-WK6A-DMVK-DKW3 5、查看ip地址6、关闭防火墙:ervice iptables stop7、连接配置编写 8、点击确定连接,显示如下 9、打开查询中,新建查询10、解决问题: 注意点:如果连接不上 1、关闭防火墙 service iptables …

Powershell实现圆缩小放大 (实时刷新窗口)

使用Powershell,创建实时刷新的窗口,绘制图形,这里以圆作为例子,做缩小放大动画。【分析】 Powershell是windows内置的自动部署平台,功能强大在于可以调取.net框架,因此,即使没有Opengl加持,也可以创建实时刷新的窗口。可以调用windows.Form程序集创建窗口,然后调用Sy…

LGP8125 [BalticOI 2021] The short shank 学习笔记

LGP8125 [BalticOI 2021] The short shank 学习笔记 Luogu Link 题意简述 有一列 \(N\) 个元素,第 \(i\) 个元素初始值 \(t_i\),而后会被更新为 \(\min_{j=lb=1}^{rb=i} t_j+(i-j)\)。现在给你 \(D\) 个隔板,如果在第 \(i\) 个和第 \(i+1\) 个之间放置,则有效果:\(\forall…