【昇腾CANN训练营】码力全开特辑领航员学习笔记-FlashAttention
收藏回复举报
【昇腾CANN训练营】码力全开特辑领航员学习笔记-FlashAttention
发表于2025-03-19 13:32:34
0 查看

1.对码力全开特辑课程的建议:

官网的好像无法回放,其他都挺好。

2.笔记记录

FlashAttention算子开发

一、核函数特性介绍

1、CV流水设计

cke_4458.png

二、Kernel实现逻辑

1、C侧提前发射实现CV并行

multiCoreInneroffset 当前核要处理的数据即时偏移地址

multiCoreInnerLimit 当前核要处理的数据尾块位置

+2 cube提前发射

cke_9189.png

CV算力配比1:16

Vector1的tiling基本块为8*1024

cke_38573.png

三、Kernenl代码详解

cke_47849.png

1 初始化GM上输入输出地址,获取tiling切分参数:

cke_62572.png

2 根据tiling切分参数,计算并设置单核在cube1、vector1、cube2、vector2各阶段gm上workspace输出空间地址

cke_103683.png

3 根据tiling切分参数,计算各阶段获取地址偏移计算相关参数

cke_134575.png

初始化UB资源InitBuff()

cke_148806.png

FA计算Process()

cke_160538.png

cke_162829.png

四、算子部署调用

执行bash build.sh。在build_out目录下执行./custom_opp_xxx_xxx.run

cke_195073.png

本帖最后由 匿名用户2025/04/25 09:52:51 编辑

我要发帖子