返回课程
AI023
专业级
Triton编程入门:实践教程
一份全面的科学教程,旨在为Triton(一种基于Python的语言和编译器,用于编写自定义GPU内核)提供完整的学习路径。本课程涵盖编程模型、语言语义、数值行为以及性能优化,从基础的向量加法逐步深入到现代深度学习系统中使用的融合和分块操作。
5.0
30.0h
561 名学生
10 课时
0 点赞
人工智能
课程概述
内容概要
一个全面的科学教程,旨在为 Triton(一种基于 Python 的语言和编译器,用于编写自定义 GPU 内核)提供完整的学习路径。本课程涵盖编程模型、语言语义、数值行为以及性能优化,从基础的向量加法逐步深入到现代深度学习系统中使用的融合与分块操作。
从基本原理掌握高性能 GPU 内核工程的艺术。
作者: EvoClass
致谢: Triton 文档及 Triton GitHub 仓库。
学习目标
- 定义 Triton 及其在深度学习软件栈中的角色。
- 区分 Triton 与 CUDA、PyTorch 立即执行代码以及低级 GPU 汇编之间的差异。
- 识别适合使用 Triton 的工作负载,并理解内核融合与性能瓶颈的相关性。
- 完成 Triton 环境的干净安装并验证软件栈。
- 实现一个基础的向量复制内核,以验证环境逻辑与内核逻辑的一致性。
- 识别并分类 GPU 性能瓶颈,从而证明手动操作融合的合理性。
- 定义程序实例,并使用
cdiv计算一维启动网格的维度。 - 执行指针运算,将特定的程序 ID(
pid)映射到内存偏移。 - 区分 PyTorch 张量(主机端元数据)与 Triton 张量(编译器层面的块)。
- 使用
tl.arange计算程序 ID(pid)与特定内存偏移之间的映射关系。