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

Triton源代码分析 - 目录

torch.compile简介

Triton相对其他DL Compiler的主要优点就是Pytorch Native + Open Source。因此在介绍Triton之前,先简单介绍一下Pytorch的torch.compile。

在Pytorch 2.x中,引入了torch.compile特性,主要包含如下4个部分:

TorchDynamo:基于Python Frame Evaluation Hook技术,实现安全的Pytorch的计算图捕获。

AOTAutograd: AOT生成计算图的反向图。

PrimTorch:规范化2000+ PyTorch Operators为250+ Primitive Operators, 极大降低了开发Pytorch后端的难度。

TorchInductor:一个Deep Learning Compiler,为多种加速器生成高性能代码。对NVIDIA和AMD GPUs, 使用OpenAI Triton编译器作为Backend。

torch.compile编译过程如下:

在图编译视角下,Pytorch的软件栈如下,Triton是Inductor的一个Codegen Backend:

Triton简介

Triton是一种为并行编程设计的语言和编译器,旨在提供一个Python-based编程环境,提升DNN compute kernels的开发效率的同时,也能最大化利用现代GPU硬件的计算吞吐能力。

Triton的编程模型抽象基于Block,和GPU传统的基于Thread的编程模型对比:

Triton Shared

原生的Triton编译器的编译管线与GPU深度绑定,微软在原生Triton的基础上,在社区贡献了triton-shared项目,对接到了MLIR的linalg Dialect,方便支持其他类型的AI加速器。

本系列文章先分析Triton-shared编译管线相关内容,后续视情况添加NVIDIA GPU编译管线相关内容,文章整理按照Dialect/Pass结构组织。

Triton Shared编译管线

待补充

Dialect目录

待补充

Pass目录

待补充

参考资料:

PyTorch 2.0: Our next generation release that is faster, more Pythonic and Dynamic as ever – PyTorch

TorchDynamo: An Experiment in Dynamic Python Bytecode Transformation - compiler - PyTorch Developer Mailing List

PyTorch 2.x

Welcome to Triton’s documentation! — Triton documentation

https://github.com/microsoft/triton-shared

http://www.lryc.cn/news/600548.html

相关文章:

  • VTK交互——CallData
  • Linux系统调用概述与实现:深入浅出的解析
  • Paimon Consumer机制解析
  • uniapp 自定义tab栏切换
  • 学习嵌入式的第三十三天-数据结构-(2025.7.25)服务器/多客户端模型
  • 服务器生成图片
  • 四大主流AI Agent框架选型梳理
  • Linux726 raid0,raid1,raid5;raid 创建、保存、停止、删除
  • haproxy配置详解
  • Node.js 模拟 Linux 环境
  • 配置DNS正反向解析
  • Spark-TTS 使用
  • oracle数据库表空间碎片整理
  • 字节跳动正式开源AI智能体开发平台Coze
  • flink查看taskManager日志
  • 【MySQL】深入浅出事务:保证数据一致性的核心武器
  • Qt 与 WebService 交互开发
  • 实现网页访问/接口调用KernelMemory
  • ACOT Buck的dc 精度问题及稳定性
  • HTML5 新特性:MutationObserver 详解
  • 最小生成树:Kruskal与Prim算法
  • C#其他知识点
  • 前端组件梳理
  • mount: /mnt/sd: wrong fs type, bad option, bad superblock on /dev/mmcblk1
  • 嵌入式硬件篇---有线串口通信问题
  • GitHub的免费账户的存储空间有多少?
  • PHP语法高级篇(六):面向对象编程
  • vue子组件关闭自己的方式(事件触发)
  • React入门学习——指北指南(第三节)
  • Netty中DefaultChannelPipeline源码解读