议程:¶
现有块指针编程模型有什么计划?(背景:英特尔 GPU 后端严重依赖它,需要时间才能完全转向张量描述符编程模型) - Jianhui Li (Intel)
Triton 性能测试基础设施 - Sayce Falk (Google)
您希望在 2025 年 Triton 开发者峰会上看到哪些讲座/教程/公开讨论?我们能提供什么帮助?Adnan Aziz (Meta)
备注:¶
现有块指针编程模型有什么计划?(背景:英特尔 GPU 后端严重依赖它,需要时间才能完全转向张量描述符编程模型)¶
发言人:Jianhui Li (Intel),Keren Zhou (George Mason Univ)
很高兴看到 Triton 正从供应商专用 TMA 转向通用张量描述符。
英特尔仍在使用旧的块指针编程模型。迁移到新的张量描述符模型需要一些时间
问题¶
问:块指针的弃用时间表是怎样的?
问:查看了代码示例。有两种形式的张量描述符。我们倾向于保留一种:CreateTensorDescriptorFromHost 为什么会有两种形式?为什么不只保留设备端的一种?
答:您想知道我们为什么有一个设备端和一个主机端。
问:张量描述符可以放在全局内存中。我们希望张量描述符驻留在设备上。
答:我们在设备上有描述符 API,因为当您从内核而不是从设备更新描述符时。
问:性能。希望限制程序员的选择。不需要启用其他编程模型。这样更容易在其他平台上支持 Triton。
答:如果只支持设备端描述符和更新,会有问题吗?
问:没有。
答:可能仍然需要保留两个 API。
问:其他供应商怎么看?
答:试试教程 0.9。练习区分了张量描述符 API,展示了不同的性能特性。
问:OpenAI 支持两种 API 吗?设备端和主机端?
答:是的。
问:移除对块指针的支持
答:是的,我提议从 Triton 中移除块指针。张量描述符支持块指针涵盖的所有用例。
问:我有一个用块指针编写的 GEMM 内核,使用设备端张量描述符重写后可以工作。张量描述符在加载时没有偏移信息,我们需要查看加载和张量描述符才能具体化块指针。过程间可以工作,因为我们可以在同一函数中重建块指针。过程内有问题,张量描述符只在调用者中,不在被调用者中(被调用者无法获取信息进行重建)
答:如果使用非内联函数,调用约定会有些混乱。
问:这令人担忧,因为我们使用了大量的块指针。
问:我们也是块指针的重度用户,并且对两种 API 都有封装器(创建块指针或张量描述符)。块指针是张量描述符的超集。只需在元组中携带加载参数。但有局限性。最低有效步幅必须为 1。所有其他步幅必须是 16 的倍数。没有使用此功能的性能敏感部分。我们使用块指针进行一些小写入,而 TMA 不支持这些。
答:块指针不能简单地降级到 TMA。我们希望有中间过程将其转换为类似于块指针的东西。
问:如果 CMA 不兼容,会降级到 TMA。
答:和 Peter 谈过了,没时间处理这个。
问:我们不介意使用哪种 API。块指针 API 的过渡计划是怎样的?时间表呢?
答:目前还没有时间表。
问:需要一个宽限期。
Triton 性能测试基础设施¶
发言人:Sayce Falk (Google),Cicie Wang (Meta),Jason Knight (Nvidia),Keren Zhou (George Mason University),Areg Melik-Adamyan (Intel)
问:近期有计划为英伟达最新硬件建立公开基准测试吗?也许通过 PyTorch 或 TorchBench。
答:Cicie Wang (Meta):Meta 与英伟达讨论了在 B200 上运行 TritonBench 的事宜。英伟达建议与 OpenAI 合作(OpenAI 有硬件)。我们现在有硬件了。来自英伟达的 Jason 正在设置 CI。第一步:让 TritonBench 在这批硬件上运行。
问:需要 DevOps/基础设施方面来设置开发运行器(设置这些机器的复杂性/安全性很高)。是否可以使用 Triton CI 中现有的 GB200 Triton 运行器。
问:你们想运行 TorchBench 吗?这在 Triton 主项目中吗?
答:可能会使用 facebookexperimental/triton 仓库。也许是第二个仓库。也许是 PyTorch 仓库?
答:也在关注 AMD MI300x 和 AMD MI350x。
问:Xu Zhao (Meta) 目前正在运行 TritonBench。
答:是的。但仅供 Meta 内部使用。目标是对外公开。
问:也许我们可以利用英特尔的后端?(对 Jason Knight 说)。
答:我们目前有 OpenAI 托管的 Triton CI,以及 PyTorch 的 CI 和性能。
问:英特尔有自己的仓库。有兴趣向共享仪表板贡献数据。
答:也许可以和 PyTorch 团队聊聊。
答:B200 的 DevOps 支持尚未启动和运行(还需要几个月)。
问:B200 托管在哪里?
答:PyTorch 基金会:所有云实例都由积分资助(Top N 云提供商)。Triton 的 CI。
答:Triton 内部有 Blackwell。我们希望有更好的资源(每种类型只有一个节点用于测试)。
问:Jason,你们有本地托管的云吗?
答:是的,但安全很难搞定。
问:PyTorch 基金会在获取 DevOps 方面的进展如何(Meta 需要研究这个问题)。
问:对回归测试更感兴趣。你们发现回归了吗?
答:英特尔通常没有看到 OpenAI 的回归(因为他们只有一周的滞后)。
问:Google XLA 经验——你们能设置这个吗?
答:是的,我们可以讨论人员/资源问题,但需要知道社区目标是什么。
问:首先进行一些性能测试和一些回归测试。(包括 Llama 4 和 MoE 算子)。
问:哪些内核和算子应该阻止发布?
问:英特尔有兴趣开发通用基准测试基础设施。
问:英特尔有兴趣开发回归测试基础设施。
问:有兴趣合作开发测试,这些测试不仅关注类似 lit 的测试,还关注 pass 中的更改如何影响生成的代码。
问:有人对此感兴趣吗?
答:也许第一步是,确定拉取请求对生成的代码影响有多大(发出信号,说明更改的影响范围)。
问:英特尔有一个实习生正在研究这个。
问:英特尔
- 如果您感兴趣,请通过 Slack 联系我们。
您希望在 2025 年 Triton 开发者峰会上看到哪些讲座/教程/公开讨论?我们能提供什么帮助?¶
发言人:Adnan Aziz (Meta)
Phil、Elena Mithra 和 Adnan Aziz 共同组织了去年的 Triton 开发者峰会。
MLIR 教程、主题演讲、封闭式后端、开源项目、英特尔在 Triton 方面的努力。
异构硬件。
超过 500 人参加!
微软将于 2025 年主办。
想法
用户教程:编写 Triton 代码、内核性能分析器
Triton 用户小组讨论:高级用户和新用户。
Keren:学术/科学领域。物理学家正在使用 Triton 进行模拟。更广泛的 HPC。
Jason:EVO 和 mosaic 讲座(拥抱共享)。Cutlass DSL,我们应该向他们学习。
Cicie:我们有提案提交流程吗?没有。我们时间很紧——10 周。有些提案因时间原因未能入选。
请向我们提供反馈。
我们承诺向微软提供流程反馈。
Triton 峰会将尝试与 PyTorch 会议同期举行。可能在旧金山的莫斯康尼中心(但仍需微软确认)。
微软的时间表/计划是什么?
会议纪要:¶
录像链接此处