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

  1. 降本提速:自研算子开发周期大幅缩短,大模型训练/推理延迟下降、API算力成本降低;
  2. 国产算力适配刚需:DeepSeek落地国产昇腾等芯片,TileLang统一屏蔽各硬件编程差异;
  3. 摆脱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卡通用、大模型算子首选
Logo

免费领 150 小时云算力,进群参与显卡、AI PC 幸运抽奖

更多推荐