议程:¶
项目:¶
Gluon 更新 (Jeff Niu, OpenAI)
关于夜间性能回归测试套件的兴趣与需求 (Simon Waters, kernelize.ai)
Triton 开发者峰会更新 (Ofer Dekel, 微软)
其他议题的自由发言环节。
会议纪要:¶
会议录像链接 在此
Triton 开发者峰会更新 (Ofer Dekel, 微软)
第三届年度 Triton 开发者大会
2025年10月21日 (旧金山 PyTorch 大会前一天)
地点:微软硅谷园区,加州山景城
可能会有从旧金山到山景城的巴士 (即将发布调查问卷)
会场礼堂最多可容纳500人。
欢迎所有对 Triton 感兴趣的人士、开发者、从事扩展开发的开发者等参加。
注册网站即将上线!(可能在一周内)。
演讲 (拟定)
英伟达 (Nvidia) - Blackwell 优化
AMD - MI300/MI350
OpenAI - Gluon
微软/领英 (Microsoft/LinkedIn) - Liger-kernel
字节跳动 (ByteDance) - Triton distributed
Meta - Helion
GPU mode - 社区演讲
以及更多精彩内容!
邀请函将在网站上提供。
问:是否会有像如何编写内核或进行性能分析之类的教程?
答:没有计划。日程已排满过去一年的新技术(正与 Phil 合作制定议程)。也许明年我们应该扩展到两天。这是为专业人士举办的大会。它是否也应该面向非专家?我们的目标是那些了解并沉浸在 Triton 世界中的人。
答:应该有关于 Proton 等工具以及性能指南的演讲。希望人们能够复现他们的结果。
问:去年的参会者包括 Triton 开发者和 Triton 用户,但感觉议题更偏向于开发者,旨在吸引人们做出贡献。今年有计划为用户提供内容吗?
答:前两个演讲是关于 Triton 内部原理的。其他演讲包括一些对用户也应该会感兴趣的工具(如 Liger、triton-distributed、Helion 和 GPU mode)。了解底层原理对用户也会有帮助。
问:Triton 大会有社交环节吗?
答:全天都是演讲,期间有茶歇、午餐和欢乐时光等非结构化的社交互动。没有计划安排结构化的社交活动(如分组讨论)。但一切仍在规划中。欢迎就其他社交活动提出建议(请将想法发送给 Ofer)。
问:GPU mode 是由 Mark Saroufim 领导的吗?
答:是的。
问:是否有与 PyTorch 大会联合举办的 Triton 教程或研讨会?
答:没有。除了在地理位置和时间上很接近之外。希望参加 PyTorch 大会的人能提前一天来参加 Triton 大会。
Gluon 更新 (Jeff Niu, OpenAI)
一种基于与 Triton 相同编译器技术的更底层的语言。
暴露更多对布局、调度和内存的控制。绕过中间层,直接通向后端。
仍然可以使用基于 tile 的编程方式。
向用户暴露更多 GPU 的细节。
为什么需要 Gluon?开箱即用的最佳性能只能达到 80% 左右。编译器在充分利用硬件方面面临挑战(硬件复杂性)。
目标
更好的寄存器和内存布局
Warp 专用化分区和循环调度
Gluon - 一种用于 GPU 的系统编程语言。
暴露底层硬件细节
基于 tile 的抽象
无全局状态管理
权衡与取舍
无法跨硬件平台移植
你需要具备硬件知识
编写难度更大
实现
@peterbell10 完成了大部分工作。
专注于 Blackwell,但也提供部分 H100 支持
示例:在 B200 上实现 FMHA
仍然比 cudnn 慢
但比开箱即用的 Triton 好得多。
未来工作
仍处于高度实验阶段
需要更好的布局管理功能
目前不打算接受外部贡献
问:Gluon 是针对特定类型的 GPU。那么其他 GPU 或不同代际的 GPU 怎么办?
答:不需要重写所有东西。但要在新一代 GPU 上获得最佳性能,是的,你需要进行重写。内核有很多附加功能。Triton 内核程序是对内核应做什么的声明式规范。Triton 编译器会找出如何让这个规范高效运行。而使用 Gluon,你需要自己来做这件事。
问:未来,某些算子会用 Gluon 实现而不是在编译器中实现吗?例如,将 tl.histogram 编写为 Gluon 内核。
答:可能不会。Triton 的算子是 tile 级别的。这些在 Gluon 中没有暴露。Gluon 和 Triton 之间互操作的想法是存在的,但可能不会实现。
问:将调度等责任推给内核编写者,有没有考虑过提供一些工具来指导他们,比如时间线视图?
答:1) 使用 Proton 进行内核内性能分析(非常重要,NCU 停顿计数就是一个可能不在关键路径上的例子)和复杂的依赖图。2) 在 Gluon 中有更多函数调用,但在 cuda gdb 中看不到它们。工具需要跟上,我们期望它能做到。
问:为热循环编写微内核。这是你对互操作的设想吗?
答:不,我们还没想那么多。如果你有一个很大的内核,可能会考虑,但我们的内核都很小,所以不值得。
问:关于 AMD 和其他处理器与 Gluon 的结合。
答:对于 AMD,只需添加绑定和 Python 代码即可。但这还为时过早,我们目前正专注于在 Blackwell 上执行。
关于夜间性能回归测试套件的兴趣与需求 (Simon Waters, kernelize.ai)
Brian Bowyer (kernelize.ai)
夜间性能持续集成 (CI)。过去我们在 AMD 从事 Triton 编译器工作时也做过同样的事情。
我们注意到,几乎每天晚上都会因为白天的代码变更而出现性能衰退。
如果你不知道变更对不同硬件、不同版本和不同数据类型的影响,就很难进行性能优化。
向社区的请求
从哪里获取运行所需的资源
公司内外皆可
数据存储在哪里
在建立和运行 CI 及运维方面寻求帮助。
来自 kernelize.ai 的提议
基于 NoSQL 的云存储
在公有云上建立流水线
使用 torchbench 存储测试
可视化:https://triton-bench.ai (目前包含的是虚假数据)
在 discord 上提问
在 AWS 上运行(作为开始)
仪表板演示
可个性化定制
深入研究算子/硬件随时间变化的性能
详细视图/导出功能。
请求
kernelize.ai 可以提供人力
我们需要社区帮助分担成本(运行测试)
内核/数据类型/硬件。
问:关于自托管的运行器。如何安全地运行?
答:像 cron 一样管理它。也就是说我们会进行调度。我们有在安全云执行方面经验丰富的合作伙伴。
问:你们有实时数据吗?
答:是的,有 10 个来自 tritonbench 的测试,但只是作为冒烟测试。我们真正想知道的是应该运行哪些测试。
问:商业模式是什么?
答:这是为社区服务的,旨在完全公开。
问:在 Blackwell 上运行测试很有挑战性。
答:虽然昂贵,但我们有渠道。亚马逊要求你购买一个时间块。
问:谁来为此付费?
答:我们正在寻求社区的支持。希望从社区获得资金或资源。
问:如果不同公司的硬件平台看起来不一样怎么办?
答:我们需要与大家合作,弄清楚记录哪些信息是有意义的,比如频率锁定、操作系统等。(这些可以线下讨论)。
问:Meta 的 Tritonbench 托管在谷歌云上的 PyTorch 开源配额中,并使用 PyTorch 的自动扩缩容功能。还有用户界面。希望能进行 A/B 测试。运行实验性的分支/代码库,以发现性能衰退/提升。
答:我看到 tritonbench 中有这个功能。
将会在 Slack 和 Discord 上发布
其他议题的自由发言环节。
无其他议题。
会议纪要:¶
会议录像链接 在此