当前位置: 首页 > news >正文

零基础学Triton(1) Triton还需要学习吗?

Triton 是OpenAI开发的一种开源语言和编译器,旨在简化GPU编程。它可以看做是构建在CUDA之上的一个抽象层,允许开发者使用类似Python的语法来编写高性能算子,而无需直接处理CUDA的底层复杂性。

尽管在极致优化的情况下,Triton性能不及CUDA。但在通用性和易用性上,碾压CUDA。

在通用性上,Triton支持除CUDA外的其他后端,例如AMD的ROCm,CPU后端等。

在易用性上,利用python语法、支持自动化内存合并、线程调度、并行策略等功能,确保开发者重点关注算法本身。

在大模型方向,推理算子已经逐渐收敛,像FlashAttention、FlashInfer都开源了,那还需要学习Triton吗?本人认为还是需要的。

学习Triton,会逐渐加深对GPU、并行计算的理解;vLLM和SGLang的算法还是用Triton来实现的,更好地向优秀开源工作看齐;人工智能领域除了大模型,还有很多其他方向,它们也需要被推理算法洪水漫溉一波。

本人将在持续分享学习Triton、实现算法的历程。

经过一段时间查资料,收集了Triton的相关教程,共同学习,共同进步。

cs336课程

https://stanford-cs336.github.io/spring2025/ 

建议逐帧观看GPUs (Tatsu)和Kernels, Triton (Tatsu)课程

Triton-Puzzles

https://github.com/srush/Triton-Puzzles/tree/main 

Triton小练习,包括加法、乘法、softmax操作。

Triton-Puzzles-Lite

https://github.com/SiriusNEO/Triton-Puzzles-Lite 

Triton小练习,相较Triton-Puzzles更加简化。

triton-index

https://github.com/gpu-mode/triton-index 

triton代码的索引库,将大模型常用算子链接到对应的代码库

Liger-Kernel

https://github.com/linkedin/Liger-Kernel 

linkedin领英开源的算子库,辅助LLM高效训练。算子包括RMSNorm、CrossEntropy、Fused Linear CrossEntropy等

attorch

https://github.com/BobMcDear/attorch 

用Triton实现的Pytorch算子,包括卷积(Conv1d、Conv2d等)、池化(AvgPool1d、AvgPool2d等)、激活函数(Relu、Sigmoid等)

FLASHNN

https://github.com/AlibabaPAI/FLASHNN 

阿里维护的Triton算子库,实现attention模块相关的算子,以及支持多种量化技术(int8、int4等)

gemlite

https://github.com/mobiusml/gemlite 

聚焦矩阵乘法的算子库

kernl

https://github.com/ELS-RD/kernl

包括大模型领域常用的算子,提供了详细教程

LinearCrossEntropyLoss

https://github.com/JonasGeiping/linear_cross_entropy_loss 

合并linear和cross entropy loss算子,降低linear层的logit显存占用

高性能计算与分布式

https://www.zhihu.com/column/c_1426666301352218624 

知乎专栏,详细介绍triton的各种应用

http://www.dtcms.com/a/297980.html

相关文章:

  • Tailwind CSS 自定义工具类与主题配置指南
  • U盘提示格式化怎么取出里面的文件
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘streamlit’问题
  • OpenTelemetry学习笔记(十二):在APM系统中,属性的命名空间处理遵循规则
  • React框架的Ant Design漫游组件的使用
  • AKS部署.Net Shopping
  • 关于网络模型
  • ElastAlert通过飞书机器人发送报警通知
  • 三、操作系统——第2章:CPU
  • 数学专业转型大数据发展指南
  • Linux网络框架分析
  • 用毫秒级视频回传打造稳定操控闭环之远程平衡控制系统技术实践
  • Qt 多媒体开发:音频与视频处理
  • DNS 协议
  • 服务器安装虚拟机全步骤
  • MRDIMM对服务器总体拥有成本(TCO)影响的系统性分析
  • Oracle不完全恢复实战指南:从原理到操作详解
  • OpenCV 图像变换全解析:从镜像翻转到仿射变换的实践指南
  • Undertow 可观测性最佳实践
  • 医疗器械:DFEMA和PFEMA
  • 【嵌入式汇编基础】-ARM架构基础(二)
  • 锁相环技术简介(面向储能变流器应用)
  • 从Taro的Dialog.open出发,学习远程控制组件之【事件驱动】
  • Langchain学习——PromptTemplate
  • Class21卷积层的多输入通道和多输出通道
  • 基于纳米流体强化的切割液性能提升与晶圆 TTV 均匀性控制
  • 轻量级音乐元数据编辑器Metadata Remote
  • [NPUCTF2020]ReadlezPHP
  • iOS —— 天气预报仿写总结
  • SQL164 2021年11月每天新用户的次日留存率