aclnnRingAttentionUpdateV2
产品支持情况
功能说明
- 算子功能:将两次FlashAttention的输出根据其不同的softmax的max和sum更新。与接口的区别是:在输入排布为TND的场景下,原RingAttentionUpdate接口中的softmax相关输入的数据排布为BNS8,RingAttentionUpdateV2 接口支持传入字符串参数 inputSoftmaxLayout,用于控制 softmax 相关输入的数据排布是否与attention保持一致(即采用 TND 排布)。
- 计算公式:
函数原型
- 每个算子分为,必须先调用“aclnnRingAttentionUpdateV2GetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnRingAttentionUpdateV2”接口执行计算。
[object Object]
[object Object]
aclnnRingAttentionUpdateV2GetWorkspaceSize
aclnnRingAttentionUpdateV2
约束说明
- 确定性计算:
- aclnnRingAttentionUpdateV2默认确定性实现。
- 当inputLayoutOptional为“TND”时,prevAttnOut的最后一个维度需要为64的倍数。
- 当inputLayoutOptional为“TND”时,actualSeqQlenOptional为必填。
- 当inputLayoutOptional为“TND”时,请注意N和D的大小,限制为:N<=256, D<=768。
- 当inputLayoutOptional为“TND”时,inputSoftmaxLayoutOptional才生效。inputSoftmaxLayoutOptional只支持三种输入:空字符串、“SBH”、“TND”
调用示例
[object Object]