[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
查看原文

相似文章

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

Reddit r/MachineLearning

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

https://www.youtube.com/watch?v=aE0onltJlOo

YouTube AI Channels

该讲座介绍了GPU架构作为SIMD(向量/数组)处理器的灵活演化,讨论了数据并行性、存储体分组、体冲突、串行瓶颈以及SIMD指令历史(如MMX),强调GPU如何利用数据并行性并应对串行瓶颈。

让编写跨平台 SIMD 代码变得愉快

Lobsters Hottest

作者详细介绍了 bx 库跨平台 SIMD 抽象的第三次迭代,倡导无类型方法和 SSA 风格编码,以简化不同 CPU 架构上的底层性能优化。