已合并
增加zh路径,修改对应算子说明链接 #451
赵臣臣创建于 2025年12月8日
增加zh路径,修改对应算子说明链接 #451
已合并
赵臣臣创建于 2025年12月8日
已删除 :master合入到cann/ops-transformermaster
121 个文件变更+199-468
@@ -8,25 +8,25 @@
8 8 
9ops-transformer是[CANN](https://hiascend.com/software/cann) (Compute Architecture for Neural Networks)算子库中提供transformer类大模型计算的进阶算子库,包括attention类、moe类等算子,算子库架构图如下:9ops-transformer是[CANN](https://hiascend.com/software/cann) (Compute Architecture for Neural Networks)算子库中提供transformer类大模型计算的进阶算子库,包括attention类、moe类等算子,算子库架构图如下:
10 10 
11-<img src="docs/figures/architecture.png" alt="架构图" width="700px" height="320px">11+<img src="docs/zh/figures/architecture.png" alt="架构图" width="700px" height="320px">
12 12 
13## ⚡️快速入门13## ⚡️快速入门
14 14 
15若您希望快速体验算子的调用和开发过程,请访问如下文档获取简易教程。15若您希望快速体验算子的调用和开发过程,请访问如下文档获取简易教程。
16 16 
17-- [算子列表](docs/op_list.md):介绍项目提供的全量算子信息,方便快速查询。17+- [算子列表](docs/zh/op_list.md):介绍项目提供的全量算子信息,方便快速查询。
18-- [算子调用](docs/invocation/quick_op_invocation.md):介绍调用算子的基本步骤,快速搭建环境,实现算子编译执行。18+- [算子调用](docs/zh/invocation/quick_op_invocation.md):介绍调用算子的基本步骤,快速搭建环境,实现算子编译执行。
19-- [算子开发](docs/develop/aicore_develop_guide.md):介绍开发算子的基本流程,一键创建算子工程目录,实现Tiling、Kernel核心交付件。19+- [算子开发](docs/zh/develop/aicore_develop_guide.md):介绍开发算子的基本流程,一键创建算子工程目录,实现Tiling、Kernel核心交付件。
20 20 
21## 📖学习教程21## 📖学习教程
22 22 
23若您希望深入体验项目功能并修改算子源码,请访问如下文档获取详细教程。23若您希望深入体验项目功能并修改算子源码,请访问如下文档获取详细教程。
24-- [算子调用方式](docs/invocation/op_invocation.md):介绍不同的调用算子方式,方便快速应用于不同的AI业务场景。24+- [算子调用方式](docs/zh/invocation/op_invocation.md):介绍不同的调用算子方式,方便快速应用于不同的AI业务场景。
25-- [算子调试调优](docs/debug/op_debug_prof.md):介绍常见的算子调试和调优方法,如DumpTensor、msProf等。25+- [算子调试调优](docs/zh/debug/op_debug_prof.md):介绍常见的算子调试和调优方法,如DumpTensor、msProf等。
26-- [算子基本概念](docs/context/基本概念.md):介绍算子领域相关术语和概念,如非连续Tensor、量化模式等。26+- [算子基本概念](docs/zh/context/基本概念.md):介绍算子领域相关术语和概念,如非连续Tensor、量化模式等。
27 27 
28## 🔍目录结构28## 🔍目录结构
29-关键目录如下,详细目录介绍参见[项目目录](./docs/context/dir_structure.md)。29+关键目录如下,详细目录介绍参见[项目目录](./docs/zh/context/dir_structure.md)。
30```30```
31├── cmake # 项目工程编译目录31├── cmake # 项目工程编译目录
32├── common # 项目公共头文件和公共源码32├── common # 项目公共头文件和公共源码
@@ -73,7 +73,7 @@ V侧流水设计需要考虑Vector内部的搬运及计算过程,实施的优
73 73 
74 该场景流水特征下,Vector计算节点少,计算速度快,在<term>Atlas A2 训练系列产品</term> C:V=1:2的情况下,Cube的搬运时长足以覆盖Vector的计算时长,因此只要关注Cube的MTE2耗时即可,最终达成MTE2 bound。在Cube双发机制下,提前发射两块Cube计算,Cube1、Cube2计算可以衔接,使得Cube利用率最高,达成Cube bound。74 该场景流水特征下,Vector计算节点少,计算速度快,在<term>Atlas A2 训练系列产品</term> C:V=1:2的情况下,Cube的搬运时长足以覆盖Vector的计算时长,因此只要关注Cube的MTE2耗时即可,最终达成MTE2 bound。在Cube双发机制下,提前发射两块Cube计算,Cube1、Cube2计算可以衔接,使得Cube利用率最高,达成Cube bound。
75 75
76-![FA流水.jpg](../../../docs/figures/FA流水.png)76+![FA流水.jpg](../../../docs/zh/figures/FA流水.png)
77 77 
78## 5 多模板设计78## 5 多模板设计
79 79 
@@ -32,7 +32,7 @@
32 32 
33## 函数原型33## 函数原型
34 34 
35-算子执行接口为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnFusedInferAttentionScoreGetWorkspaceSize”接口获取入参并根据计算流程计算所需workspace大小,再调用“aclnnFusedInferAttentionScore”接口执行计算。35+算子执行接口为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnFusedInferAttentionScoreGetWorkspaceSize”接口获取入参并根据计算流程计算所需workspace大小,再调用“aclnnFusedInferAttentionScore”接口执行计算。
36 36 
37```cpp37```cpp
38 aclnnStatus aclnnFusedInferAttentionScoreGetWorkspaceSize(38 aclnnStatus aclnnFusedInferAttentionScoreGetWorkspaceSize(
@@ -461,7 +461,7 @@ aclnnStatus aclnnFusedInferAttentionScore(
461 461 
462- **返回值**462- **返回值**
463 463 
464- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。464+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
465 465
466 第一段接口完成入参校验,出现以下场景时报错:466 第一段接口完成入参校验,出现以下场景时报错:
467 467
@@ -540,7 +540,7 @@ aclnnStatus aclnnFusedInferAttentionScore(
540 540 
541- **返回值**541- **返回值**
542 542 
543- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。543+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
544 544 
545## 约束说明545## 约束说明
546 546 
@@ -856,7 +856,7 @@ aclnnStatus aclnnFusedInferAttentionScore(
856 856 
857## 调用示例857## 调用示例
858 858 
859-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。859+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
860 860 
861```cpp861```cpp
862#include <iostream>862#include <iostream>
@@ -31,7 +31,7 @@
31 31 
32## 函数原型32## 函数原型
33 33 
34-算子执行接口为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnFusedInferAttentionScoreV2GetWorkspaceSize”接口获取入参并根据计算流程计算所需workspace大小,再调用“aclnnFusedInferAttentionScoreV2”接口执行计算。34+算子执行接口为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnFusedInferAttentionScoreV2GetWorkspaceSize”接口获取入参并根据计算流程计算所需workspace大小,再调用“aclnnFusedInferAttentionScoreV2”接口执行计算。
35 35 
36```cpp36```cpp
37aclnnStatus aclnnFusedInferAttentionScoreV2GetWorkspaceSize(37aclnnStatus aclnnFusedInferAttentionScoreV2GetWorkspaceSize(
@@ -577,7 +577,7 @@ aclnnStatus aclnnFusedInferAttentionScoreV2(
577 577 
578- **返回值**578- **返回值**
579 579 
580- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。580+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
581 581
582 第一段接口完成入参校验,出现以下场景时报错:582 第一段接口完成入参校验,出现以下场景时报错:
583 583
@@ -657,7 +657,7 @@ aclnnStatus aclnnFusedInferAttentionScoreV2(
657 657 
658- **返回值**658- **返回值**
659 659 
660- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。660+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
661 661 
662## 约束说明662## 约束说明
663 663 
@@ -1102,7 +1102,7 @@ aclnnStatus aclnnFusedInferAttentionScoreV2(
1102 1102 
1103## 调用示例1103## 调用示例
1104 1104 
1105-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。1105+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
1106 1106 
1107```cpp1107```cpp
1108#include <iostream>1108#include <iostream>
@@ -32,7 +32,7 @@
32 32 
33## 函数原型33## 函数原型
34 34 
35-算子执行接口为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnFusedInferAttentionScoreV3GetWorkspaceSize”接口获取入参并根据计算流程计算所需workspace大小,再调用“aclnnFusedInferAttentionScoreV3”接口执行计算。35+算子执行接口为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnFusedInferAttentionScoreV3GetWorkspaceSize”接口获取入参并根据计算流程计算所需workspace大小,再调用“aclnnFusedInferAttentionScoreV3”接口执行计算。
36 36 
37```cpp37```cpp
38aclnnStatus aclnnFusedInferAttentionScoreV3GetWorkspaceSize(38aclnnStatus aclnnFusedInferAttentionScoreV3GetWorkspaceSize(
@@ -610,7 +610,7 @@ aclnnStatus aclnnFusedInferAttentionScoreV3(
610 610 
611- **返回值**611- **返回值**
612 612 
613- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。613+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
614 614
615 第一段接口完成入参校验,出现以下场景时报错:615 第一段接口完成入参校验,出现以下场景时报错:
616 616
@@ -689,7 +689,7 @@ aclnnStatus aclnnFusedInferAttentionScoreV3(
689 689 
690- **返回值**690- **返回值**
691 691 
692- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。692+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
693 693 
694## 约束说明694## 约束说明
695 695 
@@ -1177,7 +1177,7 @@ aclnnStatus aclnnFusedInferAttentionScoreV3(
1177 1177 
1178## 调用示例1178## 调用示例
1179 1179 
1180-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。1180+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
1181 1181 
1182```cpp1182```cpp
1183#include <iostream>1183#include <iostream>
@@ -39,7 +39,7 @@ decode场景下特有KV Cache:KV Cache是大模型推理性能优化的一个
39 39 
40## 函数原型40## 函数原型
41 41 
42-算子执行接口为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnFusedInferAttentionScoreV4GetWorkspaceSize”接口获取入参并根据计算流程计算所需workspace大小,再调用“aclnnFusedInferAttentionScoreV4”接口执行计算。42+算子执行接口为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnFusedInferAttentionScoreV4GetWorkspaceSize”接口获取入参并根据计算流程计算所需workspace大小,再调用“aclnnFusedInferAttentionScoreV4”接口执行计算。
43 43 
44```c++44```c++
45aclnnStatus aclnnFusedInferAttentionScoreV4GetWorkspaceSize(45aclnnStatus aclnnFusedInferAttentionScoreV4GetWorkspaceSize(
@@ -735,7 +735,7 @@ aclnnStatus aclnnFusedInferAttentionScoreV4(
735 735 
736- **返回值:**736- **返回值:**
737 737 
738- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。738+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
739 739 
740 第一段接口完成入参校验,出现以下场景时报错:740 第一段接口完成入参校验,出现以下场景时报错:
741 741 
@@ -809,7 +809,7 @@ aclnnStatus aclnnFusedInferAttentionScoreV4(
809 809 
810- **返回值:**810- **返回值:**
811 811 
812- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。812+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
813 813 
814 814 
815## 约束说明815## 约束说明
@@ -1962,7 +1962,7 @@ aclnnStatus aclnnFusedInferAttentionScoreV4(
1962 </table></div>1962 </table></div>
1963 1963 
1964## 调用示例1964## 调用示例
1965-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。1965+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
1966```c++1966```c++
1967#include <iostream>1967#include <iostream>
1968#include <vector>1968#include <vector>
@@ -13,7 +13,7 @@
13 13 
14图1 计算流程图:14图1 计算流程图:
15 15 
16-![IFA图](../../../docs/figures/IncreFlashAttention.png)16+![IFA图](../../../docs/zh/figures/IncreFlashAttention.png)
17 17 
18 18 
19 19 
@@ -49,7 +49,7 @@
49 49 
50## 函数原型50## 函数原型
51 51 
52-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnIncreFlashAttentionGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnIncreFlashAttention”接口执行计算。52+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnIncreFlashAttentionGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnIncreFlashAttention”接口执行计算。
53 53 
54```cpp54```cpp
55aclnnStatus aclnnIncreFlashAttentionGetWorkspaceSize(55aclnnStatus aclnnIncreFlashAttentionGetWorkspaceSize(
@@ -238,7 +238,7 @@ aclnnStatus aclnnIncreFlashAttention(
238- **返回值**238- **返回值**
239 239
240 240 
241- aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。241+ aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
242 242 
243 第一段接口完成入参校验,出现以下场景时报错:243 第一段接口完成入参校验,出现以下场景时报错:
244 244 
@@ -316,7 +316,7 @@ aclnnStatus aclnnIncreFlashAttention(
316 </div>316 </div>
317 317 
318- **返回值** 318- **返回值**
319- aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。319+ aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
320 320 
321## 约束说明321## 约束说明
322 322 
@@ -331,7 +331,7 @@ aclnnStatus aclnnIncreFlashAttention(
331 331 
332## 调用示例332## 调用示例
333 333 
334-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。334+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
335 335 
336```cpp336```cpp
337#include <iostream>337#include <iostream>
Mattention/incre_flash_attention/docs/aclnnIncreFlashAttentionV2.md+4-4文件内容审核中,请稍后刷新重试
@@ -51,7 +51,7 @@
51 51 
52## 函数原型52## 函数原型
53 53 
54-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnIncreFlashAttentionV3GetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnIncreFlashAttentionV3”接口执行计算。54+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnIncreFlashAttentionV3GetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnIncreFlashAttentionV3”接口执行计算。
55 55 
56```cpp56```cpp
57aclnnStatus aclnnIncreFlashAttentionV3GetWorkspaceSize(57aclnnStatus aclnnIncreFlashAttentionV3GetWorkspaceSize(
@@ -350,7 +350,7 @@ aclnnStatus aclnnIncreFlashAttentionV3(
350 350 
351- **返回值**351- **返回值**
352 352 
353- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。353+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
354 354 
355 第一段接口完成入参校验,出现以下场景时报错:355 第一段接口完成入参校验,出现以下场景时报错:
356 356 
@@ -430,7 +430,7 @@ aclnnStatus aclnnIncreFlashAttentionV3(
430 430 
431- **返回值**431- **返回值**
432 432
433- aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。433+ aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
434 434 
435## 约束说明435## 约束说明
436 436 
@@ -467,7 +467,7 @@ aclnnStatus aclnnIncreFlashAttentionV3(
467 467 
468## 调用示例468## 调用示例
469 469 
470-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。470+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
471 471 
472```cpp472```cpp
473#include <iostream>473#include <iostream>
@@ -51,7 +51,7 @@
51 51 
52## 函数原型52## 函数原型
53 53 
54-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnIncreFlashAttentionV4GetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnIncreFlashAttentionV4”接口执行计算。54+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnIncreFlashAttentionV4GetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnIncreFlashAttentionV4”接口执行计算。
55 55 
56```cpp56```cpp
57aclnnStatus aclnnIncreFlashAttentionV4GetWorkspaceSize(57aclnnStatus aclnnIncreFlashAttentionV4GetWorkspaceSize(
@@ -365,7 +365,7 @@ aclnnStatus aclnnIncreFlashAttentionV4(
365- **返回值**365- **返回值**
366 366
367 367 
368- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。368+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
369 369 
370 第一段接口完成入参校验,出现以下场景时报错:370 第一段接口完成入参校验,出现以下场景时报错:
371 371 
@@ -442,7 +442,7 @@ aclnnStatus aclnnIncreFlashAttentionV4(
442 </div>442 </div>
443 443 
444- **返回值** 444- **返回值**
445- aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。445+ aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
446 446 
447## 约束说明447## 约束说明
448 448 
@@ -475,7 +475,7 @@ aclnnStatus aclnnIncreFlashAttentionV4(
475 475 
476## 调用示例476## 调用示例
477 477 
478-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。478+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
479 479 
480```cpp480```cpp
481#include <iostream>481#include <iostream>
@@ -10,7 +10,7 @@
10 10 
11图1 计算流程图:11图1 计算流程图:
12 12 
13-![MlaProlog计算流程图](../../../docs/figures/MlaProlog计算流程.png)13+![MlaProlog计算流程图](../../../docs/zh/figures/MlaProlog计算流程.png)
14 14 
15 15 
16按照Multi-Head Latent Attention定义的计算流程实现,整体计算流程如下:16按照Multi-Head Latent Attention定义的计算流程实现,整体计算流程如下:
@@ -50,7 +50,7 @@ MlaProlog融合算子包含了Vector计算和Cube计算,Vector侧和Cube侧的
50 50 
51图2 流水控制图:51图2 流水控制图:
52 52 
53-![MlaProlog流水控制图](../../../docs/figures/MlaProlog流水控制.png)53+![MlaProlog流水控制图](../../../docs/zh/figures/MlaProlog流水控制.png)
54 54 
551、MatmulCq计算的时候,对Hcq进行了分核,单核没有计算一个完整的token,所以在RmsNormCq计算前,551、MatmulCq计算的时候,对Hcq进行了分核,单核没有计算一个完整的token,所以在RmsNormCq计算前,
56需要做AIC与AIV之间的同步控制(SYNC_MMCQ_NOMRCQ)56需要做AIC与AIV之间的同步控制(SYNC_MMCQ_NOMRCQ)
@@ -219,7 +219,7 @@ RMSNorm的计算参考公式(3)-(4)。
219 $$219 $$
220 smooth是指将数据变得“平滑”一些,容易对数据进行量化,如下图所示:220 smooth是指将数据变得“平滑”一些,容易对数据进行量化,如下图所示:
221 221 
222- ![smooth概念](../../../docs/figures/smooth概念.png)222+ ![smooth概念](../../../docs/zh/figures/smooth概念.png)
223 223 
224 - 静态量化:当前仅支持Perchannel量化,该量化是指按列量化,对输入tensor的每一列用一个scale进行量化。224 - 静态量化:当前仅支持Perchannel量化,该量化是指按列量化,对输入tensor的每一列用一个scale进行量化。
225 225 
@@ -396,12 +396,12 @@ PA场景
396- KVCache使用ND格式存储,其更新流程如图3所示。396- KVCache使用ND格式存储,其更新流程如图3所示。
397 - 假设Query中Token/序列长度为S1,cacheIndex中第二维的某个具体数值代表了本轮计算得到的KVCache要更新到KVCache的第几行;如图中的11代表要更新到第11行的位置,该位置位于Block2。397 - 假设Query中Token/序列长度为S1,cacheIndex中第二维的某个具体数值代表了本轮计算得到的KVCache要更新到KVCache的第几行;如图中的11代表要更新到第11行的位置,该位置位于Block2。
398 - 图3 KVCacheScatter操作(PA场景-ND格式)398 - 图3 KVCacheScatter操作(PA场景-ND格式)
399- ![KVCacheScatter_PA_ND](../../../docs/figures/KVCacheScatter_PA_ND.jpg)399+ ![KVCacheScatter_PA_ND](../../../docs/zh/figures/KVCacheScatter_PA_ND.jpg)
400- KVCache使用NZ格式存储,其更新流程如图4所示。数据分形格式的介绍可以参考官网指南-[数据排布格式400- KVCache使用NZ格式存储,其更新流程如图4所示。数据分形格式的介绍可以参考官网指南-[数据排布格式
401](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/80RC3alpha003/devguide/opdevg/ascendcopdevg/atlas_ascendc_10_0104.html)。401](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/80RC3alpha003/devguide/opdevg/ascendcopdevg/atlas_ascendc_10_0104.html)。
402 - 当前按NZ格式存储KVCache时,是将整个Block存储成NZ格式;小块内是以行为主(Row Major)的排布,形状如Z字型;块与块之间是以列为主的排布,形状如N字形。将完整的H(Hidden States)按32B长度的小块进行分块后,在ND格式下连续存储的小块,在NZ格式下需要跳$32B * BlockSize$存储,即需要设置stride为$32B * BlockSize$。402 - 当前按NZ格式存储KVCache时,是将整个Block存储成NZ格式;小块内是以行为主(Row Major)的排布,形状如Z字型;块与块之间是以列为主的排布,形状如N字形。将完整的H(Hidden States)按32B长度的小块进行分块后,在ND格式下连续存储的小块,在NZ格式下需要跳$32B * BlockSize$存储,即需要设置stride为$32B * BlockSize$。
403 - 图4 KVCacheScatter操作(PA场景-NZ格式)403 - 图4 KVCacheScatter操作(PA场景-NZ格式)
404- ![PA_NZ](../../../docs/figures/PA_NZ.jpg)404+ ![PA_NZ](../../../docs/zh/figures/PA_NZ.jpg)
405 405 
406 406 
407 407 
@@ -59,7 +59,7 @@
59 59 
60 60 
61## 函数原型61## 函数原型
62-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnMlaPrologGetWorkspaceSize”接口获取入参并根据流程计算所需workspace大小,再调用“aclnnMlaProlog”接口执行计算。62+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnMlaPrologGetWorkspaceSize”接口获取入参并根据流程计算所需workspace大小,再调用“aclnnMlaProlog”接口执行计算。
63```cpp63```cpp
64aclnnStatus aclnnMlaPrologGetWorkspaceSize(64aclnnStatus aclnnMlaPrologGetWorkspaceSize(
65 const aclTensor *tokenX, 65 const aclTensor *tokenX,
@@ -133,7 +133,7 @@ aclnnStatus aclnnMlaProlog(
133 133 
134- 返回值134- 返回值
135 135 
136- aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。</br>136+ aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。</br>
137 第一段接口完成入参校验,出现以下场景时报错:137 第一段接口完成入参校验,出现以下场景时报错:
138 138 
139 | 返回值 | 错误码 | 描述 |139 | 返回值 | 错误码 | 描述 |
@@ -153,7 +153,7 @@ aclnnStatus aclnnMlaProlog(
153 | stream | aclrtStream | 指定执行任务的AscendCL Stream流。|153 | stream | aclrtStream | 指定执行任务的AscendCL Stream流。|
154 154 
155- 返回值155- 返回值
156- aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。156+ aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
157 157 
158 158 
159 159 
@@ -430,7 +430,7 @@ aclnnStatus aclnnMlaProlog(
430 430 
431## 调用示例431## 调用示例
432 432 
433-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。433+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
434 434 
435 ```Cpp435 ```Cpp
436 #include <iostream>436 #include <iostream>
@@ -1,55 +0,0 @@
1-approvers:
2-- andylhy
3-- xiaolong_han
4-- huxiaobang
5-- startzgf168
6-- li-xulong
7-- Allan_Yu
8-- mabing726
9-- miao-fangzheng
10-- chengsheng304064
11- 
12-reviewers:
13-- li-xulong
14-- Allan_Yu
15-- mabing726
16-- miao-fangzheng
17-- chengsheng304064
18-- wang-fei6
19-- shawn-hu
20-- li-shengxian
21-- xig514
22-- hilihli
23-- chen-vvjob
24-- renkyk
25-- yang-binrong
26-- song-jionghui
27-- wang-zhe123456789
28-- huangli70
29-- huangwei791
30-- shunqi
31-- wangjun-qt
32-- jiang-lirui
33-- R_DDog
34-- realmadrid1016
35-- monologue815
36-- zhangtj0209
37-- GodantShen
38-- Liexss
39-- fzzach
40-- zhanglei_hw
41-- songkai-huawei
42-- yangxu19921206
43-- crystalhu
44-- yu-xinjie62
45-- zhu-yijun-Julius
46- 
47-files:
48- "aclnn_mla_prolog.h":
49- approvers:
50- - yinqiande
51- - miao-fangzheng
52- "mla_prolog_def.cpp":
53- approvers:
54- - yinqiande
55- - miao-fangzheng
@@ -10,7 +10,7 @@
10 10 
11图1 计算流程图:11图1 计算流程图:
12 12 
13-![MlaProlog计算流程图](../../../docs/figures/MlaProlog计算流程.png)13+![MlaProlog计算流程图](../../../docs/zh/figures/MlaProlog计算流程.png)
14 14 
15 15 
16按照Multi-Head Latent Attention定义的计算流程实现,整体计算流程如下:16按照Multi-Head Latent Attention定义的计算流程实现,整体计算流程如下:
@@ -52,7 +52,7 @@ MlaPrologV2融合算子包含了Vector计算和Cube计算,Vector侧和Cube侧
52 52 
53图2 流水控制图:53图2 流水控制图:
54 54 
55-![MlaProlog流水控制图](../../../docs/figures/MlaProlog流水控制.png)55+![MlaProlog流水控制图](../../../docs/zh/figures/MlaProlog流水控制.png)
56 56 
571、MatmulCq计算的时候,对Hcq进行了分核,单核没有计算一个完整的token,所以在RmsNormCq计算前,571、MatmulCq计算的时候,对Hcq进行了分核,单核没有计算一个完整的token,所以在RmsNormCq计算前,
58需要做AIC与AIV之间的同步控制(SYNC_MMCQ_NORMCQ)58需要做AIC与AIV之间的同步控制(SYNC_MMCQ_NORMCQ)
@@ -220,7 +220,7 @@ RMSNorm的计算参考公式(3)-(4)。
220 $$220 $$
221 smooth是指将数据变得“平滑”一些,容易对数据进行量化,如下图所示:221 smooth是指将数据变得“平滑”一些,容易对数据进行量化,如下图所示:
222 222 
223- ![smooth概念](../../../docs/figures/smooth概念.png)223+ ![smooth概念](../../../docs/zh/figures/smooth概念.png)
224 224 
225 - 静态量化:当前仅支持Perchannel量化,该量化是指按列量化,对输入tensor的每一列用一个scale进行量化。225 - 静态量化:当前仅支持Perchannel量化,该量化是指按列量化,对输入tensor的每一列用一个scale进行量化。
226 226 
@@ -397,12 +397,12 @@ PA场景
397- KVCache使用ND格式存储,其更新流程如图3所示。397- KVCache使用ND格式存储,其更新流程如图3所示。
398 - 假设Query中Token/序列长度为S1,cacheIndex中第二维的某个具体数值代表了本轮计算得到的KVCache要更新到KVCache的第几行;如图中的11代表要更新到第11行的位置,该位置位于Block2。398 - 假设Query中Token/序列长度为S1,cacheIndex中第二维的某个具体数值代表了本轮计算得到的KVCache要更新到KVCache的第几行;如图中的11代表要更新到第11行的位置,该位置位于Block2。
399 - 图3 KVCacheScatter操作(PA场景-ND格式)399 - 图3 KVCacheScatter操作(PA场景-ND格式)
400- ![KVCacheScatter_PA_ND](../../../docs/figures/KVCacheScatter_PA_ND.jpg)400+ ![KVCacheScatter_PA_ND](../../../docs/zh/figures/KVCacheScatter_PA_ND.jpg)
401- KVCache使用NZ格式存储,其更新流程如图4所示。数据分形格式的介绍可以参考官网指南-[数据排布格式401- KVCache使用NZ格式存储,其更新流程如图4所示。数据分形格式的介绍可以参考官网指南-[数据排布格式
402](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/80RC3alpha003/devguide/opdevg/ascendcopdevg/atlas_ascendc_10_0104.html)。402](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/80RC3alpha003/devguide/opdevg/ascendcopdevg/atlas_ascendc_10_0104.html)。
403 - 当前按NZ格式存储KVCache时,是将整个Block存储成NZ格式;小块内是以行为主(Row Major)的排布,形状如Z字形;块与块之间是以列为主的排布,形状如N字形。将完整的H(Hidden States)按32B长度的小块进行分块后,在ND格式下连续存储的小块,在NZ格式下需要跳$32B * BlockSize$存储,即需要设置stride为$32B * BlockSize$。403 - 当前按NZ格式存储KVCache时,是将整个Block存储成NZ格式;小块内是以行为主(Row Major)的排布,形状如Z字形;块与块之间是以列为主的排布,形状如N字形。将完整的H(Hidden States)按32B长度的小块进行分块后,在ND格式下连续存储的小块,在NZ格式下需要跳$32B * BlockSize$存储,即需要设置stride为$32B * BlockSize$。
404 - 图4 KVCacheScatter操作(PA场景-NZ格式)404 - 图4 KVCacheScatter操作(PA场景-NZ格式)
405- ![PA_NZ](../../../docs/figures/PA_NZ.jpg)405+ ![PA_NZ](../../../docs/zh/figures/PA_NZ.jpg)
406 406 
407 407 
408 408 
@@ -75,7 +75,7 @@
75 75 
76 76 
77## 函数原型77## 函数原型
78-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnMlaPrologV2WeightNzGetWorkspaceSize”接口获取入参并根据流程计算所需workspace大小,再调用“aclnnMlaPrologV2WeightNz”接口执行计算。78+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnMlaPrologV2WeightNzGetWorkspaceSize”接口获取入参并根据流程计算所需workspace大小,再调用“aclnnMlaPrologV2WeightNz”接口执行计算。
79```cpp79```cpp
80aclnnStatus aclnnMlaPrologV2WeightNzGetWorkspaceSize(80aclnnStatus aclnnMlaPrologV2WeightNzGetWorkspaceSize(
81 const aclTensor *tokenX, 81 const aclTensor *tokenX,
@@ -150,7 +150,7 @@ aclnnStatus aclnnMlaPrologV2WeightNz(
150 150 
151- 返回值151- 返回值
152 152 
153- aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。</br>153+ aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。</br>
154 第一段接口完成入参校验,出现以下场景时报错:154 第一段接口完成入参校验,出现以下场景时报错:
155 155
156 | 返回值 | 错误码 | 描述 |156 | 返回值 | 错误码 | 描述 |
@@ -171,7 +171,7 @@ aclnnStatus aclnnMlaPrologV2WeightNz(
171 171
172 172 
173- 返回值173- 返回值
174- aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。174+ aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
175 175 
176## 约束说明176## 约束说明
177- shape 格式字段含义说明177- shape 格式字段含义说明
@@ -574,7 +574,7 @@ aclnnStatus aclnnMlaPrologV2WeightNz(
574 574 
575## 调用示例575## 调用示例
576 576 
577-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。577+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
578 578 
579 ```Cpp579 ```Cpp
580 #include <iostream>580 #include <iostream>
@@ -10,7 +10,7 @@
10 10 
11图1 计算流程图:11图1 计算流程图:
12 12 
13-![MlaProlog计算流程图](../../../docs/figures/MlaProlog计算流程.png)13+![MlaProlog计算流程图](../../../docs/zh/figures/MlaProlog计算流程.png)
14 14 
15 15 
16按照Multi-Head Latent Attention定义的计算流程实现,整体计算流程如下:16按照Multi-Head Latent Attention定义的计算流程实现,整体计算流程如下:
@@ -52,7 +52,7 @@ MlaPrologV3融合算子包含了Vector计算和Cube计算,Vector侧和Cube侧
52 52 
53图2 流水控制图:53图2 流水控制图:
54 54 
55-![MlaProlog流水控制图](../../../docs/figures/MlaProlog流水控制.png)55+![MlaProlog流水控制图](../../../docs/zh/figures/MlaProlog流水控制.png)
56 56 
571、MatmulCq计算的时候,对Hcq进行了分核,单核没有计算一个完整的token,所以在RmsNormCq计算前,571、MatmulCq计算的时候,对Hcq进行了分核,单核没有计算一个完整的token,所以在RmsNormCq计算前,
58需要做AIC与AIV之间的同步控制(SYNC_MMCQ_NOMRCQ)58需要做AIC与AIV之间的同步控制(SYNC_MMCQ_NOMRCQ)
@@ -222,7 +222,7 @@ RMSNorm的计算参考公式(3)-(4)。
222 $$222 $$
223 smooth是指将数据变得“平滑”一些,容易对数据进行量化,如下图所示:223 smooth是指将数据变得“平滑”一些,容易对数据进行量化,如下图所示:
224 224 
225- ![smooth概念](../../../docs/figures/smooth概念.png)225+ ![smooth概念](../../../docs/zh/figures/smooth概念.png)
226 226 
227 - 静态量化:当前仅支持Perchannel量化,该量化是指按列量化,对输入tensor的每一列用一个scale进行量化。227 - 静态量化:当前仅支持Perchannel量化,该量化是指按列量化,对输入tensor的每一列用一个scale进行量化。
228 228 
@@ -399,12 +399,12 @@ PA场景
399- KVCache使用ND格式存储,其更新流程如图3所示。399- KVCache使用ND格式存储,其更新流程如图3所示。
400 - 假设Query中Token/序列长度为S1,cacheIndex中第二维的某个具体数值代表了本轮计算得到的KVCache要更新到KVCache的第几行;如图中的11代表要更新到第11行的位置,该位置位于Block2。400 - 假设Query中Token/序列长度为S1,cacheIndex中第二维的某个具体数值代表了本轮计算得到的KVCache要更新到KVCache的第几行;如图中的11代表要更新到第11行的位置,该位置位于Block2。
401 - 图3 KVCacheScatter操作(PA场景-ND格式)401 - 图3 KVCacheScatter操作(PA场景-ND格式)
402- ![KVCacheScatter_PA_ND](../../../docs/figures/KVCacheScatter_PA_ND.jpg)402+ ![KVCacheScatter_PA_ND](../../../docs/zh/figures/KVCacheScatter_PA_ND.jpg)
403- KVCache使用NZ格式存储,其更新流程如图4所示。数据分形格式的介绍可以参考官网指南-[数据排布格式403- KVCache使用NZ格式存储,其更新流程如图4所示。数据分形格式的介绍可以参考官网指南-[数据排布格式
404](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/80RC3alpha003/devguide/opdevg/ascendcopdevg/atlas_ascendc_10_0104.html)。404](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/80RC3alpha003/devguide/opdevg/ascendcopdevg/atlas_ascendc_10_0104.html)。
405 - 当前按NZ格式存储KVCache时,是将整个Block存储成NZ格式;小块内是以行为主(Row Major)的排布,形状如Z字型;块与块之间是以列为主的排布,形状如N字形。将完整的H(Hidden States)按32B长度的小块进行分块后,在ND格式下连续存储的小块,在NZ格式下需要跳$32B * BlockSize$存储,即需要设置stride为$32B * BlockSize$。405 - 当前按NZ格式存储KVCache时,是将整个Block存储成NZ格式;小块内是以行为主(Row Major)的排布,形状如Z字型;块与块之间是以列为主的排布,形状如N字形。将完整的H(Hidden States)按32B长度的小块进行分块后,在ND格式下连续存储的小块,在NZ格式下需要跳$32B * BlockSize$存储,即需要设置stride为$32B * BlockSize$。
406 - 图4 KVCacheScatter操作(PA场景-NZ格式)406 - 图4 KVCacheScatter操作(PA场景-NZ格式)
407- ![PA_NZ](../../../docs/figures/PA_NZ.jpg)407+ ![PA_NZ](../../../docs/zh/figures/PA_NZ.jpg)
408 408 
409 409 
410 410 
@@ -79,7 +79,7 @@
79 79 
80 80 
81## 函数原型81## 函数原型
82-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnMlaPrologV3WeightNzGetWorkspaceSize”接口获取入参并根据流程计算所需workspace大小,再调用“aclnnMlaPrologV3WeightNz”接口执行计算。82+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnMlaPrologV3WeightNzGetWorkspaceSize”接口获取入参并根据流程计算所需workspace大小,再调用“aclnnMlaPrologV3WeightNz”接口执行计算。
83```cpp83```cpp
84aclnnStatus aclnnMlaPrologV3WeightNzGetWorkspaceSize(84aclnnStatus aclnnMlaPrologV3WeightNzGetWorkspaceSize(
85 const aclTensor *tokenX, 85 const aclTensor *tokenX,
@@ -180,7 +180,7 @@ aclnnStatus aclnnMlaPrologV3WeightNz(
180 180 
181- 返回值181- 返回值
182 182 
183- aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。</br>183+ aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。</br>
184 第一段接口完成入参校验,出现以下场景时报错:184 第一段接口完成入参校验,出现以下场景时报错:
185 185
186 | 返回值 | 错误码 | 描述 |186 | 返回值 | 错误码 | 描述 |
@@ -201,7 +201,7 @@ aclnnStatus aclnnMlaPrologV3WeightNz(
201 201
202 202 
203- 返回值203- 返回值
204- aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。204+ aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
205 205 
206## 约束说明206## 约束说明
207- shape 格式字段含义说明207- shape 格式字段含义说明
@@ -630,7 +630,7 @@ aclnnStatus aclnnMlaPrologV3WeightNz(
630 630 
631## 调用示例631## 调用示例
632 632 
633-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。633+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
634 634 
635 ```Cpp635 ```Cpp
636 #include <iostream>636 #include <iostream>
Mattention/nsa_compress/docs/aclnnNsaCompress.md+4-4文件内容审核中,请稍后刷新重试
@@ -50,7 +50,7 @@ NsaCompressAttention输入query、key、value的数据排布格式支持从多
50 50 
51## 函数原型51## 函数原型
52 52 
53-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnNsaCompressAttentionGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnNsaCompressAttention”接口执行计算。53+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnNsaCompressAttentionGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnNsaCompressAttention”接口执行计算。
54```c++54```c++
55aclnnStatus aclnnNsaCompressAttentionGetWorkspaceSize(55aclnnStatus aclnnNsaCompressAttentionGetWorkspaceSize(
56 const aclTensor *query,56 const aclTensor *query,
@@ -348,7 +348,7 @@ aclnnStatus aclnnNsaCompressAttention(
348 348 
349- **返回值:**349- **返回值:**
350 350 
351-返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。351+返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
352<table style="undefined;table-layout: fixed;width: 1155px"><colgroup>352<table style="undefined;table-layout: fixed;width: 1155px"><colgroup>
353<col style="width: 319px">353<col style="width: 319px">
354<col style="width: 144px">354<col style="width: 144px">
@@ -423,7 +423,7 @@ aclnnStatus aclnnNsaCompressAttention(
423 423 
424- **返回值:**424- **返回值:**
425 425 
426- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。426+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
427 427 
428 428 
429## 约束说明429## 约束说明
@@ -455,7 +455,7 @@ aclnnStatus aclnnNsaCompressAttention(
455 455 
456- aclnn单算子调用方式456- aclnn单算子调用方式
457 457 
458- 通过aclnn单算子调用示例代码如下(以<term>Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件</term>为例),仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。458+ 通过aclnn单算子调用示例代码如下(以<term>Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件</term>为例),仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
459 459 
460```c++460```c++
461#include <iostream>461#include <iostream>
@@ -27,7 +27,7 @@
27 27 
28## 函数原型28## 函数原型
29 29 
30-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnNsaCompressAttentionInferGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnNsaCompressAttentionInfer”接口执行计算。30+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnNsaCompressAttentionInferGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnNsaCompressAttentionInfer”接口执行计算。
31 31 
32```cpp32```cpp
33aclnnStatus aclnnNsaCompressAttentionInferGetWorkspaceSize(33aclnnStatus aclnnNsaCompressAttentionInferGetWorkspaceSize(
@@ -353,7 +353,7 @@ aclnnStatus aclnnNsaCompressAttentionInfer(
353 </table>353 </table>
354- **返回值**354- **返回值**
355 355 
356- aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。356+ aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
357 357
358 第一段接口完成入参校验,出现以下场景时报错:358 第一段接口完成入参校验,出现以下场景时报错:
359 359
@@ -423,7 +423,7 @@ aclnnStatus aclnnNsaCompressAttentionInfer(
423 </table>423 </table>
424- **返回值**424- **返回值**
425 425 
426- aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。426+ aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
427 427 
428## 约束说明428## 约束说明
429 429 
@@ -433,7 +433,7 @@ aclnnStatus aclnnNsaCompressAttentionInfer(
433 433 
434## 调用示例434## 调用示例
435 435 
436-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。436+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
437 437 
438```c++438```c++
439#include <iostream>439#include <iostream>
@@ -28,7 +28,7 @@
28 28 
29## 函数原型29## 函数原型
30 30 
31-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnNsaCompressGradGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnNsaCompressGrad”接口执行计算。31+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnNsaCompressGradGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnNsaCompressGrad”接口执行计算。
32 32 
33```c++33```c++
34aclnnStatus aclnnNsaCompressGradGetWorkspaceSize(34aclnnStatus aclnnNsaCompressGradGetWorkspaceSize(
@@ -260,7 +260,7 @@ aclnnStatus aclnnNsaCompressGrad(
260 260 
261- **返回值:**261- **返回值:**
262 262 
263-返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。263+返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
264<table style="undefined;table-layout: fixed;width: 1155px"><colgroup>264<table style="undefined;table-layout: fixed;width: 1155px"><colgroup>
265<col style="width: 319px">265<col style="width: 319px">
266<col style="width: 144px">266<col style="width: 144px">
@@ -335,7 +335,7 @@ aclnnStatus aclnnNsaCompressGrad(
335 335 
336- **返回值:**336- **返回值:**
337 337 
338- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。338+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
339 339 
340## 约束说明340## 约束说明
341 341 
@@ -344,7 +344,7 @@ aclnnStatus aclnnNsaCompressGrad(
344 344 
345## 调用示例345## 调用示例
346 346 
347-通过aclnn单算子调用示例代码如下(以Atlas A2 训练系列产品),仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。347+通过aclnn单算子调用示例代码如下(以Atlas A2 训练系列产品),仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
348 348 
349```c++349```c++
350#include <algorithm>350#include <algorithm>
@@ -19,7 +19,7 @@ $$
19 19 
20## 函数原型20## 函数原型
21 21 
22-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnNsaCompressWithCacheGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnNsaCompressWithCache”接口执行计算。22+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnNsaCompressWithCacheGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnNsaCompressWithCache”接口执行计算。
23 23 
24```c++24```c++
25aclnnStatus aclnnNsaCompressWithCacheGetWorkspaceSize(25aclnnStatus aclnnNsaCompressWithCacheGetWorkspaceSize(
@@ -243,7 +243,7 @@ aclnnStatus aclnnNsaCompressWithCache(
243 </table>243 </table>
244- **返回值**244- **返回值**
245 245 
246- aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。246+ aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
247 247
248 第一段接口完成入参校验,出现以下场景时报错:248 第一段接口完成入参校验,出现以下场景时报错:
249 249
@@ -328,7 +328,7 @@ aclnnStatus aclnnNsaCompressWithCache(
328 </table>328 </table>
329- **返回值**329- **返回值**
330 330
331- aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。331+ aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
332 332 
333## 约束说明333## 约束说明
334 334 
@@ -337,7 +337,7 @@ aclnnStatus aclnnNsaCompressWithCache(
337 337 
338## 调用示例338## 调用示例
339 339 
340-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。340+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
341 341 
342```c++342```c++
343#include "acl/acl.h"343#include "acl/acl.h"
@@ -28,7 +28,7 @@
28 28 
29## 函数原型29## 函数原型
30 30 
31-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnNsaSelectedAttentionGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnNsaSelectedAttention”接口执行计算。31+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnNsaSelectedAttentionGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnNsaSelectedAttention”接口执行计算。
32 32 
33```c++33```c++
34aclnnStatus aclnnNsaSelectedAttentionGetWorkspaceSize(34aclnnStatus aclnnNsaSelectedAttentionGetWorkspaceSize(
@@ -277,7 +277,7 @@ aclnnStatus aclnnNsaSelectedAttention(
277 277 
278- **返回值:**278- **返回值:**
279 279 
280-返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。280+返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
281<table style="undefined;table-layout: fixed;width: 1155px"><colgroup>281<table style="undefined;table-layout: fixed;width: 1155px"><colgroup>
282<col style="width: 319px">282<col style="width: 319px">
283<col style="width: 144px">283<col style="width: 144px">
@@ -349,7 +349,7 @@ aclnnStatus aclnnNsaSelectedAttention(
349 349 
350- **返回值:**350- **返回值:**
351 351 
352- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。352+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
353 353 
354 354 
355## 约束说明355## 约束说明
@@ -376,7 +376,7 @@ aclnnStatus aclnnNsaSelectedAttention(
376 376 
377## 调用示例377## 调用示例
378 378 
379-通过aclnn单算子调用示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。379+通过aclnn单算子调用示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
380 380 
381```c++381```c++
382#include <iostream>382#include <iostream>
@@ -40,7 +40,7 @@
40 40 
41## 函数原型41## 函数原型
42 42 
43-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnNsaSelectedAttentionGradGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnNsaSelectedAttentionGrad”接口执行计算。43+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnNsaSelectedAttentionGradGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnNsaSelectedAttentionGrad”接口执行计算。
44 44 
45```c++45```c++
46aclnnStatus aclnnNsaSelectedAttentionGradGetWorkspaceSize(46aclnnStatus aclnnNsaSelectedAttentionGradGetWorkspaceSize(
@@ -290,7 +290,7 @@ aclnnStatus aclnnNsaSelectedAttentionGrad(
290 290 
291- **返回值:**291- **返回值:**
292 292 
293-返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。293+返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
294<table style="undefined;table-layout: fixed;width: 1155px"><colgroup>294<table style="undefined;table-layout: fixed;width: 1155px"><colgroup>
295<col style="width: 319px">295<col style="width: 319px">
296<col style="width: 144px">296<col style="width: 144px">
@@ -362,7 +362,7 @@ aclnnStatus aclnnNsaSelectedAttentionGrad(
362 362 
363- **返回值:**363- **返回值:**
364 364 
365- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。365+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
366 366 
367## 约束说明367## 约束说明
368 368 
@@ -396,7 +396,7 @@ aclnnStatus aclnnNsaSelectedAttentionGrad(
396 396 
397- aclnn单算子调用方式397- aclnn单算子调用方式
398 398 
399- 通过aclnn单算子调用示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。399+ 通过aclnn单算子调用示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
400 400 
401```c++401```c++
402#include <iostream>402#include <iostream>
@@ -121,7 +121,7 @@ def Vec():
121 121 
122 该场景流水特征下,Vector计算节点少,计算速度快,在<term>Atlas A2 训练系列产品</term> C:V=1:2的情况下,Cube的搬运时长足以掩盖Vector的计算时长,因此只要关注Cube的MTE2耗时即可,最终达成MTE2 bound。在Cube双发机制下,提前发射两块Cube计算,Cube1、Cube2计算可以衔接,使得Cube利用率最高,达成Cube bound。122 该场景流水特征下,Vector计算节点少,计算速度快,在<term>Atlas A2 训练系列产品</term> C:V=1:2的情况下,Cube的搬运时长足以掩盖Vector的计算时长,因此只要关注Cube的MTE2耗时即可,最终达成MTE2 bound。在Cube双发机制下,提前发射两块Cube计算,Cube1、Cube2计算可以衔接,使得Cube利用率最高,达成Cube bound。
123 123 
124- ![FA流水.jpg](../../../docs/figures/FA流水.png)124+ ![FA流水.jpg](../../../docs/zh/figures/FA流水.png)
125 125 
126- C侧总耗时 < V侧总耗时 126- C侧总耗时 < V侧总耗时
127 127 
@@ -32,7 +32,7 @@
32 32 
33## 函数原型33## 函数原型
34 34 
35-算子执行接口为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnPromptFlashAttentionGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnPromptFlashAttention”接口执行计算。35+算子执行接口为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnPromptFlashAttentionGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnPromptFlashAttention”接口执行计算。
36 36 
37```cpp37```cpp
38aclnnStatus aclnnPromptFlashAttentionGetWorkspaceSize(38aclnnStatus aclnnPromptFlashAttentionGetWorkspaceSize(
@@ -250,7 +250,7 @@ aclnnStatus aclnnPromptFlashAttention(
250 250 
251 251 
252- **返回值**252- **返回值**
253- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。253+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
254 254
255 第一段接口完成入参校验,若出现以下错误码,则对应原因为:255 第一段接口完成入参校验,若出现以下错误码,则对应原因为:
256 256 
@@ -327,7 +327,7 @@ aclnnStatus aclnnPromptFlashAttention(
327 </div>327 </div>
328- **返回值**328- **返回值**
329 329 
330- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。330+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
331 331 
332## 约束说明332## 约束说明
333 333 
@@ -438,7 +438,7 @@ aclnnStatus aclnnPromptFlashAttention(
438 438 
439## 调用示例439## 调用示例
440 440 
441-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。441+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
442 442 
443```c++443```c++
444#include <iostream>444#include <iostream>
@@ -32,7 +32,7 @@
32 32 
33## 函数原型33## 函数原型
34 34 
35-算子执行接口为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnPromptFlashAttentionV2GetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnPromptFlashAttentionV2”接口执行计算。35+算子执行接口为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnPromptFlashAttentionV2GetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnPromptFlashAttentionV2”接口执行计算。
36 36 
37```cpp37```cpp
38aclnnStatus aclnnPromptFlashAttentionV2GetWorkspaceSize(38aclnnStatus aclnnPromptFlashAttentionV2GetWorkspaceSize(
@@ -331,7 +331,7 @@ aclnnStatus aclnnPromptFlashAttentionV2(
331 331 
332- **返回值**332- **返回值**
333 333 
334-返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。334+返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
335 335 
336第一段接口完成入参校验,若出现以下错误码,则对应原因为:336第一段接口完成入参校验,若出现以下错误码,则对应原因为:
337 337 
@@ -410,7 +410,7 @@ aclnnStatus aclnnPromptFlashAttentionV2(
410 410 
411- **返回值**411- **返回值**
412 412 
413- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。413+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
414 414 
415## 约束说明415## 约束说明
416 416 
@@ -574,7 +574,7 @@ aclnnStatus aclnnPromptFlashAttentionV2(
574 574 
575## 调用示例575## 调用示例
576 576 
577-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。577+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
578 578 
579```c++579```c++
580#include <iostream>580#include <iostream>
@@ -30,7 +30,7 @@
30 30 
31## 函数原型31## 函数原型
32 32 
33-算子执行接口为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnPromptFlashAttentionV3GetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnPromptFlashAttentionV3”接口执行计算。33+算子执行接口为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnPromptFlashAttentionV3GetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnPromptFlashAttentionV3”接口执行计算。
34 34 
35```cpp35```cpp
36aclnnStatus aclnnPromptFlashAttentionV3GetWorkspaceSize(36aclnnStatus aclnnPromptFlashAttentionV3GetWorkspaceSize(
@@ -343,7 +343,7 @@ aclnnStatus aclnnPromptFlashAttentionV3(
343 343
344- **返回值**344- **返回值**
345 345 
346- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。346+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
347 347
348 第一段接口完成入参校验,若出现以下错误码,则对应原因为:348 第一段接口完成入参校验,若出现以下错误码,则对应原因为:
349 349
@@ -423,7 +423,7 @@ aclnnStatus aclnnPromptFlashAttentionV3(
423 423 
424- **返回值**424- **返回值**
425 425 
426- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。426+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
427 427 
428## 约束说明428## 约束说明
429 429 
@@ -631,7 +631,7 @@ aclnnStatus aclnnPromptFlashAttentionV3(
631 631 
632## 调用示例632## 调用示例
633 633 
634-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。634+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
635 635 
636```c++636```c++
637#include <iostream>637#include <iostream>
@@ -20,8 +20,7 @@
20│ ├──op_invocation.md20│ ├──op_invocation.md
21│ ├── ...21│ ├── ...
22├── op_api_list.md # 全量算子接口列表(aclnn)22├── op_api_list.md # 全量算子接口列表(aclnn)
23-── op_list.md # 全量算子列表23+── op_list.md # 全量算子列表
24-└── README.md
25```24```
26 25 
27## 文档说明26## 文档说明
Rdocs/context/TensorScalar互推导关系.mddocs/zh/context/TensorScalar互推导关系.md+0-0
文件重命名但无更改。
Rdocs/context/aclnn返回码.mddocs/zh/context/aclnn返回码.md+0-0
文件重命名但无更改。
Rdocs/context/broadcast关系.mddocs/zh/context/broadcast关系.md+0-0
文件重命名但无更改。
Rdocs/context/build.mddocs/zh/context/build.md+0-0
文件重命名但无更改。
Rdocs/context/dir_structure.mddocs/zh/context/dir_structure.md+0-0
文件重命名但无更改。
Rdocs/context/sparse_mode参数说明.mddocs/zh/context/sparse_mode参数说明.md+0-0
文件重命名但无更改。
Rdocs/context/两段式接口.mddocs/zh/context/两段式接口.md+0-0
文件重命名但无更改。
Rdocs/context/互推导关系.mddocs/zh/context/互推导关系.md+0-0
文件重命名但无更改。
Rdocs/context/互转换关系.mddocs/zh/context/互转换关系.md+0-0
文件重命名但无更改。
Rdocs/context/基本概念.mddocs/zh/context/基本概念.md+0-0
文件重命名但无更改。
Rdocs/context/数据格式.mddocs/zh/context/数据格式.md+0-0
文件重命名但无更改。
Rdocs/context/数据类型.mddocs/zh/context/数据类型.md+0-0
文件重命名但无更改。
Rdocs/context/数据结构.mddocs/zh/context/数据结构.md+0-0
文件重命名但无更改。
Rdocs/context/编译与运行样例.mddocs/zh/context/编译与运行样例.md+0-0
文件重命名但无更改。
Rdocs/context/量化介绍.mddocs/zh/context/量化介绍.md+0-0
文件重命名但无更改。
Rdocs/context/非连续的Tensor.mddocs/zh/context/非连续的Tensor.md+0-0
文件重命名但无更改。
Rdocs/debug/op_debug_prof.mddocs/zh/debug/op_debug_prof.md+0-0
文件重命名但无更改。
Rdocs/develop/aicore_develop_guide.mddocs/zh/develop/aicore_develop_guide.md+0-0
文件重命名但无更改。
Rdocs/develop/graph_develop_guide.mddocs/zh/develop/graph_develop_guide.md+0-0
文件重命名但无更改。
Rdocs/figures/FA流水.pngdocs/zh/figures/FA流水.png+0-0
文件重命名但无更改。
Rdocs/figures/IR调用.pngdocs/zh/figures/IR调用.png+0-0
文件重命名但无更改。
Rdocs/figures/IncreFlashAttention.pngdocs/zh/figures/IncreFlashAttention.png+0-0
文件重命名但无更改。
Rdocs/figures/KVCacheScatter_PA_ND.jpgdocs/zh/figures/KVCacheScatter_PA_ND.jpg+0-0
文件重命名但无更改。
Rdocs/figures/MlaProlog流水控制.pngdocs/zh/figures/MlaProlog流水控制.png+0-0
文件重命名但无更改。
Rdocs/figures/MlaProlog计算流程.pngdocs/zh/figures/MlaProlog计算流程.png+0-0
文件重命名但无更改。
Rdocs/figures/PA_NZ.jpgdocs/zh/figures/PA_NZ.jpg+0-0
文件重命名但无更改。
Rdocs/figures/QK转置图.pngdocs/zh/figures/QK转置图.png+0-0
文件重命名但无更改。
Rdocs/figures/aclnn调用.pngdocs/zh/figures/aclnn调用.png+0-0
文件重命名但无更改。
Rdocs/figures/architecture.pngdocs/zh/figures/architecture.png+0-0
文件重命名但无更改。
Rdocs/figures/attenmask_band形状矩阵.pngdocs/zh/figures/attenmask_band形状矩阵.png+0-0
文件重命名但无更改。
Rdocs/figures/attenmask下三角.pngdocs/zh/figures/attenmask下三角.png+0-0
文件重命名但无更改。
Rdocs/figures/attenmask压缩下三角.pngdocs/zh/figures/attenmask压缩下三角.png+0-0
文件重命名但无更改。
Rdocs/figures/attenmask矩阵.pngdocs/zh/figures/attenmask矩阵.png+0-0
文件重命名但无更改。
Rdocs/figures/perblock量化.pngdocs/zh/figures/perblock量化.png+0-0
文件重命名但无更改。
Rdocs/figures/perchannel量化.pngdocs/zh/figures/perchannel量化.png+0-0
文件重命名但无更改。
Rdocs/figures/pergroup量化.pngdocs/zh/figures/pergroup量化.png+0-0
文件重命名但无更改。
Rdocs/figures/pertensor量化.pngdocs/zh/figures/pertensor量化.png+0-0
文件重命名但无更改。
Rdocs/figures/pertoken量化.pngdocs/zh/figures/pertoken量化.png+0-0
文件重命名但无更改。
Rdocs/figures/smooth概念.pngdocs/zh/figures/smooth概念.png+0-0
文件重命名但无更改。
Rdocs/figures/sparsemode为0遮挡矩阵.pngdocs/zh/figures/sparsemode为0遮挡矩阵.png+0-0
文件重命名但无更改。
Rdocs/figures/sparsemode为0遮挡矩阵1.pngdocs/zh/figures/sparsemode为0遮挡矩阵1.png+0-0
文件重命名但无更改。
Rdocs/figures/sparsemode为0遮挡矩阵2.pngdocs/zh/figures/sparsemode为0遮挡矩阵2.png+0-0
文件重命名但无更改。
Rdocs/figures/sparsemode为0遮挡矩阵3.pngdocs/zh/figures/sparsemode为0遮挡矩阵3.png+0-0
文件重命名但无更改。
Rdocs/figures/sparsemode为0遮挡矩阵4.pngdocs/zh/figures/sparsemode为0遮挡矩阵4.png+0-0
文件重命名但无更改。
Rdocs/figures/sparsemode为1遮挡矩阵.pngdocs/zh/figures/sparsemode为1遮挡矩阵.png+0-0
文件重命名但无更改。
Rdocs/figures/sparsemode为2遮挡矩阵.pngdocs/zh/figures/sparsemode为2遮挡矩阵.png+0-0
文件重命名但无更改。
Rdocs/figures/sparsemode为3遮挡矩阵.pngdocs/zh/figures/sparsemode为3遮挡矩阵.png+0-0
文件重命名但无更改。
Rdocs/figures/sparsemode为4遮挡矩阵.pngdocs/zh/figures/sparsemode为4遮挡矩阵.png+0-0
文件重命名但无更改。
Rdocs/figures/sparsemode为5遮挡矩阵.pngdocs/zh/figures/sparsemode为5遮挡矩阵.png+0-0
文件重命名但无更改。
Rdocs/figures/sparsemode为6遮挡矩阵.pngdocs/zh/figures/sparsemode为6遮挡矩阵.png+0-0
文件重命名但无更改。
Rdocs/figures/sparsemode为7遮挡矩阵.pngdocs/zh/figures/sparsemode为7遮挡矩阵.png+0-0
文件重命名但无更改。
Rdocs/figures/sparsemode为8遮挡矩阵.pngdocs/zh/figures/sparsemode为8遮挡矩阵.png+0-0
文件重命名但无更改。
Rdocs/figures/遮挡QK图.pngdocs/zh/figures/遮挡QK图.png+0-0
文件重命名但无更改。
Rdocs/invocation/op_invocation.mddocs/zh/invocation/op_invocation.md+0-0
文件重命名但无更改。
Rdocs/invocation/quick_op_invocation.mddocs/zh/invocation/quick_op_invocation.md+0-0
文件重命名但无更改。
Rdocs/op_api_list.mddocs/zh/op_api_list.md+0-0
文件重命名但无更改。
Rdocs/op_list.mddocs/zh/op_list.md+0-0
文件重命名但无更改。
@@ -25,5 +25,5 @@
25## 算子开发样例25## 算子开发样例
26|样例目录| 样例介绍 |算子开发|算子调用 |26|样例目录| 样例介绍 |算子开发|算子调用 |
27|---|------------------|---|---|27|---|------------------|---|---|
28-| add_example | 实现两个张量相加功能的算子。 | 算子端到端开发过程参见[AI Core算子开发指南](../docs/develop/aicore_develop_guide.md)。 |调用样例参见[examples](./add_example/examples/)|28+| add_example | 实现两个张量相加功能的算子。 | 算子端到端开发过程参见[AI Core算子开发指南](../docs/zh/develop/aicore_develop_guide.md)。 |调用样例参见[examples](./add_example/examples/)|
29-| mc2/all_gather_add | 实现AllGatherAdd通算算子 。 | 算子端到端开发过程参见[AI Core算子开发指南](../docs/develop/aicore_develop_guide.md)。 |调用样例参见[examples](./mc2/all_gather_add/examples/)|29+| mc2/all_gather_add | 实现AllGatherAdd通算算子 。 | 算子端到端开发过程参见[AI Core算子开发指南](../docs/zh/develop/aicore_develop_guide.md)。 |调用样例参见[examples](./mc2/all_gather_add/examples/)|
@@ -114,7 +114,7 @@
114 114 
115调用本算子前,请确保已本地下载代码仓,并安装好如下基础依赖、NPU驱动和固件已安装。115调用本算子前,请确保已本地下载代码仓,并安装好如下基础依赖、NPU驱动和固件已安装。
116 116 
117-本项目源码编译用到的依赖如下,请参考[算子调用](../../../docs/invocation/quick_op_invocation.md)文档中的**前提条件**和**环境准备**章节,完成环境依赖的下载和CANN包的准备,其中,**环境准备**章节中的**安装社区版CANN ops-math包**部分可以跳过。117+本项目源码编译用到的依赖如下,请参考[算子调用](../../../docs/zh/invocation/quick_op_invocation.md)文档中的**前提条件**和**环境准备**章节,完成环境依赖的下载和CANN包的准备,其中,**环境准备**章节中的**安装社区版CANN ops-math包**部分可以跳过。
118 118 
119**编译执行**119**编译执行**
120 120 
@@ -154,7 +154,7 @@
154 154 
155- **执行算子样例**155- **执行算子样例**
156 156 
157- - 本示例算子目前仅支持基于单算子API执行方式调用算子,即[两段式aclnn接口](../../../docs/context/两段式接口.md)调用,本示例的aclnn接口定义在[op_api](../all_gather_add/op_host/op_api)路径下。157+ - 本示例算子目前仅支持基于单算子API执行方式调用算子,即[两段式aclnn接口](../../../docs/zh/context/两段式接口.md)调用,本示例的aclnn接口定义在[op_api](../all_gather_add/op_host/op_api)路径下。
158 158
159 如需执行该样例算子,需按以下步骤操作:159 如需执行该样例算子,需按以下步骤操作:
160 160 
@@ -1,68 +0,0 @@
1-approvers:
2-- andylhy
3-- xiaolong_han
4-- huxiaobang
5-- fanqirui
6-- luanma_bl
7-- chenbinbin199309
8-- chen-kang30
9-- chq317
10-- chaotang233
11-- fang-guocan
12-- xu-binglin
13-- yangyang016
14-- wuyi_huawei
15-- zhao-yingchao
16-- shi-ray
17-- hilihli
18-- crystalhu
19-- yu-xinjie62
20- 
21-reviewers:
22-- li-xulong
23-- Allan_Yu
24-- mabing726
25-- miao-fangzheng
26-- chengsheng304064
27-- miao-fangzheng
28-- wang-fei6
29-- shawn-hu
30-- li-shengxian
31-- xig514
32-- hilihli
33-- chen-vvjob
34-- renkyk
35-- yang-binrong
36-- song-jionghui
37-- wang-zhe123456789
38-- huangli70
39-- huangwei791
40-- shunqi
41-- wangjun-qt
42-- jiang-lirui
43-- realmadrid1016
44-- monologue815
45-- zhangtj0209
46-- GodantShen
47-- Liexss
48-- fzzach
49-- zhanglei_hw
50-- songkai-huawei
51-- yangxu19921206
52-- crystalhu
53-- yu-xinjie62
54-- zhu-yijun-Julius
55- 
56-files:
57- "aclnn_ffn_v2.h":
58- approvers:
59- - Allan_Yu
60- "aclnn_ffn_v3.h":
61- approvers:
62- - Allan_Yu
63- "aclnn_ffn.h":
64- approvers:
65- - Allan_Yu
66- "ffn_def.cpp":
67- approvers:
68- - Allan_Yu
@@ -26,11 +26,11 @@
26 |版本变化 | Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件/A3 训练系列产品/Atlas A3 推理系列产品 |26 |版本变化 | Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件/A3 训练系列产品/Atlas A3 推理系列产品 |
27 |---------|----------|27 |---------|----------|
28 |V4 -> V5| 增加可选参数tuningConfigOptional,调优参数。数组中第一个值表示各个专家处理的token数的预期值,算子tiling时会按照该预期值进行最优tiling。 |28 |V4 -> V5| 增加可选参数tuningConfigOptional,调优参数。数组中第一个值表示各个专家处理的token数的预期值,算子tiling时会按照该预期值进行最优tiling。 |
29- |V1 -> V4| 支持不同分组轴,由groupType表示。<br />非量化场景,支持x,weight转置(转置指若shape为[M,K]时,则stride为[1, M],数据排布为[K,M]的场景)。<br />量化、伪量化场景,支持weight转置,支持weight为单tensor。<br />x、weight、y都为单tensor非量化场景,支持x,weight输入都为float32类型。<br />支持静态量化(pertensor+perchannel)(量化方式请参见[量化介绍](../../../docs/context/量化介绍.md),下同)BFLOAT16和FLOAT16输出,带激活及不带激活场景。<br />支持动态量化(pertoken+perchannel)BFLOAT16和FLOAT16输出,带激活及不带激活场景。<br />支持伪量化weight是INT4的输入,不带激活场景,支持perchannel和pergroup两种模式。 |29+ |V1 -> V4| 支持不同分组轴,由groupType表示。<br />非量化场景,支持x,weight转置(转置指若shape为[M,K]时,则stride为[1, M],数据排布为[K,M]的场景)。<br />量化、伪量化场景,支持weight转置,支持weight为单tensor。<br />x、weight、y都为单tensor非量化场景,支持x,weight输入都为float32类型。<br />支持静态量化(pertensor+perchannel)(量化方式请参见[量化介绍](../../../docs/zh/context/量化介绍.md),下同)BFLOAT16和FLOAT16输出,带激活及不带激活场景。<br />支持动态量化(pertoken+perchannel)BFLOAT16和FLOAT16输出,带激活及不带激活场景。<br />支持伪量化weight是INT4的输入,不带激活场景,支持perchannel和pergroup两种模式。 |
30 30 
31## 函数原型31## 函数原型
32 32 
33-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnGroupedMatmulV5GetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnGroupedMatmulV5”接口执行计算。33+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnGroupedMatmulV5GetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnGroupedMatmulV5”接口执行计算。
34 34 
35```c++35```c++
36aclnnStatus aclnnGroupedMatmulV5GetWorkspaceSize(36aclnnStatus aclnnGroupedMatmulV5GetWorkspaceSize(
@@ -319,7 +319,7 @@ aclnnStatus aclnnGroupedMatmulV5(
319 319 
320- **返回值:**320- **返回值:**
321 321 
322- aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。322+ aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
323 323 
324 第一阶段接口完成入参校验,出现以下场景时报错。324 第一阶段接口完成入参校验,出现以下场景时报错。
325 325 
@@ -382,7 +382,7 @@ aclnnStatus aclnnGroupedMatmulV5(
382 382 
383- **返回值:**383- **返回值:**
384 384 
385- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。385+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
386 386 
387## 场景分类387## 场景分类
388 388 
@@ -463,9 +463,9 @@ aclnnStatus aclnnGroupedMatmulV5(
463 463 
464 - **公共约束**464 - **公共约束**
465 <a id="公共约束"></a>465 <a id="公共约束"></a>
466- - x和weight若需要转置,转置对应的tensor必须[非连续](../../../docs/context/非连续的Tensor.md)。466+ - x和weight若需要转置,转置对应的tensor必须[非连续](../../../docs/zh/context/非连续的Tensor.md)。
467 - x和weight中每一组tensor的最后一维大小都应小于65536。$x_i$的最后一维指当x不转置时$x_i$的K轴或当x转置时$x_i$的M轴。$weight_i$的最后一维指当weight不转置时$weight_i$的N轴或当weight转置时$weight_i$的K轴。467 - x和weight中每一组tensor的最后一维大小都应小于65536。$x_i$的最后一维指当x不转置时$x_i$的K轴或当x转置时$x_i$的M轴。$weight_i$的最后一维指当weight不转置时$weight_i$的N轴或当weight转置时$weight_i$的K轴。
468- - 当weight[数据格式](../../../docs/context/数据格式.md)为FRACTAL_NZ格式时,要求weight的Shape满足FRACTAL_NZ格式要求。468+ - 当weight[数据格式](../../../docs/zh/context/数据格式.md)为FRACTAL_NZ格式时,要求weight的Shape满足FRACTAL_NZ格式要求。
469 - perTokenScaleOptional:一般情况下,只支持1维且长度与x的M相同。仅支持x、weight、out均为单tensor(TensorList长度为1)场景。469 - perTokenScaleOptional:一般情况下,只支持1维且长度与x的M相同。仅支持x、weight、out均为单tensor(TensorList长度为1)场景。
470 - groupListOptional:当输出中TensorList的长度为1时,groupListOptional约束了输出数据的有效部分,groupListOptional中未指定的部分将不会参与更新。470 - groupListOptional:当输出中TensorList的长度为1时,groupListOptional约束了输出数据的有效部分,groupListOptional中未指定的部分将不会参与更新。
471 - groupListType为0时要求groupListOptional中数值为非负单调非递减数列,表示分组轴大小的cumsum结果(累积和),groupListType为1时要求groupListOptional中数值为非负数列,表示分组轴上每组大小,groupListType为2时要求 groupListOptional中数值为非负数列,shape为[g, 2],e表示Group大小,数据排布为[[groupIdx0, groupSize0], [groupIdx1, groupSize1]...],其中groupSize为分组轴上每组大小,详见[groupListOptional配置示例](#grouplistoptional配置示例)。471 - groupListType为0时要求groupListOptional中数值为非负单调非递减数列,表示分组轴大小的cumsum结果(累积和),groupListType为1时要求groupListOptional中数值为非负数列,表示分组轴上每组大小,groupListType为2时要求 groupListOptional中数值为非负数列,shape为[g, 2],e表示Group大小,数据排布为[[groupIdx0, groupSize0], [groupIdx1, groupSize1]...],其中groupSize为分组轴上每组大小,详见[groupListOptional配置示例](#grouplistoptional配置示例)。
@@ -678,7 +678,7 @@ aclnnStatus aclnnGroupedMatmulV5(
678</details>678</details>
679 679 
680## 调用示例680## 调用示例
681-调用示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。681+调用示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
682 682 
683 ```c++683 ```c++
684 #include <iostream>684 #include <iostream>
@@ -1,67 +0,0 @@
1-approvers:
2-- andylhy
3-- xiaolong_han
4-- huxiaobang
5-- fanqirui
6-- luanma_bl
7-- chenbinbin199309
8-- chen-kang30
9-- chq317
10-- chaotang233
11-- fang-guocan
12-- xu-binglin
13-- yangyang016
14-- wuyi_huawei
15-- zhao-yingchao
16-- shi-ray
17-- crystalhu
18-- yu-xinjie62
19-- zcc9707
20-- liuzhuheng
21-- juyangokok
22- 
23-reviewers:
24-- li-xulong
25-- Allan_Yu
26-- mabing726
27-- miao-fangzheng
28-- chengsheng304064
29-- miao-fangzheng
30-- wang-fei6
31-- shawn-hu
32-- li-shengxian
33-- xig514
34-- chen-vvjob
35-- renkyk
36-- yang-binrong
37-- song-jionghui
38-- wang-zhe123456789
39-- huangli70
40-- huangwei791
41-- shunqi
42-- wangjun-qt
43-- jiang-lirui
44-- realmadrid1016
45-- monologue815
46-- zhangtj0209
47-- GodantShen
48-- Liexss
49-- fzzach
50-- zhanglei_hw
51-- songkai-huawei
52-- yangxu19921206
53-- crystalhu
54-- yu-xinjie62
55-- zhu-yijun-Julius
56- 
57-files:
58- "aclnn_grouped_matmul.h":
59- approvers:
60- - Allan_Yu
61- - wang-yongguang
62- - juyangokok
63- "grouped_matmul_def.cpp":
64- approvers:
65- - Allan_Yu
66- - wang-yongguang
67- - juyangokok
@@ -13,7 +13,7 @@
13 13 
14## 函数原型14## 函数原型
15 15 
16-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnGroupedMatmulFinalizeRoutingGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnGroupedMatmulFinalizeRouting”接口执行计算。16+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnGroupedMatmulFinalizeRoutingGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnGroupedMatmulFinalizeRouting”接口执行计算。
17```cpp17```cpp
18aclnnStatus aclnnGroupedMatmulFinalizeRoutingGetWorkspaceSize(18aclnnStatus aclnnGroupedMatmulFinalizeRoutingGetWorkspaceSize(
19 const aclTensor *x, 19 const aclTensor *x,
@@ -283,7 +283,7 @@ aclnnStatus aclnnGroupedMatmulFinalizeRouting(
283 283 
284- **返回值:**284- **返回值:**
285 285 
286- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。286+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
287 287
288 第一段接口完成入参校验,出现以下场景时报错:288 第一段接口完成入参校验,出现以下场景时报错:
289 <table style="undefined;table-layout: fixed;width: 1155px"><colgroup>289 <table style="undefined;table-layout: fixed;width: 1155px"><colgroup>
@@ -360,7 +360,7 @@ aclnnStatus aclnnGroupedMatmulFinalizeRouting(
360 360 
361- **返回值:**361- **返回值:**
362 362 
363- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。363+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
364 364 
365## 约束说明365## 约束说明
366**伪量化场景支持类型**366**伪量化场景支持类型**
@@ -373,7 +373,7 @@ aclnnStatus aclnnGroupedMatmulFinalizeRouting(
373 - 在该场景中,biasOptional代表离线计算的辅助结果,值要求为$8 \times w \times scaleOptional$,并在第一维累加。373 - 在该场景中,biasOptional代表离线计算的辅助结果,值要求为$8 \times w \times scaleOptional$,并在第一维累加。
374 374 
375## 调用示例375## 调用示例
376-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。376+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
377 377 
378 ```Cpp378 ```Cpp
379 #include <iostream>379 #include <iostream>
@@ -14,7 +14,7 @@
14 14 
15## 函数原型15## 函数原型
16 16 
17-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnGroupedMatmulFinalizeRoutingV2GetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnGroupedMatmulFinalizeRoutingV2”接口执行计算。17+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnGroupedMatmulFinalizeRoutingV2GetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnGroupedMatmulFinalizeRoutingV2”接口执行计算。
18 18 
19```cpp19```cpp
20aclnnStatus aclnnGroupedMatmulFinalizeRoutingV2GetWorkspaceSize(20aclnnStatus aclnnGroupedMatmulFinalizeRoutingV2GetWorkspaceSize(
@@ -297,7 +297,7 @@ aclnnStatus aclnnGroupedMatmulFinalizeRoutingV2(
297 297 
298- **返回值:**298- **返回值:**
299 299 
300- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。300+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
301 301
302 第一段接口完成入参校验,出现以下场景时报错:302 第一段接口完成入参校验,出现以下场景时报错:
303 <table style="undefined;table-layout: fixed;width: 1155px"><colgroup>303 <table style="undefined;table-layout: fixed;width: 1155px"><colgroup>
@@ -374,7 +374,7 @@ aclnnStatus aclnnGroupedMatmulFinalizeRoutingV2(
374 374 
375- **返回值:**375- **返回值:**
376 376 
377- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。377+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
378 378 
379## 约束说明379## 约束说明
380**伪量化场景支持类型**380**伪量化场景支持类型**
@@ -390,7 +390,7 @@ aclnnStatus aclnnGroupedMatmulFinalizeRoutingV2(
390 - 在该场景中,antiquantScaleOptional、antiquantOffsetOptional必须设置为空。390 - 在该场景中,antiquantScaleOptional、antiquantOffsetOptional必须设置为空。
391 391 
392## 调用示例392## 调用示例
393-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。393+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
394 394 
395 ```Cpp395 ```Cpp
396 #include <iostream>396 #include <iostream>
@@ -15,7 +15,7 @@ GroupedMatmul和MoeFinalizeRouting的融合算子,GroupedMatmul计算后的输
15 15 
16## 函数原型16## 函数原型
17 17 
18-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnGroupedMatmulFinalizeRoutingV3GetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnGroupedMatmulFinalizeRoutingV3”接口执行计算。18+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnGroupedMatmulFinalizeRoutingV3GetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnGroupedMatmulFinalizeRoutingV3”接口执行计算。
19 19 
20```cpp20```cpp
21aclnnStatus aclnnGroupedMatmulFinalizeRoutingV3GetWorkspaceSize(21aclnnStatus aclnnGroupedMatmulFinalizeRoutingV3GetWorkspaceSize(
@@ -323,7 +323,7 @@ aclnnStatus aclnnGroupedMatmulFinalizeRoutingV3(
323 323 
324- **返回值:**324- **返回值:**
325 325 
326- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。326+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
327 327
328 第一段接口完成入参校验,出现以下场景时报错:328 第一段接口完成入参校验,出现以下场景时报错:
329 <table style="undefined;table-layout: fixed;width: 1155px"><colgroup>329 <table style="undefined;table-layout: fixed;width: 1155px"><colgroup>
@@ -400,7 +400,7 @@ aclnnStatus aclnnGroupedMatmulFinalizeRoutingV3(
400 400 
401- **返回值:**401- **返回值:**
402 402 
403- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。403+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
404 404 
405## 约束说明405## 约束说明
406**伪量化场景支持类型**406**伪量化场景支持类型**
@@ -416,7 +416,7 @@ aclnnStatus aclnnGroupedMatmulFinalizeRoutingV3(
416 - 在该场景中,antiquantScaleOptional、antiquantOffsetOptional必须设置为空。416 - 在该场景中,antiquantScaleOptional、antiquantOffsetOptional必须设置为空。
417 417 
418## 调用示例418## 调用示例
419-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。419+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
420 420 
421 ```Cpp421 ```Cpp
422 #include <iostream>422 #include <iostream>
@@ -13,7 +13,7 @@
13 13 
14## 函数原型14## 函数原型
15 15 
16-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnGroupedMatmulFinalizeRoutingWeightNzGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnGroupedMatmulFinalizeRoutingWeightNz”接口执行计算。16+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnGroupedMatmulFinalizeRoutingWeightNzGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnGroupedMatmulFinalizeRoutingWeightNz”接口执行计算。
17 17 
18```cpp18```cpp
19aclnnStatus aclnnGroupedMatmulFinalizeRoutingWeightNzGetWorkspaceSize(19aclnnStatus aclnnGroupedMatmulFinalizeRoutingWeightNzGetWorkspaceSize(
@@ -255,7 +255,7 @@ aclnnStatus aclnnGroupedMatmulFinalizeRoutingWeightNz(
255 255 
256- **返回值:**256- **返回值:**
257 257 
258- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。258+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
259 259
260 第一段接口完成入参校验,出现以下场景时报错:260 第一段接口完成入参校验,出现以下场景时报错:
261 <table style="undefined;table-layout: fixed;width: 1155px"><colgroup>261 <table style="undefined;table-layout: fixed;width: 1155px"><colgroup>
@@ -332,7 +332,7 @@ aclnnStatus aclnnGroupedMatmulFinalizeRoutingWeightNz(
332 332 
333- **返回值:**333- **返回值:**
334 334 
335- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。335+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
336 336 
337## 约束说明337## 约束说明
338输入和输出支持以下数据类型组合:338输入和输出支持以下数据类型组合:
@@ -343,7 +343,7 @@ aclnnStatus aclnnGroupedMatmulFinalizeRoutingWeightNz(
343| INT8 | INT8 | FLOAT32 | null | FLOAT32 | INT64 | null | null | INT64 | FLOAT |343| INT8 | INT8 | FLOAT32 | null | FLOAT32 | INT64 | null | null | INT64 | FLOAT |
344 344 
345## 调用示例345## 调用示例
346-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。346+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
347 347 
348 ```Cpp348 ```Cpp
349 #include <iostream>349 #include <iostream>
@@ -15,7 +15,7 @@
15 15 
16## 函数原型16## 函数原型
17 17 
18-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnGroupedMatmulFinalizeRoutingWeightNzV2GetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnGroupedMatmulFinalizeRoutingWeightNzV2”接口执行计算。18+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnGroupedMatmulFinalizeRoutingWeightNzV2GetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnGroupedMatmulFinalizeRoutingWeightNzV2”接口执行计算。
19```cpp19```cpp
20aclnnStatus aclnnGroupedMatmulFinalizeRoutingWeightNzV2GetWorkspaceSize(20aclnnStatus aclnnGroupedMatmulFinalizeRoutingWeightNzV2GetWorkspaceSize(
21 const aclTensor *x1,21 const aclTensor *x1,
@@ -300,7 +300,7 @@ aclnnStatus aclnnGroupedMatmulFinalizeRoutingWeightNzV2(
300 300 
301- **返回值:**301- **返回值:**
302 302 
303- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。303+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
304 304
305 第一段接口完成入参校验,出现以下场景时报错:305 第一段接口完成入参校验,出现以下场景时报错:
306 <table style="undefined;table-layout: fixed;width: 1155px"><colgroup>306 <table style="undefined;table-layout: fixed;width: 1155px"><colgroup>
@@ -377,7 +377,7 @@ aclnnStatus aclnnGroupedMatmulFinalizeRoutingWeightNzV2(
377 377 
378- **返回值:**378- **返回值:**
379 379 
380- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。380+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
381 381 
382## 约束说明382## 约束说明
383输入和输出支持以下数据类型组合:383输入和输出支持以下数据类型组合:
@@ -390,7 +390,7 @@ aclnnStatus aclnnGroupedMatmulFinalizeRoutingWeightNzV2(
390| INT8 | INT4 | INT64 | FLOAT32 | null | null | null | FLOAT32 | INT64 | BFLOAT16 | FLOAT32 | INT64 | FLOAT | IntArray |390| INT8 | INT4 | INT64 | FLOAT32 | null | null | null | FLOAT32 | INT64 | BFLOAT16 | FLOAT32 | INT64 | FLOAT | IntArray |
391 391 
392## 调用示例392## 调用示例
393-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。393+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
394 394 
395 ```Cpp395 ```Cpp
396 #include <iostream>396 #include <iostream>
@@ -1,52 +0,0 @@
1-approvers:
2-- zcc9707
3-- liuzhuheng
4-- juyangokok
5- 
6-reviewers:
7-- li-xulong
8-- Allan_Yu
9-- mabing726
10-- miao-fangzheng
11-- miao-fangzheng
12-- wang-fei6
13-- shawn-hu
14-- li-shengxian
15-- xig514
16-- hilihli
17-- chen-vvjob
18-- renkyk
19-- yang-binrong
20-- song-jionghui
21-- wang-zhe123456789
22-- huangli70
23-- huangwei791
24-- shunqi
25-- wangjun-qt
26-- jiang-lirui
27-- R_DDog
28-- realmadrid1016
29-- monologue815
30-- zhangtj0209
31-- GodantShen
32-- Liexss
33-- fzzach
34-- zhanglei_hw
35-- songkai-huawei
36-- yangxu19921206
37-- crystalhu
38-- yu-xinjie62
39-- zhu-yijun-Julius
40-- chen-kang30
41-- chq317
42-- zhao-yingchao
43-- chaotang233
44-- luanma_bl
45-- fanqirui
46-- wuyi_huawei
47-- chenbinbin199309
48-- xu-binglin
49-- shi-ray
50-- llim
51-- zhanglei_hw
52-- luyoubing
@@ -271,7 +271,7 @@ aclnnStatus aclnnAllGatherMatmul(
271 271 
272## 调用示例272## 调用示例
273 273 
274-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。274+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
275 275 
276- <term>Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件</term><term>Atlas A3 训练系列产品/Atlas A3 推理系列产品</term>276- <term>Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件</term><term>Atlas A3 训练系列产品/Atlas A3 推理系列产品</term>
277 ```Cpp277 ```Cpp
@@ -22,7 +22,7 @@
22 - `timeOutOptional`≠0:通过传入大于0的`timeOutOptional`参数(单位为us)使能本特性,最大支持传入INT32_MAX。当算子内部同步等待时间超过给定timeOut时,则认为所在卡存在超时异常。22 - `timeOutOptional`≠0:通过传入大于0的`timeOutOptional`参数(单位为us)使能本特性,最大支持传入INT32_MAX。当算子内部同步等待时间超过给定timeOut时,则认为所在卡存在超时异常。
23## 函数原型23## 函数原型
24 24 
25-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用 “aclnnDistributeBarrierV2GetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnDistributeBarrierV2”接口执行计算。25+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用 “aclnnDistributeBarrierV2GetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnDistributeBarrierV2”接口执行计算。
26 26 
27```cpp27```cpp
28aclnnStatus aclnnDistributeBarrierV2GetWorkspaceSize(28aclnnStatus aclnnDistributeBarrierV2GetWorkspaceSize(
@@ -146,7 +146,7 @@ aclnnStatus aclnnDistributeBarrierV2(
146 146
147- **返回值**147- **返回值**
148 148 
149- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。149+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
150 150
151 第一段接口完成入参校验,出现以下场景时报错:151 第一段接口完成入参校验,出现以下场景时报错:
152 152 
@@ -218,7 +218,7 @@ aclnnStatus aclnnDistributeBarrierV2(
218 218
219- **返回值**219- **返回值**
220 220 
221- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。221+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
222 222 
223## 约束说明223## 约束说明
224 224 
@@ -18,7 +18,7 @@
18 18 
19## 函数原型19## 函数原型
20 20 
21-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用 “aclnnElasticReceivableInfoCollectGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnElasticReceivableInfoCollect”接口执行计算。21+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用 “aclnnElasticReceivableInfoCollectGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnElasticReceivableInfoCollect”接口执行计算。
22 22 
23```cpp23```cpp
24aclnnStatus aclnnElasticReceivableInfoCollectGetWorkspaceSize(24aclnnStatus aclnnElasticReceivableInfoCollectGetWorkspaceSize(
@@ -119,7 +119,7 @@ aclnnStatus aclnnElasticReceivableInfoCollect(
119 119 
120- **返回值**120- **返回值**
121 121 
122- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。122+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
123 123 
124 第一段接口完成入参校验,出现以下场景时报错:124 第一段接口完成入参校验,出现以下场景时报错:
125 125 
@@ -193,7 +193,7 @@ aclnnStatus aclnnElasticReceivableInfoCollect(
193 193 
194- **返回值**194- **返回值**
195 195 
196- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。196+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
197 197 
198## 约束说明198## 约束说明
199 199 
@@ -18,7 +18,7 @@
18 18 
19## 函数原型19## 函数原型
20 20 
21-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用 “aclnnElasticReceivableTestGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnElasticReceivableTest”接口执行计算。21+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用 “aclnnElasticReceivableTestGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnElasticReceivableTest”接口执行计算。
22 22 
23```cpp23```cpp
24aclnnStatus aclnnElasticReceivableTestGetWorkspaceSize(24aclnnStatus aclnnElasticReceivableTestGetWorkspaceSize(
@@ -131,7 +131,7 @@ aclnnStatus aclnnElasticReceivableTest(
131 131 
132- **返回值**132- **返回值**
133 133 
134- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。134+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
135 135 
136 第一段接口完成入参校验,出现以下场景时报错:136 第一段接口完成入参校验,出现以下场景时报错:
137 137 
@@ -204,7 +204,7 @@ aclnnStatus aclnnElasticReceivableTest(
204 204 
205- **返回值**205- **返回值**
206 206 
207- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。207+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
208 208 
209## 约束说明209## 约束说明
210 210 
@@ -10,7 +10,7 @@
10 10 
11## 功能说明11## 功能说明
12 12 
13-- **算子功能**:aclnnQuantMatmulAllReduceV2接口是对aclnnQuantMatmulAllReduce接口的功能扩展,新增支持pertensor量化方式。aclnnQuantMatmulAllReduceV2共支持pertensor、perchannel、pertoken[量化方式](../../../docs/context/量化介绍.md)。13+- **算子功能**:aclnnQuantMatmulAllReduceV2接口是对aclnnQuantMatmulAllReduce接口的功能扩展,新增支持pertensor量化方式。aclnnQuantMatmulAllReduceV2共支持pertensor、perchannel、pertoken[量化方式](../../../docs/zh/context/量化介绍.md)。
14 14 
15- **计算公式**15- **计算公式**
16 16 
@@ -10,7 +10,7 @@
10 10 
11## 功能说明11## 功能说明
12 12 
13-- **算子功能**:aclnnQuantMatmulAllReduceV3接口是对aclnnQuantMatmulAllReduceV2接口的功能扩展, 新增支持低比特通信:matmul的计算结果依次进行all_to_all通信、reduceSum计算、allgather通信、dequant反量化,代替先dequant和pertoken计算、再all_reduce通信的原流程。支持pertensor、perchannel、pertoken[量化方式](../../../docs/context/量化介绍.md)。13+- **算子功能**:aclnnQuantMatmulAllReduceV3接口是对aclnnQuantMatmulAllReduceV2接口的功能扩展, 新增支持低比特通信:matmul的计算结果依次进行all_to_all通信、reduceSum计算、allgather通信、dequant反量化,代替先dequant和pertoken计算、再all_reduce通信的原流程。支持pertensor、perchannel、pertoken[量化方式](../../../docs/zh/context/量化介绍.md)。
14 14 
15- **计算公式**15- **计算公式**
16 16 
@@ -323,7 +323,7 @@ aclnnStatus aclnnWeightQuantMatmulAllReduce(
323 323 
324## 调用示例324## 调用示例
325 325 
326-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。326+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
327 327 
328- <term>Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件</term>328- <term>Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件</term>
329 ```Cpp329 ```Cpp
@@ -18,7 +18,7 @@
18 18 
19## 函数原型19## 函数原型
20 20 
21-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnMoeDistributeBufferResetGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnMoeDistributeBufferReset”接口执行计算。21+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnMoeDistributeBufferResetGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnMoeDistributeBufferReset”接口执行计算。
22 22 
23```cpp23```cpp
24aclnnStatus aclnnMoeDistributeBufferResetGetWorkspaceSize(24aclnnStatus aclnnMoeDistributeBufferResetGetWorkspaceSize(
@@ -131,7 +131,7 @@ aclnnStatus aclnnMoeDistributeBufferReset(
131 131 
132- **返回值**132- **返回值**
133 133 
134- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。134+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
135 135 
136 第一段接口完成入参校验,出现以下场景时报错:136 第一段接口完成入参校验,出现以下场景时报错:
137 137 
@@ -204,7 +204,7 @@ aclnnStatus aclnnMoeDistributeBufferReset(
204 204 
205- **返回值**205- **返回值**
206 206 
207- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。207+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
208 208 
209## 约束说明209## 约束说明
210 210 
@@ -440,7 +440,7 @@ aclnnStatus aclnnMoeDistributeCombine(
440 440
441 2. 将项目拷贝到两台服务器中,并根据机器的device ip配置rank_table_m2.json文件内容。注意两机rank_table_m2.json文件保持一致。441 2. 将项目拷贝到两台服务器中,并根据机器的device ip配置rank_table_m2.json文件内容。注意两机rank_table_m2.json文件保持一致。
442 442
443- 3. 安装cann包,并根据[算子调用](../../../docs/invocation/quick_op_invocation.md)编译运行。443+ 3. 安装cann包,并根据[算子调用](../../../docs/zh/invocation/quick_op_invocation.md)编译运行。
444 444 
445 - 关于rankTable:445 - 关于rankTable:
446 446
@@ -479,7 +479,7 @@ aclnnStatus aclnnMoeDistributeCombineV2(
479 479
480 2. 将项目拷贝到两台服务器中,并根据机器的device ip配置rank_table_m2.json文件内容。注意两机rank_table_m2.json文件保持一致。480 2. 将项目拷贝到两台服务器中,并根据机器的device ip配置rank_table_m2.json文件内容。注意两机rank_table_m2.json文件保持一致。
481 481
482- 3. 安装cann包,并根据[算子调用](../../../docs/invocation/quick_op_invocation.md)编译运行。482+ 3. 安装cann包,并根据[算子调用](../../../docs/zh/invocation/quick_op_invocation.md)编译运行。
483 483 
484 - 关于rankTable:484 - 关于rankTable:
485 485
@@ -421,7 +421,7 @@ aclnnStatus aclnnMoeDistributeDispatch(
421 421
422 2. 将项目拷贝到两台服务器中,并根据机器的device ip配置rank_table_m2.json文件内容。注意两机rank_table_m2.json文件保持一致。422 2. 将项目拷贝到两台服务器中,并根据机器的device ip配置rank_table_m2.json文件内容。注意两机rank_table_m2.json文件保持一致。
423 423
424- 3. 安装cann包,并根据[算子调用](../../../docs/invocation/quick_op_invocation.md)编译运行。424+ 3. 安装cann包,并根据[算子调用](../../../docs/zh/invocation/quick_op_invocation.md)编译运行。
425 425 
426 - 关于rankTable:426 - 关于rankTable:
427 427
@@ -460,7 +460,7 @@ aclnnStatus aclnnMoeDistributeDispatchV2(
460 460
461 2. 将项目拷贝到两台服务器中,并根据机器的device ip配置rank_table_m2.json文件内容。注意两机rank_table_m2.json文件保持一致。461 2. 将项目拷贝到两台服务器中,并根据机器的device ip配置rank_table_m2.json文件内容。注意两机rank_table_m2.json文件保持一致。
462 462
463- 3. 安装cann包,并根据[算子调用](../../../docs/invocation/quick_op_invocation.md)编译运行。463+ 3. 安装cann包,并根据[算子调用](../../../docs/zh/invocation/quick_op_invocation.md)编译运行。
464 464 
465 - 关于rankTable:465 - 关于rankTable:
466 466
@@ -22,7 +22,7 @@
22 22 
23## 函数原型23## 函数原型
24 24 
25-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnMoeFinalizeRoutingV2GetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnMoeFinalizeRoutingV2”接口执行计算。25+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnMoeFinalizeRoutingV2GetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnMoeFinalizeRoutingV2”接口执行计算。
26 26 
27```c++27```c++
28aclnnStatus aclnnMoeFinalizeRoutingV2GetWorkspaceSize(28aclnnStatus aclnnMoeFinalizeRoutingV2GetWorkspaceSize(
@@ -191,7 +191,7 @@ aclnnStatus aclnnMoeFinalizeRoutingV2(
191 191 
192- **返回值:**192- **返回值:**
193 193 
194- aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。194+ aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
195 195 
196 第一段接口完成入参校验,出现以下场景时报错:196 第一段接口完成入参校验,出现以下场景时报错:
197 197 
@@ -268,7 +268,7 @@ aclnnStatus aclnnMoeFinalizeRoutingV2(
268 268 
269- **返回值**269- **返回值**
270 270
271- aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。271+ aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
272 272 
273## 约束说明273## 约束说明
2741. 确定性计算:默认确定性实现。2741. 确定性计算:默认确定性实现。
@@ -295,7 +295,7 @@ C:表示expert capacity,即专家处理token数量的能力阈值。
295 295 
296## 调用示例296## 调用示例
297 297 
298-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。298+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
299```cpp299```cpp
300#include "acl/acl.h"300#include "acl/acl.h"
301#include "aclnnop/aclnn_moe_finalize_routing_v2.h"301#include "aclnnop/aclnn_moe_finalize_routing_v2.h"
@@ -254,7 +254,7 @@ aclnnStatus aclnnMoeGatingTopK(
254 254 
255- **返回值:**255- **返回值:**
256 256 
257- <p>aclnnStatus:返回状态码,具体参见<a href="../../../docs/context/aclnn返回码.md">aclnn返回码</a>。</p>257+ <p>aclnnStatus:返回状态码,具体参见<a href="../../../docs/zh/context/aclnn返回码.md">aclnn返回码</a>。</p>
258 <p>第一段接口完成入参校验,出现以下场景报错:</p>258 <p>第一段接口完成入参校验,出现以下场景报错:</p>
259 <table style="undefined;table-layout: fixed;width: 1155px"><colgroup>259 <table style="undefined;table-layout: fixed;width: 1155px"><colgroup>
260 <col style="width: 319px">260 <col style="width: 319px">
@@ -333,7 +333,7 @@ aclnnStatus aclnnMoeGatingTopK(
333 333 
334- **返回值:**334- **返回值:**
335 335 
336- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。336+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
337 337 
338## 约束说明338## 约束说明
339 * 输入shape限制:339 * 输入shape限制:
@@ -346,7 +346,7 @@ aclnnStatus aclnnMoeGatingTopK(
346 346 
347## 调用示例347## 调用示例
348 348 
349-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。349+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
350 350 
351```Cpp351```Cpp
352#include "acl/acl.h"352#include "acl/acl.h"
@@ -50,7 +50,7 @@
50 50 
51## 函数原型51## 函数原型
52 52 
53-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnMoeInitRoutingV2GetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnMoeInitRoutingV2”接口执行计算。53+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnMoeInitRoutingV2GetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnMoeInitRoutingV2”接口执行计算。
54```cpp54```cpp
55aclnnStatus aclnnMoeInitRoutingV2GetWorkspaceSize(55aclnnStatus aclnnMoeInitRoutingV2GetWorkspaceSize(
56 const aclTensor *x, 56 const aclTensor *x,
@@ -246,7 +246,7 @@ aclnnStatus aclnnMoeInitRoutingV2(
246 246 
247- **返回值:**247- **返回值:**
248 248 
249- `aclnnStatus`:返回状态码,具体参见 <a href="../../../docs/context/aclnn返回码.md">aclnn 返回码</a>。249+ `aclnnStatus`:返回状态码,具体参见 <a href="../../../docs/zh/context/aclnn返回码.md">aclnn 返回码</a>。
250 250 
251 一段接口完成入参校验,出现以下场景时报错:251 一段接口完成入参校验,出现以下场景时报错:
252 <table style="undefined;table-layout: fixed; width: 1180px"> 252 <table style="undefined;table-layout: fixed; width: 1180px">
@@ -330,14 +330,14 @@ aclnnStatus aclnnMoeInitRoutingV2(
330 </tbody></table>330 </tbody></table>
331- **返回值:**331- **返回值:**
332 332 
333- aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。333+ aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
334## 约束说明334## 约束说明
335 335 
336aclnnMoeInitRoutingV2默认确定性实现。336aclnnMoeInitRoutingV2默认确定性实现。
337 337 
338## 调用示例338## 调用示例
339 339 
340-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。340+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
341 341 
342```c++342```c++
343#include "acl/acl.h"343#include "acl/acl.h"
@@ -70,7 +70,7 @@
70 70 
71## 函数原型71## 函数原型
72 72 
73-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用 “aclnnMoeInitRoutingV3GetWorkspaceSize”接口获取入参并计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnMoeInitRoutingV3”接口执行计算。73+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用 “aclnnMoeInitRoutingV3GetWorkspaceSize”接口获取入参并计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnMoeInitRoutingV3”接口执行计算。
74```Cpp74```Cpp
75aclnnStatus aclnnMoeInitRoutingV3GetWorkspaceSize(75aclnnStatus aclnnMoeInitRoutingV3GetWorkspaceSize(
76 const aclTensor *x, 76 const aclTensor *x,
@@ -338,7 +338,7 @@ aclnnStatus aclnnMoeInitRoutingV3(
338 338 
339- **返回值**339- **返回值**
340 340 
341- <p>aclnnStatus:返回状态码,具体参见<a href="../../../docs/context/aclnn返回码.md">aclnn返回码</a>。</p>341+ <p>aclnnStatus:返回状态码,具体参见<a href="../../../docs/zh/context/aclnn返回码.md">aclnn返回码</a>。</p>
342 <p>第一段接口完成入参校验,出现以下场景报错:</p>342 <p>第一段接口完成入参校验,出现以下场景报错:</p>
343 <table style="undefined;table-layout: fixed;width: 1155px"><colgroup>343 <table style="undefined;table-layout: fixed;width: 1155px"><colgroup>
344 <col style="width: 319px">344 <col style="width: 319px">
@@ -413,7 +413,7 @@ aclnnStatus aclnnMoeInitRoutingV3(
413 413 
414- **返回值:**414- **返回值:**
415 415 
416- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。416+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
417 417 
418## 约束说明418## 约束说明
419 419 
@@ -443,7 +443,7 @@ aclnnStatus aclnnMoeInitRoutingV3(
443 443 
444## 调用示例444## 调用示例
445 445 
446-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。446+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
447 447 
448```Cpp448```Cpp
449#include <iostream>449#include <iostream>
@@ -67,7 +67,7 @@
67 67 
68## 函数原型68## 函数原型
69 69 
70-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnMoeTokenUnpermuteWithRoutingMapGradGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnMoeTokenUnpermuteWithRoutingMapGrad”接口执行计算。70+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnMoeTokenUnpermuteWithRoutingMapGradGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnMoeTokenUnpermuteWithRoutingMapGrad”接口执行计算。
71```c++71```c++
72aclnnStatus aclnnMoeTokenUnpermuteWithRoutingMapGradGetWorkspaceSize(72aclnnStatus aclnnMoeTokenUnpermuteWithRoutingMapGradGetWorkspaceSize(
73 const aclTensor* unpermutedTokensGrad,73 const aclTensor* unpermutedTokensGrad,
@@ -242,7 +242,7 @@ aclnnStatus aclnnMoeTokenUnpermuteWithRoutingMapGrad(
242 242 
243- **返回值:**243- **返回值:**
244 244
245- aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。245+ aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
246 246
247 第一段接口完成入参校验,出现以下场景时报错:247 第一段接口完成入参校验,出现以下场景时报错:
248 248 
@@ -325,7 +325,7 @@ aclnnStatus aclnnMoeTokenUnpermuteWithRoutingMapGrad(
325 325 
326- **返回值:**326- **返回值:**
327 327
328- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。328+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
329 329 
330## 约束说明330## 约束说明
331 331 
@@ -335,7 +335,7 @@ aclnnStatus aclnnMoeTokenUnpermuteWithRoutingMapGrad(
335 335 
336## 调用示例336## 调用示例
337 337 
338-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。338+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
339 339 
340```cpp340```cpp
341#include <iostream>341#include <iostream>
@@ -47,7 +47,7 @@
47 47 
48## 函数原型48## 函数原型
49 49 
50-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnApplyRotaryPosEmbGetWorkspaceSize”接口获取入参并根据流程计算所需workspace大小,再调用“aclnnApplyRotaryPosEmb”接口执行计算。50+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnApplyRotaryPosEmbGetWorkspaceSize”接口获取入参并根据流程计算所需workspace大小,再调用“aclnnApplyRotaryPosEmb”接口执行计算。
51 51 
52```cpp52```cpp
53aclnnStatus aclnnApplyRotaryPosEmbGetWorkspaceSize(53aclnnStatus aclnnApplyRotaryPosEmbGetWorkspaceSize(
@@ -198,7 +198,7 @@ aclnnStatus aclnnApplyRotaryPosEmb(
198 198 
199- **返回值:**199- **返回值:**
200 200 
201- aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。201+ aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
202 <table>202 <table>
203 <tr>203 <tr>
204 <td align="center">返回值</td>204 <td align="center">返回值</td>
@@ -259,7 +259,7 @@ aclnnStatus aclnnApplyRotaryPosEmb(
259 259 
260- **返回值:**260- **返回值:**
261 261 
262- aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。262+ aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
263 263 
264## 约束说明264## 约束说明
265 265 
@@ -276,7 +276,7 @@ aclnnStatus aclnnApplyRotaryPosEmb(
276 276 
277## 调用示例277## 调用示例
278 278 
279-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。279+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
280 280 
281```Cpp281```Cpp
282#include "acl/acl.h"282#include "acl/acl.h"
@@ -303,7 +303,7 @@ aclnnStatus aclnnApplyRotaryPosEmbV2(
303 303 
304- **返回值:**304- **返回值:**
305 305 
306- aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。306+ aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
307 <table>307 <table>
308 308
309 <tr>309 <tr>
@@ -366,7 +366,7 @@ aclnnStatus aclnnApplyRotaryPosEmbV2(
366 366 
367- **返回值:**367- **返回值:**
368 368 
369- aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。369+ aclnnStatus:返回状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
370 370 
371## 约束说明371## 约束说明
372 372 
@@ -386,7 +386,7 @@ aclnnStatus aclnnApplyRotaryPosEmbV2(
386 386 
387## 调用示例387## 调用示例
388 388 
389-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。389+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
390 390 
391```Cpp391```Cpp
392#include "acl/acl.h"392#include "acl/acl.h"
@@ -212,7 +212,7 @@ aclnnStatus aclnnRotaryPositionEmbedding(
212 212 
213- **返回值:**213- **返回值:**
214 214 
215-返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。215+返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
216<table style="undefined;table-layout: fixed;width: 1155px"><colgroup>216<table style="undefined;table-layout: fixed;width: 1155px"><colgroup>
217<col style="width: 319px">217<col style="width: 319px">
218<col style="width: 144px">218<col style="width: 144px">
@@ -289,7 +289,7 @@ aclnnStatus aclnnRotaryPositionEmbedding(
289 289 
290- **返回值:**290- **返回值:**
291 291 
292- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。292+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
293 293 
294## 约束说明294## 约束说明
295 295 
@@ -312,7 +312,7 @@ aclnnStatus aclnnRotaryPositionEmbedding(
312 312 
313## 调用示例313## 调用示例
314 314 
315-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。315+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
316 316 
317```Cpp317```Cpp
318#include "acl/acl.h"318#include "acl/acl.h"
@@ -132,7 +132,7 @@
132 $$132 $$
133 133 
134## 函数原型134## 函数原型
135-每个算子分为[两段式接口](../../../docs/context/两段式接口.md),必须先调用“aclnnRotaryPositionEmbeddingGradGetWorkspaceSize”接口获取入参并根据流程计算所需workspace大小,再调用“aclnnRotaryPositionEmbeddingGrad”接口执行计算。135+每个算子分为[两段式接口](../../../docs/zh/context/两段式接口.md),必须先调用“aclnnRotaryPositionEmbeddingGradGetWorkspaceSize”接口获取入参并根据流程计算所需workspace大小,再调用“aclnnRotaryPositionEmbeddingGrad”接口执行计算。
136 136 
137```c++137```c++
138aclnnStatus aclnnRotaryPositionEmbeddingGradGetWorkspaceSize(138aclnnStatus aclnnRotaryPositionEmbeddingGradGetWorkspaceSize(
@@ -290,7 +290,7 @@ aclnnStatus aclnnRotaryPositionEmbeddingGrad(
290 290 
291- **返回值:**291- **返回值:**
292 292 
293-返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。293+返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
294<table style="undefined;table-layout: fixed;width: 1155px"><colgroup>294<table style="undefined;table-layout: fixed;width: 1155px"><colgroup>
295<col style="width: 319px">295<col style="width: 319px">
296<col style="width: 144px">296<col style="width: 144px">
@@ -367,7 +367,7 @@ aclnnStatus aclnnRotaryPositionEmbeddingGrad(
367 367 
368- **返回值:**368- **返回值:**
369 369 
370- 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/context/aclnn返回码.md)。370+ 返回aclnnStatus状态码,具体参见[aclnn返回码](../../../docs/zh/context/aclnn返回码.md)。
371## 约束说明371## 约束说明
372 - <term>Atlas A3 训练系列产品/Atlas A3 推理系列产品</term><term>Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件</term>372 - <term>Atlas A3 训练系列产品/Atlas A3 推理系列产品</term><term>Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件</term>
373 373 
@@ -388,7 +388,7 @@ aclnnStatus aclnnRotaryPositionEmbeddingGrad(
388 388 
389## 调用示例389## 调用示例
390 390 
391-示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。391+示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。
392 392 
393```Cpp393```Cpp
394#include "acl/acl.h"394#include "acl/acl.h"
@@ -1,26 +0,0 @@
1-approvers:
2-- yangxu19921206
3-- li-shengxian
4-reviewers:
5-- li-xulong
6-- Allan_Yu
7-- mabing726
8-- miao-fangzheng
9-- chengsheng304064
10-- miao-fangzheng
11-- wang-fei6
12-- shawn-hu
13-- li-shengxian
14-- xig514
15-- hilihli
16-- chen-vvjob
17-- renkyk
18-- yang-binrong
19-- wang-zhe123456789
20-- song-jionghui
21-- huangwei791
22-- shunqi
23-- wangjun-qt
24-- jiang-lirui
25-options:
26- no_parent_owners: true