文件最后提交记录最后更新时间
资料示例代码修正 Co-authored-by: 镜心<wangyungfei@h-partners.com> # message auto-generated for no-merge-commit merge: !4777 merge example_bf16 into master 资料示例代码修正 Created-by: mirror-center Commit-by: 镜心 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!47771 个月前
fix A5 ringAttentionUpdate example error Co-authored-by: sanhaonvqingnian<wujiali7@huawei.com> # message auto-generated for no-merge-commit merge: !4422 merge ring_attention_update_example into master fix A5 ringAttentionUpdate example error Created-by: sanhaonvqingnian Commit-by: sanhaonvqingnian Merged-by: cann-robot Description: ## 描述 A5上example执行报错,因为example中输入actualSeqLen不合法,修复example问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!44221 个月前
匹配最新cann版本,上线新版本attention/ffn/moe/posembedding算子 Co-authored-by: huangchuhong<huangchuhong1@h-partners.com> # message auto-generated for no-merge-commit merge: !538 merge master into master 匹配最新cann版本,上线新版本attention/ffn/moe/posembedding算子 Created-by: huang-chuhong Commit-by: huangchuhong Merged-by: cann-robot Description: ## 描述 transformer 同步算子最新开发,涉及attention/ffn/moe/posembedding ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/315 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!5385 个月前
整改遗漏的OP_LOGE日志 Co-authored-by: LuckySun<sunwenlong8@huawei.com> # message auto-generated for no-merge-commit merge: !5101 merge 0509 into master 整改遗漏的OP_LOGE日志 Created-by: LuckySun Commit-by: LuckySun Merged-by: cann-robot Description: ## 描述 整改遗漏的OP_LOGE ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/2108 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [x] ❓ 其他,请描述:日志整改 See merge request: cann/ops-transformer!510118 天前
add kirin9030 ops Co-authored-by: zengjuan<zengjuan2@huawei.com> # message auto-generated for no-merge-commit merge: !1118 merge master into master add kirin9030 ops Created-by: zengjuan Commit-by: zengjuan Merged-by: cann-robot Description: ## 描述 add kirin9030 ops: attention/nsa_compress_with_cache attention/nsa_selected_attention_infer attention/ring_attention_update ffn/ffn ffn/swin_attention_ffn ffn/swin_transformer_ln_qkv ffn/swin_transformer_ln_qkv_quant gmm/grouped_matmul gmm/grouped_matmul_swiglu_quant moe/moe_compute_expert_tokens moe/moe_finalize_routing moe/moe_finalize_routing_v2 moe/moe_re_routing moe/moe_token_unpermute moe/moe_token_unpermute_with_ep moe/moe_token_unpermute_with_routing_map posembedding/apply_rotary_pos_emb posembedding/dequant_rope_quant_kvcache posembedding/interleave_rope posembedding/kv_rms_norm_rope_cache posembedding/rope_quant_kvcache posembedding/rope_with_sin_cos_cache posembedding/rotary_position_embedding ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/671 ## 测试 蓝区门禁、黄区门禁、算子二级冒烟 ## 文档更新 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!11183 个月前
nsa_compress/nsa_compress_grad/ring_attention_update 补充ut用例 Co-authored-by: Your Name<you@example.com> # message auto-generated for no-merge-commit merge: !5762 merge ut_update into master nsa_compress/nsa_compress_grad/ring_attention_update 补充ut用例 Created-by: mirror-center Commit-by: Your Name Merged-by: cann-robot Description: ## 描述 本次PR主要是修改nsa_compress/nsa_compress_grad/ring_attention_update的ut框架,适配当前仓库新框架并新增op_tiling用例 ## 关联的Issue 关联Issue [#2605](https://gitcode.com/cann/ops-transformer/issues/2605) ## 测试 ![image.png](https://raw.gitcode.com/user-images/assets/7673863/ced523af-7c2e-4d15-9c99-d14cee3f073a/image.png 'image.png') ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [x] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!57626 天前
匹配最新cann版本,上线新版本attention/ffn/moe/posembedding算子 Co-authored-by: huangchuhong<huangchuhong1@h-partners.com> # message auto-generated for no-merge-commit merge: !538 merge master into master 匹配最新cann版本,上线新版本attention/ffn/moe/posembedding算子 Created-by: huang-chuhong Commit-by: huangchuhong Merged-by: cann-robot Description: ## 描述 transformer 同步算子最新开发,涉及attention/ffn/moe/posembedding ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/315 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!5385 个月前
wsl_transformer_readme修改 Co-authored-by: wang_shuli<wangshuli6@h-partners.com> # message auto-generated for no-merge-commit merge: !2329 merge master into master wsl_transformer_readme修改 Created-by: wang_shuli Commit-by: wang_shuli Merged-by: cann-robot Description: ## 描述 算子代码中数据类型跟readme文件中所支持的数据类型不一致 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/1062 ## 测试 ## 文档更新 更新了README.md文件。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!23292 个月前
README.md

