dsa实现pingpong buffer容易,llm训练也如此?

1个回答

写回答

jklpl

2026-01-29 22:00

+ 关注

同学
同学

在DSA(特定架构)上,实现pingpong buffer并不难,甚至能够进行3 buffer或者4 buffer的流水操作。就我们实现的版本而言,2 buffer在某些形状(shape)下,矩阵利用率能达到90%以上,最低可能也有75%的利用率,mask版本则最低约为60%的利用率。GPU需要在warp(线程束)之间切换,并且要配合硬件的动态寄存器分配能力,而DSA是在SRAM(静态随机存取存储器)中进行多buffer数据交互,一般来说,其核内的SRAM比GPU的大,比如昇腾910的是1.5M。另外,DSA的计算单元执行是异步非阻塞的,虽然在很多DSA架构上同步可能需要手动控制,比较麻烦,但考虑到FA(可能是某个功能或者模块)这么关键,人工编写代码实现一下也是可以的。

不过,从DeepMind对llm各部分flops的统计来看,softmax最多也就占整个网络的0.6%,attention占比也只有几个点,大部分还是在mlp那里。论文虽说能加速1.5倍或者2倍,但算到整个网络的百分比,提升的也没多少。想问下真正做llm训练的同学,实际情况是这样吗?

举报有用(0分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号