学习资料
2026 夏季 InfiniTensor 训练营 Triton & 九齿 1:《Triton 练气术》
发表于:

2026 夏季 InfiniTensor 训练营 Triton & 九齿 1:《Triton 练气术》

7 月 16 日,2026 夏季 InfiniTensor 训练营 Triton & 九齿方向第一课《Triton 练气术》开讲。
本节课作为 Triton 系列课程的基石,将带你从零认识 Triton,掌握其核心并行编程模型,并通过交互式可视化习题实战,打通高性能 AI 内核开发入门路径,降低 GPU 算子开发硬件门槛。

什么是 Triton ?

  • 一门并行编程语言及其编译器
  • 专注于高效地实现高性能计算内核
  • 编程环境基于 Python

为什么需要 Triton

  • 开发效率与门槛:CUDA 需深入理解硬件细节(内存合并、共享内存、SM 调度等);Triton 屏蔽了底层线程管理,仅需关注 Block 级调度。
  • 代码量与可读性:实现同等矩阵乘法,Triton 代码量显著少于 CUDA,且逻辑更接近算法本身。

  • 性能保障:Triton 编写的 Kernel 经编译器优化后,可达官方算子库(如 cuBLAS)80%-90% 的性能,远超手写初级 CUDA 代码。
  • 最佳应用场景:新算子原型验证(如 FlashAttention)、自定义融合算子开发;极致压榨硬件上限仍首选 CUDA。

Triton 的 API

核心理念:掌握以下四个 API,即可理解 Triton 90% 的并行编程逻辑。

1. triton.language.program_id

  • 概念映射:对应 CUDA 中的 Block Index,Triton 隐藏了 Thread 层,以 Block 为基本并行单元。
  • 作用:区分不同的并行程序实例,使每个 Program 处理数据的不同分片。

2. triton.language.arange

  • 基本功能:生成 (start, end) 的递增整数向量。

3. triton.language.load

  • pointer + offsets:通过基地址指针加偏移量向量定位内存块。
  • Mask 机制:防止越界访问,仅加载满足条件的元素(关键安全措施)。
  • other 参数:指定被 Mask 掉位置的默认填充值(求和填 0,求最大值填负无穷等)。
  • 2^n 约束load 的 Block 大小必须为 2 的幂次,不足部分由 mask + other 处理。

4. triton.language.store

  • 对称设计:参数结构与 load 类似(pointervaluemask),无 other 参数。
  • 边界安全:同样依赖 mask 防止写入非法内存区域。

实践演练:Triton Puzzles

🛠️ 实践工具:基于 Triton Puzzles 开源仓库,提供 3D 可视化调试界面(仅供学习交流)。

1、基础向量运算

  • 任务:单 Block 内实现 Z = X + 10

2、多 Block 并行与边界处理

3、二维张量与 Broadcasting

4、完整二维多 Block 算子

加入训练营

📺完整课程内容,请观看直播或查看课程回放:

InfiniTensor 官网https://www.infinitensor.com

B站直播: InfiniTensor 官方直播间

视频号直播: InfiniTensor 视频号预约

答疑交流: 训练营官方社群⬇️

Description

2026 夏季 InfiniTensor 训练营《Triton 练气术》系统讲解了 Triton 并行编程语言核心知识,涵盖 DSL 特性、与 CUDA 对比优势及program_idarangeloadstore 四大基础 API。结合 Triton Puzzles 交互式实战,从向量运算到二维多 Block 算子逐步进阶,帮助开发者快速掌握 AI 高性能计算内核编写能力。

关注与交流