#9 · 主分类: GPU 计算框架

metal-flash-attention

artificial-intelligence attention-mechanism high-performance-computing metal software-engineering stable-diffusion transformer-models

FlashAttention(Metal 移植版)

项目最后更新:09/22/24

GitHub Stars

613

Forks数量

41

贡献者数量

4

许可证

MIT

收录理由

这个项目把 FlashAttention 算法移植到 Apple 芯片的 Metal 上,代码本身和工程笔记都值得细读。实现保持精简,是一组 Swift 源码,运行时 JIT 编译,而不是预编译的二进制。README 把各种硬性取舍讲得很透。Apple 硬件没有原生 FP32 原子操作,加上寄存器压力,迫使作者重新设计了反向传播:拆成独立的 dQ 和 dK/dV 内核,用更多 GEMM 换来了注意力矩阵两个维度上的完全并行化。性能数据用每秒十亿指令数(GI/s)对照 roofline 模型给出,而不是裸的 GFLOPS——在 M1 Max 上稳定跑到 4400 GI/s,ALU 利用率 83%。这个数字给了你一个具体参照,可以判断自己的 Metal shader 是否浪费了 ALU 吞吐。寄存器溢出和分块策略,对任何想把 CUDA 注意力内核搬到 Apple GPU 的人,都有直接借鉴意义。

相关文章

暂无针对该项目的文章。

如需补充新闻资讯、使用教程、应用测评等内容,欢迎 联系我们推荐选题或投稿。

同类热门项目