【AI】DeepSeek开源cuda算子库TileKernels

TileKernels 是 DeepSeek 于 2026 年 4 月 22 日 在 GitHub 开源的高性能 GPU 算子库。它不是大语言模型,而是支撑大模型训练与推理的底层基础设施------一套针对 LLM 核心操作深度优化的 CUDA Kernel 集合。


一、背景:从模型开源到基础设施开源

DeepSeek 此前以开源模型权重(V3、R1 等)闻名,但 2026 年 4 月以来,其开源策略明显转向系统级基础设施

  • 4 月中旬:开源 Mega MoE、FP4 Indexer
  • 4 月 23 日 :同步发布 TileKernels (算子库)与 DeepEP V2(MoE 通信库)

为什么要做 TileKernels?

现有高性能算子开发面临两难:

  • CUDA/CUTLASS:性能极致,但开发门槛极高(需掌握 PTX 汇编、内存层次结构、Warp 调度),一个 FlashAttention 算子往往需要 500+ 行代码
  • Triton :OpenAI 开源的 Python 式 GPU 编程语言,易用性好,但不支持国产芯片(昇腾、寒武纪等),且调度灵活性受限

DeepSeek 选择基于 TileLang (北大团队开发的国产 GPU DSL)构建 TileKernels,目标是用接近 Python 的开发效率,达到接近手写 CUDA 的性能,同时打通国产算力生态。


二、核心原理:Tile 级优化 + TileLang DSL

1. TileLang 是什么?

TileLang 是一种领域特定语言(DSL) ,核心设计理念是将算法数据流与硬件调度解耦

  • 类 Python 语法:开发者用近似数学公式的方式描述计算意图
  • 显式 Tile 抽象 :以 "Tile"(张量分块)为核心概念,直观控制数据在全局内存 → 共享内存 → 寄存器之间的流动
  • 编译器自动优化:循环展开、内存布局、流水线并行、张量核心(Tensor Core)调用由编译器自动生成
  • 跨平台:支持 NVIDIA GPU、AMD GPU、华为昇腾 NPU

性能对比 :在 H100 上,TileLang 仅用 80 行 Python 代码 实现的 MLA(Multi-Head Latent Attention)内核,性能即可与 DeepSeek 官方用 CUTLASS 手写的 FlashMLA 相当,远超 Triton 和 FlashInfer。

2. TileKernels 的优化原理

TileKernels 基于 TileLang,针对 NVIDIA SM90(Hopper)和 SM100(Blackwell) 架构的 Tile 级内存层次进行深度优化:

  • 绕过 CUTLASS:不依赖 NVIDIA 官方模板库,直接编写针对特定 Tile 形状的内存访问模式
  • 汇编级指令调优:针对 Hopper/Blackwell 的异步拷贝(TMA)、Warp 组集群(WGMMA)等新指令优化
  • 计算与带宽极限 :官方声明大多数算子的计算强度(Arithmetic Intensity)和内存带宽利用率已接近硬件理论上限

三、框架与模块组成

TileKernels 采用模块化设计,目前包含 7 大算子家族:

模块 路径 功能说明 对应 LLM 场景
Gating moe/gating MoE 路由的 Top-k 专家选择与打分 MoE 模型前向路由决策
MoE Routing moe/routing Token-to-Expert 映射、融合扩展/归约、权重归一化 MoE 全对全(All-to-All)通信前后的数据重排
Quantization quant/ FP8/FP4/E5M6 量化转换,支持 per-token/per-block/per-channel,融合 SwiGLU + Quantization 模型压缩、低精度推理、降低显存占用
Transpose transpose/ 批量转置(Batched Transpose) Attention 中的 KV Cache 重排、数据布局转换
Engram engram/ Engram Gating Kernels,融合 RMSNorm、前向/反向传播、权重梯度归约 DeepSeek 下一代架构中的 Engram 门控机制
Manifold HyperConnection mhc/ 超连接 Kernels,包含 Sinkhorn 归一化、Mix 的拆分与应用 新型架构中的动态连接/混合专家变体
Modeling modeling/ 高层 torch.autograd.Function 封装,将底层 kernels 组合为可训练层(engram gate、mHC pipeline) PyTorch 训练框架直接调用

四、用到的核心技术

