Triton 是 OpenAI 开发的一个**Python 级 GPU 编程编译器,可以理解为用 Python 写高性能 GPU 内核“的工具
Triton 是 OpenAI 开发的一个Python 级 GPU 编程编译器,可以理解为**“用 Python 写高性能 GPU 内核”**的工具。
国产GPU/NPU算子专用编程语言,北大杨智团队研发,DeepSeek-V3.2主力底层算子开发语言,对标CUDA、替代Triton**
1. 它是做什么的?
深度学习框架(PyTorch)里的很多操作,底层最终都要翻译成 GPU 能跑的代码(内核/kernel)。以前写这些内核需要用 CUDA C++,门槛高、调试难。
Triton 让你直接用 Python 语法写这些底层 GPU 计算逻辑,然后它自动编译成高效的 GPU 二进制代码。
2. 在 PyTorch / LLaMA-Factory 里具体干什么?
| 场景 | Triton 的作用 |
|---|---|
| Flash Attention | 大模型训练/推理的核心算子,用 Triton 实现高性能注意力机制 |
| LayerNorm、激活函数 | 各种 fused kernel(融合算子),减少显存读写 |
| torch.compile | PyTorch 2.0+ 的编译加速后端,默认用 Triton 生成优化代码 |
| LoRA/QLoRA 微调 | bitsandbytes、PEFT 等库的量化/低秩适配底层依赖 Triton |
一句话:没有 Triton,PyTorch 2.x 的很多性能优化和大模型高效训练功能会失效或大幅变慢。
3. 为什么 DCU 上要装专用版 Triton?
海光 DCU 的指令集和 NVIDIA GPU 不同,标准的 Triton 包只支持 CUDA(NVIDIA)。
triton-xxx+dtk2404...whl 是海光基于 DTK/ROCm 兼容层重新编译的 DCU 专用版本,把 Triton 的后端从 CUDA 替换成了 DCU 能识别的指令。
如果不装 DCU 版 Triton:
- Flash Attention 跑不了
torch.compile报错- LLaMA-Factory 的 QLoRA/量化训练会崩溃或 fallback 到极慢的 CPU 路径
4. 安装建议
既然你的 torch 是 dtk2404 版本,triton 也必须找同一代 DTK 编译的包:
# 去 sourcefind.cn 的 triton 目录找
wget https://download.sourcefind.cn:65024/directlink/4/triton/xxx+dtk2404-cp310-cp310-manylinux2014_x86_64.whl
版本不需要严格和 torch 一致,但必须是 DTK 24.04 编译的 DCU 版。
如果你暂时找不到 DCU 专用 Triton,LLaMA-Factory 也能跑,但 Flash Attention 加速和 torch.compile 优化会缺失,训练大模型时会慢很多、显存占用也会更高。
TileLang(俗称铁狼,你写的tielang=TileLang)
国产GPU/NPU算子专用编程语言,北大杨智团队研发,DeepSeek-V3.2主力底层算子开发语言,对标CUDA、替代Triton。
一、基础信息
- 研发方:北京大学计算机杨智副教授团队(TileAI社区),2025年1月GitHub开源,开源项目
tile-ai/tilelang。 - 定位:AI高性能算子DSL领域专用语言,专门写GPU/昇腾/寒武纪/AMD NPU底层内核(GEMM、FlashAttention、量化算子等大模型核心算子)。
- 关键落地:DeepSeek V3.2全链路改用TileLang编写算子,替换OpenAI主导的Triton;华为昇腾Day0首日原生适配、算能TPU、AMD全平台同步兼容。
二、核心特点
1. 语法:类Python,上手简单
Python风格简洁语法,不用手写CUDA繁杂线程、内存调度;
FlashAttention:原生CUDA≈500行 → TileLang仅70~80行,代码缩减80%+。
# 极简示例风格
@tilelang.jit
def gemm(A: T.Tensor, B: T.Tensor, C: T.Tensor):
# Tile分块计算,编译器自动调度硬件
2. 跨芯片一次编写、多硬件编译
一套代码可编译:
- NVIDIA CUDA(A100/H100)
- 华为昇腾AscendC
- AMD ROCm、寒武纪、壁仞国产NPU
底层基于TVM编译器架构,数据流与硬件调度解耦,编译器自动做硬件优化。
3. 性能对标CUDA,优于Triton
- H100实测:同等算子普遍优于Triton,部分算子提速2~5倍,性能持平原生CUDA手写;
- 自动Tile分块、软件流水线、内存排布优化,兼顾开发效率与硬件极限性能。
三、DeepSeek为什么选用TileLang
- 降本提速:自研算子开发周期大幅缩短,大模型训练/推理延迟下降、API算力成本降低;
- 国产算力适配刚需:DeepSeek落地国产昇腾等芯片,TileLang统一屏蔽各硬件编程差异;
- 摆脱Triton生态依赖:Triton绑定CUDA生态,TileLang自主可控、全国产算力友好。
四、安装与使用
# pip安装
pip install tilelang
# PyTorch/Paddle生态均有适配包
pip install tilelang-paddle
接入PyTorch/Paddle即可自定义高性能算子,无缝替换原生CUDA/Triton算子。
五、对标三强对比
| 语言 | 开发主体 | 生态 | 跨硬件 | 适用场景 |
|---|---|---|---|---|
| CUDA | 英伟达 | N卡独占 | 差 | N卡极致性能、开发成本极高 |
| Triton | OpenAI/NVIDIA | 优先N卡 | 一般 | 主流AI快速算子、国产芯片适配差 |
| TileLang | 北大TileAI | 全芯片兼容 | 极强 | 国产N+N卡通用、大模型算子首选 |
更多推荐




所有评论(0)