已合并
增加zh路径,修改对应算子说明链接 #451
赵臣臣创建于 2025年12月8日
增加zh路径,修改对应算子说明链接 #451
已合并
从已删除 :master合入到cann/ops-transformermaster
共 121 个文件变更+199-468
| @@ -8,25 +8,25 @@ | |||
| 8 | 8 | ||
| 9 | ops-transformer是[CANN](https://hiascend.com/software/cann) (Compute Architecture for Neural Networks)算子库中提供transformer类大模型计算的进阶算子库,包括attention类、moe类等算子,算子库架构图如下: | 9 | ops-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 | - | 76 | + |
| 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 | ```cpp | 37 | ```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 | ```cpp | 861 | ```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 | ```cpp | 36 | ```cpp |
| 37 | aclnnStatus aclnnFusedInferAttentionScoreV2GetWorkspaceSize( | 37 | aclnnStatus 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 | ```cpp | 1107 | ```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 | ```cpp | 37 | ```cpp |
| 38 | aclnnStatus aclnnFusedInferAttentionScoreV3GetWorkspaceSize( | 38 | aclnnStatus 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 | ```cpp | 1182 | ```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++ |
| 45 | aclnnStatus aclnnFusedInferAttentionScoreV4GetWorkspaceSize( | 45 | aclnnStatus 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 | - | 16 | + |
| 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 | ```cpp | 54 | ```cpp |
| 55 | aclnnStatus aclnnIncreFlashAttentionGetWorkspaceSize( | 55 | aclnnStatus 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 | ```cpp | 336 | ```cpp |
| 337 | #include <iostream> | 337 | #include <iostream> |
| @@ -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 | ```cpp | 56 | ```cpp |
| 57 | aclnnStatus aclnnIncreFlashAttentionV3GetWorkspaceSize( | 57 | aclnnStatus 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 | ```cpp | 472 | ```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 | ```cpp | 56 | ```cpp |
| 57 | aclnnStatus aclnnIncreFlashAttentionV4GetWorkspaceSize( | 57 | aclnnStatus 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 | ```cpp | 480 | ```cpp |
| 481 | #include <iostream> | 481 | #include <iostream> |
| @@ -10,7 +10,7 @@ | |||
| 10 | 10 | ||
| 11 | 图1 计算流程图: | 11 | 图1 计算流程图: |
| 12 | 12 | ||
| 13 | - | 13 | + |
| 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 | - | 53 | + |
| 54 | 54 | ||
| 55 | 1、MatmulCq计算的时候,对Hcq进行了分核,单核没有计算一个完整的token,所以在RmsNormCq计算前, | 55 | 1、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 | -  | 222 | +  |
| 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 | -  | 399 | +  |
| 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 | -  | 404 | +  |
| 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 | ```cpp | 63 | ```cpp |
| 64 | aclnnStatus aclnnMlaPrologGetWorkspaceSize( | 64 | aclnnStatus 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 | ```Cpp | 435 | ```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 | - | 13 | + |
| 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 | - | 55 | + |
| 56 | 56 | ||
| 57 | 1、MatmulCq计算的时候,对Hcq进行了分核,单核没有计算一个完整的token,所以在RmsNormCq计算前, | 57 | 1、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 | -  | 223 | +  |
| 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 | -  | 400 | +  |
| 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 | -  | 405 | +  |
| 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 | ```cpp | 79 | ```cpp |
| 80 | aclnnStatus aclnnMlaPrologV2WeightNzGetWorkspaceSize( | 80 | aclnnStatus 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 | ```Cpp | 579 | ```Cpp |
| 580 | #include <iostream> | 580 | #include <iostream> |
| @@ -10,7 +10,7 @@ | |||
| 10 | 10 | ||
| 11 | 图1 计算流程图: | 11 | 图1 计算流程图: |
| 12 | 12 | ||
| 13 | - | 13 | + |
| 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 | - | 55 | + |
| 56 | 56 | ||
| 57 | 1、MatmulCq计算的时候,对Hcq进行了分核,单核没有计算一个完整的token,所以在RmsNormCq计算前, | 57 | 1、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 | -  | 225 | +  |
| 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 | -  | 402 | +  |
| 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 | -  | 407 | +  |
| 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 | ```cpp | 83 | ```cpp |
| 84 | aclnnStatus aclnnMlaPrologV3WeightNzGetWorkspaceSize( | 84 | aclnnStatus 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 | ```Cpp | 635 | ```Cpp |
| 636 | #include <iostream> | 636 | #include <iostream> |
| @@ -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++ |
| 55 | aclnnStatus aclnnNsaCompressAttentionGetWorkspaceSize( | 55 | aclnnStatus 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 | ```cpp | 32 | ```cpp |
| 33 | aclnnStatus aclnnNsaCompressAttentionInferGetWorkspaceSize( | 33 | aclnnStatus 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++ |
| 34 | aclnnStatus aclnnNsaCompressGradGetWorkspaceSize( | 34 | aclnnStatus 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++ |
| 25 | aclnnStatus aclnnNsaCompressWithCacheGetWorkspaceSize( | 25 | aclnnStatus 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++ |
| 34 | aclnnStatus aclnnNsaSelectedAttentionGetWorkspaceSize( | 34 | aclnnStatus 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++ |
| 46 | aclnnStatus aclnnNsaSelectedAttentionGradGetWorkspaceSize( | 46 | aclnnStatus 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 | -  | 124 | +  |
| 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 | ```cpp | 37 | ```cpp |
| 38 | aclnnStatus aclnnPromptFlashAttentionGetWorkspaceSize( | 38 | aclnnStatus 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 | ```cpp | 37 | ```cpp |
| 38 | aclnnStatus aclnnPromptFlashAttentionV2GetWorkspaceSize( | 38 | aclnnStatus 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 | ```cpp | 35 | ```cpp |
| 36 | aclnnStatus aclnnPromptFlashAttentionV3GetWorkspaceSize( | 36 | aclnnStatus 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.md | 20 | │ ├──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 | ## 文档说明 |
| @@ -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++ |
| 36 | aclnnStatus aclnnGroupedMatmulV5GetWorkspaceSize( | 36 | aclnnStatus 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 | ```cpp | 17 | ```cpp |
| 18 | aclnnStatus aclnnGroupedMatmulFinalizeRoutingGetWorkspaceSize( | 18 | aclnnStatus 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 | ```Cpp | 378 | ```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 | ```cpp | 19 | ```cpp |
| 20 | aclnnStatus aclnnGroupedMatmulFinalizeRoutingV2GetWorkspaceSize( | 20 | aclnnStatus 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 | ```Cpp | 395 | ```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 | ```cpp | 20 | ```cpp |
| 21 | aclnnStatus aclnnGroupedMatmulFinalizeRoutingV3GetWorkspaceSize( | 21 | aclnnStatus 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 | ```Cpp | 421 | ```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 | ```cpp | 18 | ```cpp |
| 19 | aclnnStatus aclnnGroupedMatmulFinalizeRoutingWeightNzGetWorkspaceSize( | 19 | aclnnStatus 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 | ```Cpp | 348 | ```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 | ```cpp | 19 | ```cpp |
| 20 | aclnnStatus aclnnGroupedMatmulFinalizeRoutingWeightNzV2GetWorkspaceSize( | 20 | aclnnStatus 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 | ```Cpp | 395 | ```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 | ```Cpp | 277 | ```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 | ```cpp | 27 | ```cpp |
| 28 | aclnnStatus aclnnDistributeBarrierV2GetWorkspaceSize( | 28 | aclnnStatus 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 | ```cpp | 23 | ```cpp |
| 24 | aclnnStatus aclnnElasticReceivableInfoCollectGetWorkspaceSize( | 24 | aclnnStatus 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 | ```cpp | 23 | ```cpp |
| 24 | aclnnStatus aclnnElasticReceivableTestGetWorkspaceSize( | 24 | aclnnStatus 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 | ```Cpp | 329 | ```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 | ```cpp | 23 | ```cpp |
| 24 | aclnnStatus aclnnMoeDistributeBufferResetGetWorkspaceSize( | 24 | aclnnStatus 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++ |
| 28 | aclnnStatus aclnnMoeFinalizeRoutingV2GetWorkspaceSize( | 28 | aclnnStatus 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 | ## 约束说明 |
| 274 | 1. 确定性计算:默认确定性实现。 | 274 | 1. 确定性计算:默认确定性实现。 |
| @@ -295,7 +295,7 @@ C:表示expert capacity,即专家处理token数量的能力阈值。 | |||
| 295 | 295 | ||
| 296 | ## 调用示例 | 296 | ## 调用示例 |
| 297 | 297 | ||
| 298 | -示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/context/编译与运行样例.md)。 | 298 | +示例代码如下,仅供参考,具体编译和执行过程请参考[编译与运行样例](../../../docs/zh/context/编译与运行样例.md)。 |
| 299 | ```cpp | 299 | ```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 | ```Cpp | 351 | ```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 | ```cpp | 54 | ```cpp |
| 55 | aclnnStatus aclnnMoeInitRoutingV2GetWorkspaceSize( | 55 | aclnnStatus 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 | ||
| 336 | aclnnMoeInitRoutingV2默认确定性实现。 | 336 | aclnnMoeInitRoutingV2默认确定性实现。 |
| 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 | ```Cpp | 74 | ```Cpp |
| 75 | aclnnStatus aclnnMoeInitRoutingV3GetWorkspaceSize( | 75 | aclnnStatus 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 | ```Cpp | 448 | ```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++ |
| 72 | aclnnStatus aclnnMoeTokenUnpermuteWithRoutingMapGradGetWorkspaceSize( | 72 | aclnnStatus 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 | ```cpp | 340 | ```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 | ```cpp | 52 | ```cpp |
| 53 | aclnnStatus aclnnApplyRotaryPosEmbGetWorkspaceSize( | 53 | aclnnStatus 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 | ```Cpp | 281 | ```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 | ```Cpp | 391 | ```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 | ```Cpp | 317 | ```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++ |
| 138 | aclnnStatus aclnnRotaryPositionEmbeddingGradGetWorkspaceSize( | 138 | aclnnStatus 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 | ```Cpp | 393 | ```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 | ||