aclnnRingAttentionUpdate

支持的产品型号

产品 是否支持
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Kirin X90 处理器系列产品
Kirin 9030 处理器系列产品

功能说明

  • 算子功能:将两次FlashAttention的输出根据其不同的softmax的max和sum更新。

  • 计算公式:

    softmax_max=max(prev_softmax_max,cur_softmax_max)softmax\_max = max(prev\_softmax\_max, cur\_softmax\_max)

    softmax_sum=prev_softmax_sum∗exp(prev_softmax_max−softmax_max)+exp(cur_softmax_max−softmax_max)softmax\_sum = prev\_softmax\_sum * exp(prev\_softmax\_max - softmax\_max) + exp(cur\_softmax\_max - softmax\_max)

    attn_out=prev_attn_out∗exp(prev_softmax_max−softmax_max)/softmax_sum+cur_attn_out∗exp(cur_softmax_max−softmax_max)/softmax_sumattn\_out = prev\_attn\_out * exp(prev\_softmax\_max - softmax\_max) / softmax\_sum + cur\_attn\_out * exp(cur\_softmax\_max - softmax\_max) / softmax\_sum

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
prevAttnOut 输入 公式中的prev_attn_out。第一次FlashAttention的输出。输入shape和inputLayoutOptional属性保持一致。当输入数据排布inputLayoutOptional为TND时,D限制为64的倍数。 FLOAT、FLOAT16、BFLOAT16 ND
prevSoftmaxMax 输入 公式中的prev_softmax_max,第一次FlashAttention的softmax的max结果,输入shape为(B,N,S,8)或(T,N,8),最后一维8个数字相同,且需要为正数。此处B为batch size,N为head number,S为sequence length,T为time。 FLOAT ND
prevSoftmaxSum 输入 公式中的prev_softmax_sum,第一次FlashAttention的softmax的sum结果,输入shape和prevSoftmaxMax保持一致,最后一维8个数字相同,且需要为正数。 FLOAT ND
curAttnOut 输入 公式中的cur_attn_out,第二次FlashAttention的输出,数据类型和输入shape和prevAttnOut保持一致。当输入数据排布inputLayoutOptional为TND时,D限制为64的倍数。 FLOAT、FLOAT16、BFLOAT16 ND
curSoftmaxMax 输入 公式中的cur_softmax_max,第二次FlashAttention的softmax的max结果,输入shape和prevSoftmaxMax保持一致,最后一维8个数字相同,且需要为正数。 FLOAT ND
curSoftmaxSum 输入 公式中的cur_softmax_sum,第二次FlashAttention的softmax的sum结果,输入shape和prevSoftmaxMax保持一致,最后一维8个数字相同,且需要为正数。 FLOAT ND
actualSeqQlenOptional 可选输入 从0开始的sequence length的累加,数据类型支持INT64。当数据排布inputLayoutOptional为TND时,需要传入该参数,这是一个从0开始递增至T的整数aclTensor。 INT64 ND
inputLayoutOptional 属性 attn_out相关输入的数据排布。当前支持“TND”和“SBH”。 STRING -
attnOutOut 输出 公式中的attn_out,通过两次结果更新后的输出,数据类型支持FLOAT16、FLOAT、BFLOAT16,数据类型和输出shape和prevAttnOut保持一致。 FLOAT、FLOAT16、BFLOAT16 ND
softmaxMaxOut 输出 公式中的softmax_max,通过两次结果更新后的softmax的max,数据类型支持FLOAT,输出shape和prevSoftmaxMax保持一致。 FLOAT ND
softmaxSumOut 输出 公式中的softmax_sum,通过两次结果更新后的softmax的sum,数据类型支持FLOAT,输出shape和prevSoftmaxMax保持一致。 FLOAT ND
  • Kirin X90/Kirin 9030 处理器系列产品: 不支持BFLOAT16。

约束说明

  • 当inputLayoutOptional为“TND”时,prevAttnOut的最后一个维度需要为64的倍数。
  • 当inputLayoutOptional为“TND”时,actualSeqQlenOptional为必填。
  • 当inputLayoutOptional为“TND”时,请注意N*D的大小,限制为: (N * D)向上对齐64的结果 * (attention的输入数据类型的大小 * 6 + 8) + (N * 8)向上对齐64的结果 * 56 <= 192 * 1024,数据类型大小:FLOAT为4,FLOAT16和BFLOAT16为2。若大小超过限制,会有相应拦截信息出现。

调用说明

调用方式 调用样例 说明
aclnn调用 test_aclnn_ring_attention_update 通过aclnnRingAttentionUpdate接口方式调用RingAttentionUpdate算子。