[P] 读了太多架构手册后,我构建了一个可移植的GPU ISA [P]

Reddit r/MachineLearning 工具

摘要

一个名为WAVE的可移植GPU ISA,将内核编译为通用二进制文件,并翻译成特定厂商的后端(Metal、PTX、HIP、SYCL),已在多个GPU上验证结果。

我一直在业余时间阅读GPU架构文档。NVIDIA PTX、AMD ISA参考指南、Intel Xe、反向工程得到的Apple GPU资料。跨越16种微架构,超过5000页。过了一段时间,你会发现所有四家厂商都在做同样的11件事,只是名称不同。于是,我编写了一份涵盖所有这些的规范,并围绕它构建了一个工具链。它叫WAVE。你只需编写一次内核,它就会被编译成一个可移植的二进制文件,然后通过轻量级后端将其转换为Metal、PTX、HIP或SYCL。同一个二进制文件已在Apple M4 Pro、NVIDIA T4和AMD MI300X上验证通过。我的合著者Onyinye构建了PyTorch集成,并在所有后端上获得了相同的训练结果。请上GitHub点星:[https://github.com/Oabraham1/wave](https://github.com/Oabraham1/wave) 预印本:[https://arxiv.org/abs/2603.28793](https://arxiv.org/abs/2603.28793) 阅读完整文档及构建过程:[https://wave.ojima.me](https://wave.ojima.me) pip install wave-gpu
查看原文

相似文章

Rust 中的 GPU 卸载:可移植、安全且快速

Hacker News Top

本文介绍了一种零开销、多厂商的 GPU 编译框架,该框架内置于 Rust 编译器中,利用 Rust 的所有权模型确保内存安全,并实现与原生 CUDA 和 HIP 基准相媲美的性能。

一个可定制的编译器,用于为AI模型生成高效的融合GPU内核 [P]

Reddit r/MachineLearning

作者介绍了一款用 Python 编写、高度可定制且易于修改的 ML 编译器。该编译器通过多级 IR 流水线将 LLMs 转换为优化的 CUDA 内核,在特定操作上实现了与 PyTorch 相当甚至更优的性能。文章详细阐述了该编译器的优化过程、降级规则以及用于生成高效融合 GPU 内核的 CLI 用法。

FMAG:单指令GPU虚拟机与工具链

Lobsters Hottest

FMAG是一个单指令(带保护的融合乘加)GPU虚拟机,消除了线程分歧,允许在GPU上高效地逐元素解释任意程序。它包含用于编写和运行此类程序的工具链和库。