议程:

  1. 现有块指针编程模型有什么计划?(背景:英特尔 GPU 后端严重依赖它,需要时间才能完全转向张量描述符编程模型) - Jianhui Li (Intel)

  2. Triton 性能测试基础设施 - Sayce Falk (Google)

  3. 您希望在 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 会议同期举行。可能在旧金山的莫斯康尼中心(但仍需微软确认)。

  • 微软的时间表/计划是什么?

会议纪要:

录像链接此处