热门话题
#
Bonk 生态迷因币展现强韧势头
#
有消息称 Pump.fun 计划 40 亿估值发币,引发市场猜测
#
Solana 新代币发射平台 Boop.Fun 风头正劲
最后,在几天的阅读文档或调试线程索引后,我终于能够在MI300X上从头实现DSC中的闪存注意力!
第一个版本(橙色)是来自原始闪存注意力论文的基本标量版本。
第二个版本(绿色)是相同的算法,但使用矩阵核心(AMD张量核心),正如你所看到的,这比标量版本*显著*快。
我使用矩阵核心计算Sij = Qi @ Kj^T和Pij @ Vj。
一些AMD矩阵核心的“注意事项”:
- 它们在每个波前的基础上工作,而一个波前在AMD上是64个线程,这意味着你必须跟踪当前波的ID以及该波内线程的ID。
- 由于矩阵核心的核心操作是4x1外积,输出布局将在寄存器中被打乱,因此需要一个重新排序步骤。
- (据我所知)矩阵核心的hipcc内在函数没有任何文档。AMD有一个包含许多示例的仓库,但除此之外,你必须grep LLVM代码库。
我现在要润色我的代码,然后可能会写一篇关于AMD闪存注意力的更深入的文章。
哦,顺便说一下,感谢@HotAisle让这一切成为可能!

热门
排行
收藏

