已合并
修改英文产品名称 #176
caiwenwen创建于 15 天前
修改英文产品名称 #176
已合并
caiwenwen创建于 15 天前
共 28 个文件变更+73-76
@@ -205,7 +205,7 @@ Table 1 Simulation Result Analysis Parameter Description
205 |MTE1|Data transfer pipeline; data transfer direction: L1 ->{L0A/L0B, UBUF}.|205 |MTE1|Data transfer pipeline; data transfer direction: L1 ->{L0A/L0B, UBUF}.|
206 |MTE2|Data transfer pipeline; data transfer direction: {DDR/GM, L2} ->{L1, L0A/B, UBUF}.|206 |MTE2|Data transfer pipeline; data transfer direction: {DDR/GM, L2} ->{L1, L0A/B, UBUF}.|
207 |MTE3|Data transfer pipeline; data transfer direction: UBUF -> {DDR/GM, L2, L1}, L1->{DDR/L2}.|207 |MTE3|Data transfer pipeline; data transfer direction: UBUF -> {DDR/GM, L2, L1}, L1->{DDR/L2}.|
208- |FIXP|Data transfer pipeline; data transfer direction: FIXPIPE L0C -> OUT/L1. (Only the Atlas A2 training series products / Atlas A2 inference series products support the display.)|208+ |FIXP|Data transfer pipeline; data transfer direction: FIXPIPE L0C -> OUT/L1. (Only the Atlas A2 products support the display.) |
209 |FLOWCTRL|Control flow instruction.|209 |FLOWCTRL|Control flow instruction.|
210 |ICACHELOAD|View ICache misses.|210 |ICACHELOAD|View ICache misses.|
211 211 
@@ -389,7 +389,7 @@ After operator development is completed, compile the operator project to generat
389 bash build.sh --pkg --soc=${soc_version} --vendor_name=${vendor_name} --ops=${op_list} [--experimental]389 bash build.sh --pkg --soc=${soc_version} --vendor_name=${vendor_name} --ops=${op_list} [--experimental]
390 ```390 ```
391 391 
392- - --soc: ${soc_version} represents the NPU model. For Atlas A2 series products, use "ascend910b" (default). For Atlas A3 series products, use "ascend910_93". For Ascend 950PR/Ascend 950DT products, use "ascend950".392+ - --soc: ${soc_version} represents the NPU model. For Atlas A2 products, use "ascend910b" (default). For Atlas A3 products, use "ascend910_93". For Ascend 950PR&950DT products, use "ascend950".
393 - --vendor_name (optional): ${vendor_name} represents the name of the custom operator package to build. The default name is custom.393 - --vendor_name (optional): ${vendor_name} represents the name of the custom operator package to build. The default name is custom.
394 - --ops (optional): ${op_list} represents the operators to compile. If not specified, all operators are compiled by default. The format is "--ops=add_example".394 - --ops (optional): ${op_list} represents the operators to compile. If not specified, all operators are compiled by default. The format is "--ops=add_example".
395 - --experimental (optional): If the operator being compiled is a contributed operator, configure --experimental.395 - --experimental (optional): If the operator being compiled is a contributed operator, configure --experimental.
@@ -202,7 +202,7 @@ After operator development is completed, compile the operator project to generat
202 bash build.sh --pkg --soc=${soc_version} --vendor_name=${vendor_name} --ops=${op_list} [--experimental]202 bash build.sh --pkg --soc=${soc_version} --vendor_name=${vendor_name} --ops=${op_list} [--experimental]
203 ```203 ```
204 204 
205- - --soc: ${soc_version} represents the NPU model. For Atlas A2 series products, use "ascend910b" (default). For Atlas A3 series products, use "ascend910_93". For Ascend 950PR/Ascend 950DT products, use "ascend950".205+ - --soc: ${soc_version} represents the NPU model. For Atlas A2 products, use "ascend910b" (default). For Atlas A3 products, use "ascend910_93". For Ascend 950PRZ&950DT products, use "ascend950".
206 - --vendor_name (optional): ${vendor_name} represents the name of the custom operator package to build. The default name is custom.206 - --vendor_name (optional): ${vendor_name} represents the name of the custom operator package to build. The default name is custom.
207 - --ops (optional): ${op_list} represents the operators to compile. If not specified, all operators are compiled by default. The format is "--ops=add_example".207 - --ops (optional): ${op_list} represents the operators to compile. If not specified, all operators are compiled by default. The format is "--ops=add_example".
208 - --experimental (optional): If the operator being compiled is a contributed operator, configure --experimental.208 - --experimental (optional): If the operator being compiled is a contributed operator, configure --experimental.
@@ -8,7 +8,7 @@ Before building from source code, complete the environment setup and source code
8 8 
9The list of third-party open source software dependencies for this project's compilation process is as follows:9The list of third-party open source software dependencies for this project's compilation process is as follows:
10 10 
11-| Open Source Software | Version | Download Address |11+| Open Source Software | Version | Download Address |
12|---|---|---|12|---|---|---|
13| json | 3.11.3 | [include.zip](https://gitcode.com/cann-src-third-party/json/releases/download/v3.11.3/include.zip) |13| json | 3.11.3 | [include.zip](https://gitcode.com/cann-src-third-party/json/releases/download/v3.11.3/include.zip) |
14| makeself | 2.5.0 | [makeself-release-2.5.0-patch1.tar.gz](https://gitcode.com/cann-src-third-party/makeself/releases/download/release-2.5.0-patch1.0/makeself-release-2.5.0-patch1.tar.gz) |14| makeself | 2.5.0 | [makeself-release-2.5.0-patch1.tar.gz](https://gitcode.com/cann-src-third-party/makeself/releases/download/release-2.5.0-patch1.0/makeself-release-2.5.0-patch1.tar.gz) |
@@ -14,7 +14,7 @@ This project provides multiple ways to set up the Ascend environment. Choose as
14| Installation Method | Description | Applicable Scenario |14| Installation Method | Description | Applicable Scenario |
15| ----- | ------ | ------ |15| ----- | ------ | ------ |
16| CANNLab | One-stop development platform that provides an online Ascend environment that can be run directly, without manual installation.<br>Currently, single-node computing power is available, and the **latest CANN package is installed by default**. | Suitable for developers without Ascend devices.|16| CANNLab | One-stop development platform that provides an online Ascend environment that can be run directly, without manual installation.<br>Currently, single-node computing power is available, and the **latest CANN package is installed by default**. | Suitable for developers without Ascend devices.|
17-| Docker | Docker images are an efficient deployment method with CANN packages and required dependencies pre-integrated.<br>Currently applicable to Atlas A2 and A3 series products. Supported OSs: ubuntu22.04 and openeuler24.03. The **latest CANN package is installed by default**. |Suitable for developers who have Ascend devices and need to quickly set up an environment.|17+| Docker | Docker images are an efficient deployment method with CANN packages and required dependencies pre-integrated.<br>Currently applicable to Atlas A2 and A3 products. Supported OSs: ubuntu22.04 and openeuler24.03. The **latest CANN package is installed by default**. |Suitable for developers who have Ascend devices and need to quickly set up an environment.|
18| Manual Installation | Manually install CANN packages and basic dependencies, with high flexibility. |Suitable for developers who have Ascend devices and want to manually install CANN packages or experience the latest master branch capabilities.|18| Manual Installation | Manually install CANN packages and basic dependencies, with high flexibility. |Suitable for developers who have Ascend devices and want to manually install CANN packages or experience the latest master branch capabilities.|
19 19 
20### Method 1: CANNLab20### Method 1: CANNLab
@@ -20,7 +20,7 @@ The list of third-party open-source software required for compiling this project
20| eigen | 5.0.0 | [eigen-5.0.0.tar.gz](https://gitcode.com/cann-src-third-party/eigen/releases/download/5.0.0/eigen-5.0.0.tar.gz) |20| eigen | 5.0.0 | [eigen-5.0.0.tar.gz](https://gitcode.com/cann-src-third-party/eigen/releases/download/5.0.0/eigen-5.0.0.tar.gz) |
21| protobuf | 25.1.0 | [protobuf-25.1.tar.gz](https://gitcode.com/cann-src-third-party/protobuf/releases/download/v25.1/protobuf-25.1.tar.gz) |21| protobuf | 25.1.0 | [protobuf-25.1.tar.gz](https://gitcode.com/cann-src-third-party/protobuf/releases/download/v25.1/protobuf-25.1.tar.gz) |
22| abseil-cpp | 20230802.1 | [abseil-cpp-20230802.1.tar.gz](https://gitcode.com/cann-src-third-party/abseil-cpp/releases/download/20230802.1/abseil-cpp-20230802.1.tar.gz) |22| abseil-cpp | 20230802.1 | [abseil-cpp-20230802.1.tar.gz](https://gitcode.com/cann-src-third-party/abseil-cpp/releases/download/20230802.1/abseil-cpp-20230802.1.tar.gz) |
23-| opbase (required for CANN 9.0.0 and later versions) | ec88904b611b04f9b23b529aee66c78bb7cf6140 | [opbase](https://gitcode.com/cann/opbase) |23+| opbase(required for CANN 9.0.0 and later versions) | ec88904b611b04f9b23b529aee66c78bb7cf6140 | [opbase](https://gitcode.com/cann/opbase) |
24 24 
25If your compilation environment can access the network, refer to [Online Compilation](#online-compilation). The compilation script automatically downloads the third-party software. Otherwise, refer to [Offline Compilation](#offline-compilation) to manually download the third-party software.25If your compilation environment can access the network, refer to [Online Compilation](#online-compilation). The compilation script automatically downloads the third-party software. Otherwise, refer to [Offline Compilation](#offline-compilation) to manually download the third-party software.
26 26 
@@ -205,7 +205,7 @@ cannsim report [options]
205 |MTE1|数据搬运流水,数据搬运方向为:L1 ->{L0A/L0B, UBUF}。|205 |MTE1|数据搬运流水,数据搬运方向为:L1 ->{L0A/L0B, UBUF}。|
206 |MTE2|数据搬运流水,数据搬运方向为:{DDR/GM, L2} ->{L1, L0A/B, UBUF}。|206 |MTE2|数据搬运流水,数据搬运方向为:{DDR/GM, L2} ->{L1, L0A/B, UBUF}。|
207 |MTE3|数据搬运流水,数据搬运方向为:UBUF -> {DDR/GM, L2, L1}、L1->{DDR/L2}。|207 |MTE3|数据搬运流水,数据搬运方向为:UBUF -> {DDR/GM, L2, L1}、L1->{DDR/L2}。|
208- |FIXP|数据搬运流水,数据搬运方向为:FIXPIPE L0C -> OUT/L1。(仅Atlas A2 训练系列产品 / Atlas A2 推理系列产品支持展示)|208+ |FIXP|数据搬运流水,数据搬运方向为:FIXPIPE L0C -> OUT/L1。(仅Atlas A2系列产品支持展示)|
209 |FLOWCTRL|控制流指令。|209 |FLOWCTRL|控制流指令。|
210 |ICACHELOAD|查看未命中的ICache。|210 |ICACHELOAD|查看未命中的ICache。|
211 211 
@@ -4,7 +4,7 @@
4>4>
5> 1. 算子开发过程中涉及的基本概念如Tiling、Kernel、Ascend C接口等,详细介绍请参考[《Ascend C算子开发》](https://hiascend.com/document/redirect/CannCommunityOpdevAscendC)。5> 1. 算子开发过程中涉及的基本概念如Tiling、Kernel、Ascend C接口等,详细介绍请参考[《Ascend C算子开发》](https://hiascend.com/document/redirect/CannCommunityOpdevAscendC)。
6> 2. AI Core算子是使用Ascend C语言开发,运行在AI Core硬件单元算子;AI CPU算子是使用C++语言开发,运行在AI CPU硬件单元算子。如果您想贡献AI CPU算子,请参考[AI CPU算子开发指南](./aicpu_develop_guide.md)。6> 2. AI Core算子是使用Ascend C语言开发,运行在AI Core硬件单元算子;AI CPU算子是使用C++语言开发,运行在AI CPU硬件单元算子。如果您想贡献AI CPU算子,请参考[AI CPU算子开发指南](./aicpu_develop_guide.md)。
7-> 3. 针对基于[Ascend/samples](https://gitee.com/ascend/samples/tree/master)仓贡献的算子,请参考[附录 > 算子工程迁移](#算子工程迁移)完成存量算子往本项目工程迁移。7+> 3. 针对基于[Ascend/samples](https://gitee.com/ascend/samples/tree/master)仓贡献的算子,请参考[附录>算子工程迁移](#算子工程迁移)完成存量算子往本项目工程迁移。
8 8 
9开发指南以`AddExample`算子开发为例,介绍新算子开发流程以及涉及的交付件,完整样例代码请访问项目`examples`目录。9开发指南以`AddExample`算子开发为例,介绍新算子开发流程以及涉及的交付件,完整样例代码请访问项目`examples`目录。
10 10 
@@ -232,7 +232,7 @@ export LD_LIBRARY_PATH=${ASCEND_HOME_PATH}/opp/vendors/${vendor_name}/op_api/lib
232 232 
233- **UT验证**233- **UT验证**
234 234 
235- 算子开发过程中,可通过UT验证(如Kernel)方式进行快速验证,如需查看详细实现,请参考[Kernel UT](../../../examples/add_example_aicpu/tests/ut/op_kernel_aicpu/test_add_example.cpp)。235+ 算子开发过程中,可通过UT验证(如Kernel)方式进行快速验证,如需查看详细实现,请参考[Kernel UT](../../../examples/add_example_aicpu/op_kernel_aicpu/add_example_aicpu.cpp)。
236 236 
237- **aclnn调用验证**237- **aclnn调用验证**
238 238 
@@ -54,7 +54,7 @@
54 # bash build.sh --pkg --experimental --soc=ascend910b --ops=add_example -j1654 # bash build.sh --pkg --experimental --soc=ascend910b --ops=add_example -j16
55 ```55 ```
56 56 
57- - --soc:\$\{soc\_version\}表示NPU型号。Atlas A2 训练系列产品/Atlas A2 推理系列产品使用"ascend910b"(默认),Atlas A3 训练系列产品/Atlas A3 推理系列产品使用"ascend910_93",Ascend 950PR&950DT系列产品产品使用"ascend950"。57+ - --soc:\$\{soc\_version\}表示NPU型号。Atlas A2系列产品使用"ascend910b"(默认),Atlas A3系列产品使用"ascend910_93",Ascend 950PR&950DT系列产品产品使用"ascend950"。
58 - --vendor_name(可选):\$\{vendor\_name\}表示构建的自定义算子包名,默认名为custom。58 - --vendor_name(可选):\$\{vendor\_name\}表示构建的自定义算子包名,默认名为custom。
59 - --ops(可选):\$\{op\_list\}表示待编译算子,不指定时默认编译所有算子。格式形如"add_example,crypto,...",多算子之间用英文逗号","分隔。59 - --ops(可选):\$\{op\_list\}表示待编译算子,不指定时默认编译所有算子。格式形如"add_example,crypto,...",多算子之间用英文逗号","分隔。
60 - --experimental(可选):表示编译用户保存在experimental贡献目录下的算子。60 - --experimental(可选):表示编译用户保存在experimental贡献目录下的算子。
@@ -101,7 +101,7 @@
101 # bash build.sh --pkg --experimental [--jit] --soc=${soc_version} [-j${n}]101 # bash build.sh --pkg --experimental [--jit] --soc=${soc_version} [-j${n}]
102 ```102 ```
103 103 
104- - --soc:\$\{soc\_version\}表示NPU型号。Atlas A2 训练系列产品/Atlas A2 推理系列产品使用"ascend910b"(默认),Atlas A3 训练系列产品/Atlas A3 推理系列产品使用"ascend910_93",Ascend 950PR&950DT系列产品产品使用"ascend950"。104+ - --soc:\$\{soc\_version\}表示NPU型号。Atlas A2系列产品使用"ascend910b"(默认),Atlas A3系列产品使用"ascend910_93",Ascend 950PR&950DT系列产品产品使用"ascend950"。
105 - --jit(可选):设置后表示不编译算子二进制文件,如需使用aclnn调用算子,该选项无需设置。105 - --jit(可选):设置后表示不编译算子二进制文件,如需使用aclnn调用算子,该选项无需设置。
106 - --experimental(可选):表示编译用户保存在experimental目录下的算子。106 - --experimental(可选):表示编译用户保存在experimental目录下的算子。
107 - -j(可选):指定编译线程数,加快编译速度。107 - -j(可选):指定编译线程数,加快编译速度。
@@ -75,7 +75,7 @@
75 | 参数 | 说明 | 注意事项 |75 | 参数 | 说明 | 注意事项 |
76 | :--- | :--- | :--- |76 | :--- | :--- | :--- |
77 | `--name cann_container` | 为容器指定名称,便于管理。 | 可自定义。 |77 | `--name cann_container` | 为容器指定名称,便于管理。 | 可自定义。 |
78- | `--device /dev/davinci0` | 核心:将宿主机的NPU设备卡映射到容器内,可指定映射多张NPU设备卡。 | 必须根据实际情况调整:`davinci0`对应系统中的第0张NPU卡。请先在宿主机执行`npu-smi info`命令,根据输出显示的设备号(如`NPU 0`, `NPU 1`)来修改此编号。|78+ | `--device /dev/davinci0` | 核心:将宿主机的NPU设备卡映射到容器内,可指定映射多张NPU设备卡。 | 必须根据实际情况调整:`davinci0`对应系统中的第0张NPU卡。请先在宿主机执行`npu-smi info`命令,根据输出显示的设备号(如`NPU 0`,`NPU 1`)来修改此编号。|
79 | `--device /dev/davinci_manager` | 映射NPU设备管理接口。 | - |79 | `--device /dev/davinci_manager` | 映射NPU设备管理接口。 | - |
80 | `--device /dev/devmm_svm` | 映射设备内存管理接口。 | - |80 | `--device /dev/devmm_svm` | 映射设备内存管理接口。 | - |
81 | `--device /dev/hisi_hdc` | 映射主机与设备间的通信接口。 | - |81 | `--device /dev/hisi_hdc` | 映射主机与设备间的通信接口。 | - |
@@ -167,7 +167,7 @@
167 167 
168- **执行算子样例**168- **执行算子样例**
169 169 
170- > **说明**:Ascend 950PR&950DT系列产品产品使用仿真执行算子样例,请见[仿真指导](../debug/op_debug_prof.md#方式二针对ascend-950pr)。170+ > **说明**:Ascend 950PR&950DT系列产品产品使用仿真执行算子样例,请见[仿真指导](../debug/op_debug_prof.md#方式二针对ascend-950pr950dt系列产品系列产品)。
171 171 
172 - 完成自定义算子包安装后,执行如下命令:172 - 完成自定义算子包安装后,执行如下命令:
173 173 
@@ -4,8 +4,8 @@
4 4 
5| 产品 | 是否支持 |5| 产品 | 是否支持 |
6| ---- | :----:|6| ---- | :----:|
7-|Atlas A3 训练系列产品/Atlas A3 推理系列产品|√|7+|<term>Atlas A3系列产品</term>|√|
8-|Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件|√|8+|<term>Atlas A2系列产品</term>|√|
9 9 
10## 功能说明10## 功能说明
11 11 
@@ -4,8 +4,8 @@
4 4 
5| Product | Supported |5| Product | Supported |
6| ---- | :----:|6| ---- | :----:|
7-| Atlas A3 products | √ |7+| <term>Atlas A3 products</term> | √ |
8-| Atlas A2 products | √ |8+| <term>Atlas A2 products</term> | √ |
9 9 
10## Function Description10## Function Description
11 11 
@@ -4,8 +4,8 @@
4 4 
5| 产品 | 是否支持 |5| 产品 | 是否支持 |
6| ---- | :----:|6| ---- | :----:|
7-|Atlas A3 训练系列产品/Atlas A3 推理系列产品|√|7+|<term>Atlas A3系列产品</term>|√|
8-|Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件|√|8+|<term>Atlas A2系列产品</term>|√|
9 9 
10## 功能说明10## 功能说明
11 11 
@@ -4,8 +4,8 @@
4 4 
5| Product | Supported |5| Product | Supported |
6| ---- | :----:|6| ---- | :----:|
7-| Atlas A3 products | √ |7+|<term>Atlas A3 products</term> | √ |
8-| Atlas A2 products | √ |8+| <term>Atlas A2 products</term> | √ |
9 9 
10## Function Description10## Function Description
11 11 
@@ -6,19 +6,19 @@
6- <term>Ascend 950PR&950DT系列产品</term>:不支持6- <term>Ascend 950PR&950DT系列产品</term>:不支持
7<!-- end id1 -->7<!-- end id1 -->
8<!-- npu="A3" id2 -->8<!-- npu="A3" id2 -->
9-- <term>Atlas A3 训练系列产品/Atlas A3 推理系列产品</term>:支持9+- <term>Atlas A3系列产品</term>:支持
10<!-- end id2 -->10<!-- end id2 -->
11<!-- npu="910b" id3 -->11<!-- npu="910b" id3 -->
12-- <term>Atlas A2 训练系列产品/Atlas A2 推理系列产品</term>:支持12+- <term>Atlas A2系列产品</term>:支持
13<!-- end id3 -->13<!-- end id3 -->
14<!-- npu="310b" id4 -->14<!-- npu="310b" id4 -->
15-- <term>Atlas 200I/500 A2 推理产品</term>:不支持15+- <term>Atlas 200I/500 A2推理产品</term>:不支持
16<!-- end id4 -->16<!-- end id4 -->
17<!-- npu="310p" id5 -->17<!-- npu="310p" id5 -->
18-- <term>Atlas 推理系列产品</term>:不支持18+- <term>Atlas推理系列产品</term>:不支持
19<!-- end id5 -->19<!-- end id5 -->
20<!-- npu="910" id6 -->20<!-- npu="910" id6 -->
21-- <term>Atlas 训练系列产品</term>:不支持21+- <term>Atlas训练系列产品</term>:不支持
22<!-- end id6 -->22<!-- end id6 -->
23 23 
24## 功能说明24## 功能说明
@@ -750,4 +750,4 @@ int main(int argc, char *argv[]) {
750 printf("======================================\n");750 printf("======================================\n");
751 return 0;751 return 0;
752}752}
753-```753+```
@@ -32,6 +32,7 @@
32## Function Prototype32## Function Prototype
33 33 
34Each operator uses a two-phase API. Call the "aclnnCryptoGetWorkspaceSize" API to obtain the required workspace size and the executor that contains the operator computation flow, and then call the "aclnnCrypto" API to execute the computation.34Each operator uses a two-phase API. Call the "aclnnCryptoGetWorkspaceSize" API to obtain the required workspace size and the executor that contains the operator computation flow, and then call the "aclnnCrypto" API to execute the computation.
35+ 
35```c++36```c++
36aclnnStatus aclnnCryptoAicpuGetWorkspaceSize(37aclnnStatus aclnnCryptoAicpuGetWorkspaceSize(
37 const aclTensor *key,38 const aclTensor *key,
@@ -6,19 +6,19 @@
6- <term>Ascend 950PR&950DT系列产品</term>:不支持6- <term>Ascend 950PR&950DT系列产品</term>:不支持
7<!-- end id1 -->7<!-- end id1 -->
8<!-- npu="A3" id2 -->8<!-- npu="A3" id2 -->
9-- <term>Atlas A3 训练系列产品/Atlas A3 推理系列产品</term>:支持9+- <term>Atlas A3系列产品</term>:支持
10<!-- end id2 -->10<!-- end id2 -->
11<!-- npu="910b" id3 -->11<!-- npu="910b" id3 -->
12-- <term>Atlas A2 训练系列产品/Atlas A2 推理系列产品</term>:支持12+- <term>Atlas A2系列产品</term>:支持
13<!-- end id3 -->13<!-- end id3 -->
14<!-- npu="310b" id4 -->14<!-- npu="310b" id4 -->
15-- <term>Atlas 200I/500 A2 推理产品</term>:不支持15+- <term>Atlas 200I/500 A2推理产品</term>:不支持
16<!-- end id4 -->16<!-- end id4 -->
17<!-- npu="310p" id5 -->17<!-- npu="310p" id5 -->
18-- <term>Atlas 推理系列产品</term>:不支持18+- <term>Atlas推理系列产品</term>:不支持
19<!-- end id5 -->19<!-- end id5 -->
20<!-- npu="910" id6 -->20<!-- npu="910" id6 -->
21-- <term>Atlas 训练系列产品</term>:不支持21+- <term>Atlas训练系列产品</term>:不支持
22<!-- end id6 -->22<!-- end id6 -->
23 23 
24## 功能说明24## 功能说明
@@ -28,7 +28,7 @@
28- 特点28- 特点
29 29 
30 - 自适应阈值: 该算子能够根据矩阵大小与值域自动确定用于比对的阈值,能够在保证检出率的同时避免误检。30 - 自适应阈值: 该算子能够根据矩阵大小与值域自动确定用于比对的阈值,能够在保证检出率的同时避免误检。
31- - 自适应阈值算法与推导见https://gitee.com/yihenggao/v-abft的文档31+ - 自适应阈值算法与推导见[website](https://gitee.com/yihenggao/v-abft)的文档
32 32 
33 - 计算量显著小于基于重新计算的容错方案。在矩阵维度m=n=k=a时,本算子只需8a^2次浮点计算,而重算则需要2a^3次浮点计算。且容错阈值也与该算法相匹配33 - 计算量显著小于基于重新计算的容错方案。在矩阵维度m=n=k=a时,本算子只需8a^2次浮点计算,而重算则需要2a^3次浮点计算。且容错阈值也与该算法相匹配
34 34 
@@ -95,9 +95,9 @@ aclnnStatus aclnnMatmulAbftVerify(
95 <th>描述</th>95 <th>描述</th>
96 <th>使用说明</th>96 <th>使用说明</th>
97 <th>数据类型</th>97 <th>数据类型</th>
98- <th><a href="../../../docs/zh/context/数据格式.md" target="_blank">数据格式</a></th>98+ <th><a href="../../../docs/zh/context/data_format.md" target="_blank">数据格式</a></th>
99 <th style="white-space: nowrap">维度(shape)</th>99 <th style="white-space: nowrap">维度(shape)</th>
100- <th><a href="../../../docs/zh/context/非连续的Tensor.md" target="_blank">非连续的Tensor</a></th>100+ <th><a href="../../../docs/zh/context/non_contiguous_tensor.md" target="_blank">非连续的Tensor</a></th>
101 </tr>101 </tr>
102 </thead>102 </thead>
103 <tbody>103 <tbody>
@@ -3,22 +3,22 @@
3## Product Support3## Product Support
4 4 
5<!-- npu="950" id1 -->5<!-- npu="950" id1 -->
6-- <term>Ascend 950PR&950DT系列产品</term>: Not supported6+- <term>Ascend 950PR&950DT products</term>: Not supported
7<!-- end id1 -->7<!-- end id1 -->
8<!-- npu="A3" id2 -->8<!-- npu="A3" id2 -->
9-- <term>Atlas A3 Training Series/Atlas A3 Inference Series</term>: Supported9+- <term>Atlas A3 products</term>: Supported
10<!-- end id2 -->10<!-- end id2 -->
11<!-- npu="910b" id3 -->11<!-- npu="910b" id3 -->
12-- <term>Atlas A2 Training Series/Atlas A2 Inference Series</term>: Supported12+- <term>Atlas A2 products</term>: Supported
13<!-- end id3 -->13<!-- end id3 -->
14<!-- npu="310b" id4 -->14<!-- npu="310b" id4 -->
15-- <term>Atlas 200I/500 A2 Inference Products</term>: Not supported15+- <term>Atlas 200I/500 A2 inference products</term>: Not supported
16<!-- end id4 -->16<!-- end id4 -->
17<!-- npu="310p" id5 -->17<!-- npu="310p" id5 -->
18-- <term>Atlas Inference Series</term>: Not supported18+- <term>Atlas inference products</term>: Not supported
19<!-- end id5 -->19<!-- end id5 -->
20<!-- npu="910" id6 -->20<!-- npu="910" id6 -->
21-- <term>Atlas Training Series</term>: Not supported21+- <term>Atlas training products</term>: Not supported
22<!-- end id6 -->22<!-- end id6 -->
23 23 
24## Overview24## Overview
@@ -6,19 +6,19 @@
6- <term>Ascend 950PR&950DT系列产品</term>:不支持6- <term>Ascend 950PR&950DT系列产品</term>:不支持
7<!-- end id1 -->7<!-- end id1 -->
8<!-- npu="A3" id2 -->8<!-- npu="A3" id2 -->
9-- <term>Atlas A3 训练系列产品/Atlas A3 推理系列产品</term>:不支持9+- <term>Atlas A3系列产品</term>:不支持
10<!-- end id2 -->10<!-- end id2 -->
11<!-- npu="910b" id3 -->11<!-- npu="910b" id3 -->
12-- <term>Atlas A2 训练系列产品/Atlas A2 推理系列产品</term>:支持12+- <term>Atlas A2系列产品</term>:支持
13<!-- end id3 -->13<!-- end id3 -->
14<!-- npu="310b" id4 -->14<!-- npu="310b" id4 -->
15-- <term>Atlas 200I/500 A2 推理产品</term>:不支持15+- <term>Atlas 200I/500 A2推理产品</term>:不支持
16<!-- end id4 -->16<!-- end id4 -->
17<!-- npu="310p" id5 -->17<!-- npu="310p" id5 -->
18-- <term>Atlas 推理系列产品</term>:支持18+- <term>Atlas推理系列产品</term>:支持
19<!-- end id5 -->19<!-- end id5 -->
20<!-- npu="910" id6 -->20<!-- npu="910" id6 -->
21-- <term>Atlas 训练系列产品</term>:不支持21+- <term>Atlas训练系列产品</term>:不支持
22<!-- end id6 -->22<!-- end id6 -->
23 23 
24## 功能说明24## 功能说明
@@ -150,7 +150,7 @@ aclnnStatus aclnnObfuscationCalculate(
150 </table>150 </table>
151 151 
152<!-- npu="310p" id7 -->152<!-- npu="310p" id7 -->
153-- <term>Atlas 推理系列产品</term>:不支持BFLOAT16153+- <term>Atlas推理系列产品</term>:不支持BFLOAT16
154 154 
155<!-- end id7 -->155<!-- end id7 -->
156- **返回值**156- **返回值**
@@ -480,4 +480,4 @@ int main() {
480 return 0;480 return 0;
481}481}
482 482 
483-```483+```
@@ -6,19 +6,19 @@
6- <term>Ascend 950PR&950DT系列产品</term>:不支持6- <term>Ascend 950PR&950DT系列产品</term>:不支持
7<!-- end id1 -->7<!-- end id1 -->
8<!-- npu="A3" id2 -->8<!-- npu="A3" id2 -->
9-- <term>Atlas A3 训练系列产品/Atlas A3 推理系列产品</term>:不支持9+- <term>Atlas A3系列产品</term>:不支持
10<!-- end id2 -->10<!-- end id2 -->
11<!-- npu="910b" id3 -->11<!-- npu="910b" id3 -->
12-- <term>Atlas A2 训练系列产品/Atlas A2 推理系列产品</term>:支持12+- <term>Atlas A2系列产品</term>:支持
13<!-- end id3 -->13<!-- end id3 -->
14<!-- npu="310b" id4 -->14<!-- npu="310b" id4 -->
15-- <term>Atlas 200I/500 A2 推理产品</term>:不支持15+- <term>Atlas 200I/500 A2推理产品</term>:不支持
16<!-- end id4 -->16<!-- end id4 -->
17<!-- npu="310p" id5 -->17<!-- npu="310p" id5 -->
18-- <term>Atlas 推理系列产品</term>:支持18+- <term>Atlas推理系列产品</term>:支持
19<!-- end id5 -->19<!-- end id5 -->
20<!-- npu="910" id6 -->20<!-- npu="910" id6 -->
21-- <term>Atlas 训练系列产品</term>:不支持21+- <term>Atlas训练系列产品</term>:不支持
22<!-- end id6 -->22<!-- end id6 -->
23 23 
24## 功能说明24## 功能说明
@@ -160,7 +160,7 @@ aclnnStatus aclnnObfuscationCalculateV2(
160 </table>160 </table>
161 161 
162<!-- npu="310p" id7 -->162<!-- npu="310p" id7 -->
163-- <term>Atlas 推理系列产品</term>:不支持BFLOAT16163+- <term>Atlas推理系列产品</term>:不支持BFLOAT16
164 164 
165<!-- end id7 -->165<!-- end id7 -->
166- **返回值**166- **返回值**
@@ -25,7 +25,7 @@
25 25 
26- API function: sends tensor x and configuration parameters (such as param and cmd) to the PMCC obfuscation engine. The CA module of the engine calls the TA module to perform tensor obfuscation processing, and returns the obfuscated tensor y with the same shape as x.26- API function: sends tensor x and configuration parameters (such as param and cmd) to the PMCC obfuscation engine. The CA module of the engine calls the TA module to perform tensor obfuscation processing, and returns the obfuscated tensor y with the same shape as x.
27 27 
28-- Background: The PMCC (Privacy and Model Confidential Computing) model obfuscation feature uses the TrustZone trusted execution environment in CPU cores to isolate and store obfuscation factors, derive obfuscation masks, and perform dynamic mask addition. Based on the NPU TrustZone, the PMCC builds the model obfuscation engine CA (Client Application in the general OS) and the model obfuscation engine TA (Trusted Application in the TEE OS). To enable the model to access the model obfuscation engine TA during inference execution, the AICPU operator mechanism and the on-card localhost socket of the NPU are used for relay. This API adds the obfCoefficient parameter. In the full-specification DeepSeek version, an obfuscation coefficient is added to ensure that the model obfuscation performance meets the requirements. Input data is processed according to the obfuscation coefficient ratio.28+- Background: The PMCC (Privacy and Model Confidential Computing) model obfuscation feature uses the TrustZone trusted execution environment in CPU cores to isolate and store obfuscation factors, derive obfuscation masks, and perform dynamic mask addition. Based on the NPU TrustZone, the PMCC builds the model obfuscation engine CA (Client Application in the general OS) and the model obfuscation engine TA (Trusted Application in the TEE OS). To enable the model to access the model obfuscation engine TA during inference execution, the AI CPU operator mechanism and the on-card localhost socket of the NPU are used for relay. This API adds the obfCoefficient parameter. In the full-specification DeepSeek version, an obfuscation coefficient is added to ensure that the model obfuscation performance meets the requirements. Input data is processed according to the obfuscation coefficient ratio.
29 29 
30## Function Prototype30## Function Prototype
31 31 
@@ -25,7 +25,7 @@
25 25 
26- API function: sends tensor x and configuration parameters (such as param and cmd) to the PMCC obfuscation engine. The CA module of the engine calls the TA module to perform tensor obfuscation processing, and returns the obfuscated tensor y with the same shape as x.26- API function: sends tensor x and configuration parameters (such as param and cmd) to the PMCC obfuscation engine. The CA module of the engine calls the TA module to perform tensor obfuscation processing, and returns the obfuscated tensor y with the same shape as x.
27 27 
28-- Background: The PMCC (Privacy and Model Confidential Computing) model obfuscation feature uses the TrustZone trusted execution environment in CPU cores to isolate and store obfuscation factors, derive obfuscation masks, and perform dynamic mask addition. Based on the NPU TrustZone, the PMCC builds the model obfuscation engine CA (Client Application in the general OS) and the model obfuscation engine TA (Trusted Application in the TEE OS). To enable the model to access the model obfuscation engine TA during inference execution, the AICPU operator mechanism and the on-card localhost socket of the NPU are used for relay.28+- Background: The PMCC (Privacy and Model Confidential Computing) model obfuscation feature uses the TrustZone trusted execution environment in CPU cores to isolate and store obfuscation factors, derive obfuscation masks, and perform dynamic mask addition. Based on the NPU TrustZone, the PMCC builds the model obfuscation engine CA (Client Application in the general OS) and the model obfuscation engine TA (Trusted Application in the TEE OS). To enable the model to access the model obfuscation engine TA during inference execution, the AI CPU operator mechanism and the on-card localhost socket of the NPU are used for relay.
29 29 
30## Function Prototype30## Function Prototype
31 31 
@@ -6,19 +6,19 @@
6- <term>Ascend 950PR&950DT系列产品</term>:不支持6- <term>Ascend 950PR&950DT系列产品</term>:不支持
7<!-- end id1 -->7<!-- end id1 -->
8<!-- npu="A3" id2 -->8<!-- npu="A3" id2 -->
9-- <term>Atlas A3 训练系列产品/Atlas A3 推理系列产品</term>:不支持9+- <term>Atlas A3系列产品</term>:不支持
10<!-- end id2 -->10<!-- end id2 -->
11<!-- npu="910b" id3 -->11<!-- npu="910b" id3 -->
12-- <term>Atlas A2 训练系列产品/Atlas A2 推理系列产品</term>:支持12+- <term>Atlas A2系列产品</term>:支持
13<!-- end id3 -->13<!-- end id3 -->
14<!-- npu="310b" id4 -->14<!-- npu="310b" id4 -->
15-- <term>Atlas 200I/500 A2 推理产品</term>:不支持15+- <term>Atlas 200I/500 A2推理产品</term>:不支持
16<!-- end id4 -->16<!-- end id4 -->
17<!-- npu="310p" id5 -->17<!-- npu="310p" id5 -->
18-- <term>Atlas 推理系列产品</term>:支持18+- <term>Atlas推理系列产品</term>:支持
19<!-- end id5 -->19<!-- end id5 -->
20<!-- npu="910" id6 -->20<!-- npu="910" id6 -->
21-- <term>Atlas 训练系列产品</term>:不支持21+- <term>Atlas训练系列产品</term>:不支持
22<!-- end id6 -->22<!-- end id6 -->
23 23 
24## 功能说明24## 功能说明
@@ -100,10 +100,8 @@ aclnnStatus aclnnObfuscationSetup(
100 <td>100 <td>
101 <ul>101 <ul>
102 <li>仅在cmd设置为1或2时需要填写有效值,否则填0。</li>102 <li>仅在cmd设置为1或2时需要填写有效值,否则填0。</li>
103- <li><term>Atlas 推理系列产品</term>:在{0, 1}中选择,0表示FLOAT、1表示FLOAT16。</li>103+ <li><term>Atlas推理系列产品</term>:在{0, 1}中选择,0表示FLOAT、1表示FLOAT16。</li>
104- <li><term>Atlas A2 训练系列产品</term>:在{0, 1, 2, 27}中选择,0表示FLOAT、1表示FLOAT16、2表示INT8、27表示BF16。</li>104+ <li><term>Atlas A2系列产品</term>:在{0, 1, 2, 27}中选择,0表示FLOAT、1表示FLOAT16、2表示INT8、27表示BF16。</li>
105- <li><term>Atlas 800I A2 推理产品</term>:在{0, 1, 2, 27}中选择,0表示FLOAT、1表示FLOAT16、2表示INT8、27表示BF16。</li>
106- <li><term>A200I A2 Box 异构组件</term>:在{0, 1, 2, 27}中选择,0表示FLOAT、1表示FLOAT16、2表示INT8、27表示BF16。</li>
107 </ul>105 </ul>
108 </td>106 </td>
109 <td>INT32</td>107 <td>INT32</td>
@@ -6,19 +6,19 @@
6- <term>Ascend 950PR&950DT系列产品</term>:不支持6- <term>Ascend 950PR&950DT系列产品</term>:不支持
7<!-- end id1 -->7<!-- end id1 -->
8<!-- npu="A3" id2 -->8<!-- npu="A3" id2 -->
9-- <term>Atlas A3 训练系列产品/Atlas A3 推理系列产品</term>:不支持9+- <term>Atlas A3系列产品</term>:不支持
10<!-- end id2 -->10<!-- end id2 -->
11<!-- npu="910b" id3 -->11<!-- npu="910b" id3 -->
12-- <term>Atlas A2 训练系列产品/Atlas A2 推理系列产品</term>:支持12+- <term>Atlas A2系列产品</term>:支持
13<!-- end id3 -->13<!-- end id3 -->
14<!-- npu="310b" id4 -->14<!-- npu="310b" id4 -->
15-- <term>Atlas 200I/500 A2 推理产品</term>:不支持15+- <term>Atlas 200I/500 A2推理产品</term>:不支持
16<!-- end id4 -->16<!-- end id4 -->
17<!-- npu="310p" id5 -->17<!-- npu="310p" id5 -->
18-- <term>Atlas 推理系列产品</term>:支持18+- <term>Atlas推理系列产品</term>:支持
19<!-- end id5 -->19<!-- end id5 -->
20<!-- npu="910" id6 -->20<!-- npu="910" id6 -->
21-- <term>Atlas 训练系列产品</term>:不支持21+- <term>Atlas训练系列产品</term>:不支持
22<!-- end id6 -->22<!-- end id6 -->
23 23 
24## 功能说明24## 功能说明
@@ -100,10 +100,8 @@ aclnnStatus aclnnObfuscationSetupV2(
100 <td>100 <td>
101 <ul>101 <ul>
102 <li>仅在cmd设置为1或2时需要填写有效值,否则填0。</li>102 <li>仅在cmd设置为1或2时需要填写有效值,否则填0。</li>
103- <li><term>Atlas 推理系列产品</term>:在{0, 1}中选择,0表示FLOAT、1表示FLOAT16。</li>103+ <li><term>Atlas推理系列产品</term>:在{0, 1}中选择,0表示FLOAT、1表示FLOAT16。</li>
104- <li><term>Atlas A2 训练系列产品</term>:在{0, 1, 2, 27}中选择,0表示FLOAT、1表示FLOAT16、2表示INT8、27表示BF16。</li>104+ <li><term>Atlas A2系列产品</term>:在{0, 1, 2, 27}中选择,0表示FLOAT、1表示FLOAT16、2表示INT8、27表示BF16。</li>
105- <li><term>Atlas 800I A2 推理产品</term>:在{0, 1, 2, 27}中选择,0表示FLOAT、1表示FLOAT16、2表示INT8、27表示BF16。</li>
106- <li><term>A200I A2 Box 异构组件</term>:在{0, 1, 2, 27}中选择,0表示FLOAT、1表示FLOAT16、2表示INT8、27表示BF16。</li>
107 </ul>105 </ul>
108 </td>106 </td>
109 <td>INT32</td>107 <td>INT32</td>
@@ -28,7 +28,7 @@
28 - Resource initialization: establishes a socket connection with the PMCC obfuscation engine CA, initializes the CA and TA, and returns the socket connection descriptor.28 - Resource initialization: establishes a socket connection with the PMCC obfuscation engine CA, initializes the CA and TA, and returns the socket connection descriptor.
29 - Resource release: disconnects the socket connection with the PMCC obfuscation engine CA.29 - Resource release: disconnects the socket connection with the PMCC obfuscation engine CA.
30 30 
31-- Background: The PMCC (Privacy and Model Confidential Computing) model obfuscation feature uses the TrustZone trusted execution environment in CPU cores to isolate and store obfuscation factors, derive obfuscation masks, and perform dynamic mask addition. Based on the NPU TrustZone, the PMCC builds the model obfuscation engine CA (Client Application in the general OS) and the model obfuscation engine TA (Trusted Application in the TEE OS). To enable the model to access the model obfuscation engine TA during inference execution, the AICPU operator mechanism and the on-card localhost socket of the NPU are used for relay. This API adds the obfCoefficient parameter. In the full-specification DeepSeek version, an obfuscation coefficient is added to ensure that the model obfuscation performance meets the requirements. Input data is processed according to the obfuscation coefficient ratio.31+- Background: The PMCC (Privacy and Model Confidential Computing) model obfuscation feature uses the TrustZone trusted execution environment in CPU cores to isolate and store obfuscation factors, derive obfuscation masks, and perform dynamic mask addition. Based on the NPU TrustZone, the PMCC builds the model obfuscation engine CA (Client Application in the general OS) and the model obfuscation engine TA (Trusted Application in the TEE OS). To enable the model to access the model obfuscation engine TA during inference execution, the AI CPU operator mechanism and the on-card localhost socket of the NPU are used for relay. This API adds the obfCoefficient parameter. In the full-specification DeepSeek version, an obfuscation coefficient is added to ensure that the model obfuscation performance meets the requirements. Input data is processed according to the obfuscation coefficient ratio.
32 32 
33## Function Prototype33## Function Prototype
34 34 
@@ -101,7 +101,7 @@ aclnnStatus aclnnObfuscationSetup(
101 <ul>101 <ul>
102 <li>A valid value is required only when cmd is set to 1 or 2. Otherwise, enter 0.</li>102 <li>A valid value is required only when cmd is set to 1 or 2. Otherwise, enter 0.</li>
103 <li><term>Atlas inference products</term>: Select from {0, 1}. 0 indicates FLOAT and 1 indicates FLOAT16.</li>103 <li><term>Atlas inference products</term>: Select from {0, 1}. 0 indicates FLOAT and 1 indicates FLOAT16.</li>
104- <li><term>Atlas A2 series products</term>: Select from {0, 1, 2, 27}. 0 indicates FLOAT, 1 indicates FLOAT16, 2 indicates INT8, and 27 indicates BF16.</li>104+ <li><term>Atlas A2 products</term>: Select from {0, 1, 2, 27}. 0 indicates FLOAT, 1 indicates FLOAT16, 2 indicates INT8, and 27 indicates BF16.</li>
105 </ul>105 </ul>
106 </td>106 </td>
107 <td>INT32</td>107 <td>INT32</td>