技术点 说明
TileLang DSL 底层开发语言,类 Python 语法,TVM 编译器后端
TVM 编译器栈 TileLang 基于 Apache TVM,负责自动并行化、内存调度、循环优化
异步内存拷贝 (TMA) Hopper/Blackwell 硬件特性,隐藏内存延迟
WGMMA (Warp Group Matrix Multiply Accumulate) Blackwell 架构的矩阵乘加速指令
融合算子 (Fused Kernels) 将多个操作(如 SwiGLU + Quantization、RMSNorm + Gate)合并为单次 GPU 启动,减少显存搬运
混合精度计算 FP8/FP4/E5M6 低精度格式支持,提升吞吐降低显存
PyTorch Autograd 集成 通过 torch.autograd.Function 封装,无缝接入现有训练流水线

五、特点总结

特点 具体表现
性能极致 官方声明接近硬件计算强度与内存带宽极限,部分已在内部生产环境验证
硬件前沿 原生支持 NVIDIA Blackwell (SM100),同时兼容 Hopper (SM90),要求 CUDA 13.1+
代码极简 基于 TileLang,算子代码量相比 CUDA 减少 80-90%(如 FlashAttention 从 500 行降至 80 行)
国产兼容 TileLang 已适配华为昇腾、寒武纪、摩尔线程等国产芯片,TileKernels 理论上可跨平台迁移
开源协议 MIT License,可自由商用和修改
即插即用 提供 PyTorch 高层封装,无需改动模型架构即可替换原生算子

六、应用场景与战略意义

直接应用场景

  1. MoE 大模型训练与推理:Top-k Gating、Token Routing 是 MoE 架构的性能瓶颈,TileKernels 提供融合优化版本
  2. 低精度推理部署:FP8/FP4 量化算子可直接用于模型压缩和边缘部署
  3. 下一代架构研究:Engram 和 Manifold HyperConnection 模块暗示了 DeepSeek 下一代模型的架构创新方向

行业战略意义

  • 打破 CUDA 垄断 :通过 TileLang 构建不依赖 NVIDIA 工具链的算子生态,形成"DeepSeek 模型 → TileLang 工具 → 国产芯片"的闭环
  • 降低算子开发门槛:让算法研究员无需精通 CUDA 即可实现高性能自定义算子,加速稀疏注意力、新型架构等前沿探索

七、快速开始

bash 复制代码
# 环境要求:Python 3.10+, PyTorch 2.10+, CUDA 13.1+, SM90/SM100 GPU
git clone https://github.com/deepseek-ai/TileKernels.git
cd TileKernels

# 安装 TileLang 依赖
pip install tilelang>=0.1.9

# 本地开发版安装
pip install -e .

# 运行测试( correctness + benchmark )
pytest tests/transpose/test_transpose.py --run-benchmark

# 压力测试
TK_FULL_TEST=1 pytest -n 4 --count 2

一句话总结

TileKernels 是 DeepSeek 用国产 DSL(TileLang)编写的高性能 GPU 算子库,以 80 行 Python 级的开发效率,达到手写 CUDA 级的硬件性能,直接瞄准 MoE 路由、低精度量化等 LLM 核心瓶颈,并首次原生支持 NVIDIA Blackwell 架构。

相关推荐
Agent手记1 小时前
多系统集成破局:企业级智能体打通异构系统的完整解决方案 | 2026全链路落地实操
人工智能·ai
sunneo1 小时前
从“生成视频”到“生成表演”:米哈游LPM 1.0如何重新定义数字角色的“灵魂”
人工智能·ai作画·aigc·ai编程·游戏美术
云烟成雨TD1 小时前
Spring AI Alibaba 1.x 系列【36】FlowAgent 和 BaseAgent 抽象类
java·人工智能·spring
山半仙xs1 小时前
基于卡尔曼滤波的人脸跟踪
人工智能·python·算法·计算机视觉
谷歌开发者2 小时前
Build with AI 深圳场|在大湾区科技浪潮中预见 AI 未来
人工智能·科技
谁似人间西林客2 小时前
工业互联网如何驱动工艺智能?拆解高精度制造的三大技术支柱
人工智能·制造
CV-杨帆2 小时前
如何在Mac上安装Claude Code与配置Kimi Code 2.6
人工智能
菜鸟‍2 小时前
【项目】基于 YOLOv11与COCO 的目标检测项目【公开数据集 和 完整项目步骤与代码】
人工智能·yolo·目标检测
枫夜求索阁2 小时前
Hermes Agent 安装教程:对接企业微信 AI Bot
人工智能·企业微信