已合并
update A5 doc #492
liuyufan创建于 2025年12月24日
update A5 doc #492
已合并
共 4 个文件变更+44-30
| @@ -663,6 +663,7 @@ checkopts() { | |||
| 663 | ;; | 663 | ;; |
| 664 | soc=*) | 664 | soc=*) |
| 665 | COMPUTE_UNIT=${OPTARG#*=} | 665 | COMPUTE_UNIT=${OPTARG#*=} |
| 666 | + COMPUTE_UNIT=$(echo "$COMPUTE_UNIT" | sed 's/ascend950/ascend910_95/g') | ||
| 666 | ;; | 667 | ;; |
| 667 | vendor_name=*) | 668 | vendor_name=*) |
| 668 | VENDOR_NAME=${OPTARG#*=} | 669 | VENDOR_NAME=${OPTARG#*=} |
| @@ -32,7 +32,9 @@ | |||
| 32 | 32 | ||
| 33 | 1. **安装社区版CANN toolkit包** | 33 | 1. **安装社区版CANN toolkit包** |
| 34 | 34 | ||
| 35 | - 单击[下载链接](https://ascend.devcloud.huaweicloud.com/cann/run/software/8.5.0-beta.1),根据实际环境架构,获取对应的`Ascend-cann-toolkit_${cann_version}_linux-${arch}.run`包。 | 35 | + 根据实际产品型号和环境架构,获取对应的`Ascend-cann-toolkit_${cann_version}_linux-${arch}.run`包。 |
| 36 | + - Atlas A2/A3系列产品:单击[下载链接](https://ascend.devcloud.huaweicloud.com/cann/run/software/8.5.0-beta.1)获取软件包。 | ||
| 37 | + - Ascend 950PR/Ascend 950DT产品:单击[下载链接](https://ascend.devcloud.huaweicloud.com/cann/run/software/8.5.0-beta.1)获取软件包。 | ||
| 36 | 38 | ||
| 37 | ```bash | 39 | ```bash |
| 38 | # 确保安装包具有可执行权限 | 40 | # 确保安装包具有可执行权限 |
| @@ -48,7 +50,9 @@ | |||
| 48 | 50 | ||
| 49 | 运行算子时必须安装本包,若仅编译算子,可跳过本操作。 | 51 | 运行算子时必须安装本包,若仅编译算子,可跳过本操作。 |
| 50 | 52 | ||
| 51 | - 单击[下载链接](https://ascend.devcloud.huaweicloud.com/cann/run/software/8.5.0-beta.1),根据实际产品型号和环境架构,获取对应的`Ascend-cann-${soc_name}-ops_${cann_version}_linux-${arch}.run`包。 | 53 | + 根据实际产品型号和环境架构,获取对应的`Ascend-cann-${soc_name}-ops_${cann_version}_linux-${arch}.run`包。 |
| 54 | + - Atlas A2/A3系列产品:单击[下载链接](https://ascend.devcloud.huaweicloud.com/cann/run/software/8.5.0-beta.1)获取软件包。 | ||
| 55 | + - Ascend 950PR/Ascend 950DT产品:单击[下载链接](https://ascend.devcloud.huaweicloud.com/cann/run/software/8.5.0-beta.1)获取软件包。 | ||
| 52 | 56 | ||
| 53 | ```bash | 57 | ```bash |
| 54 | # 确保安装包具有可执行权限 | 58 | # 确保安装包具有可执行权限 |
| @@ -5,27 +5,32 @@ | |||
| 5 | 5 | ||
| 6 | **表 1** 数据类型简写表 | 6 | **表 1** 数据类型简写表 |
| 7 | 7 | ||
| 8 | -| 原始数据类型 | 简写形式(不区分大小写) | | 8 | +| 原始数据类型 | 简写形式(不区分大小写) | |
| 9 | -| :----: | :----: | | 9 | +| :---------------: | :----------------------: | |
| 10 | -| ACL_FLOAT | FLOAT或FLOAT32 | | 10 | +| ACL_FLOAT | FLOAT或FLOAT32 | |
| 11 | -| ACL_FLOAT16 | FLOAT16 | | 11 | +| ACL_FLOAT16 | FLOAT16 | |
| 12 | -| ACL_INT8 | INT8 | | 12 | +| ACL_INT8 | INT8 | |
| 13 | -| ACL_INT32 | INT32 | | 13 | +| ACL_INT32 | INT32 | |
| 14 | -| ACL_UINT8 | UINT8 | | 14 | +| ACL_UINT8 | UINT8 | |
| 15 | -| ACL_INT16 | INT16 | | 15 | +| ACL_INT16 | INT16 | |
| 16 | -| ACL_UINT16 | UINT16 | | 16 | +| ACL_UINT16 | UINT16 | |
| 17 | -| ACL_UINT32 | UINT32 | | 17 | +| ACL_UINT32 | UINT32 | |
| 18 | -| ACL_INT64 | INT64 | | 18 | +| ACL_INT64 | INT64 | |
| 19 | -| ACL_UINT64 | UINT64 | | 19 | +| ACL_UINT64 | UINT64 | |
| 20 | -| ACL_DOUBLE | DOUBLE或FLOAT64 | | 20 | +| ACL_DOUBLE | DOUBLE或FLOAT64 | |
| 21 | -| ACL_BOOL | BOOL | | 21 | +| ACL_BOOL | BOOL | |
| 22 | -| ACL_STRING | STRING | | 22 | +| ACL_STRING | STRING | |
| 23 | -| ACL_COMPLEX64 | COMPLEX64 | | 23 | +| ACL_COMPLEX64 | COMPLEX64 | |
| 24 | -| ACL_COMPLEX128 | COMPLEX128 | | 24 | +| ACL_COMPLEX128 | COMPLEX128 | |
| 25 | -| ACL_BF16 | BF16或BFLOAT16 | | 25 | +| ACL_BF16 | BF16或BFLOAT16 | |
| 26 | -| ACL_INT4 | INT4 | | 26 | +| ACL_INT4 | INT4 | |
| 27 | -| ACL_UINT1 | UINT1 | | 27 | +| ACL_UINT1 | UINT1 | |
| 28 | -| ACL_COMPLEX32 | COMPLEX32 | | 28 | +| ACL_COMPLEX32 | COMPLEX32 | |
| 29 | - | 29 | +| ACL_HIFLOAT8 | HIFLOAT8 | |
| 30 | - | 30 | +| ACL_FLOAT8_E5M2 | FLOAT8_E5M2 | |
| 31 | - | 31 | +| ACL_FLOAT8_E4M3FN | FLOAT8_E4M3FN | |
| 32 | +| ACL_FLOAT8_E8M0 | FLOAT8_E8M0 | | ||
| 33 | +| ACL_FLOAT6_E3M2 | FLOAT6_E3M2 | | ||
| 34 | +| ACL_FLOAT6_E2M3 | FLOAT6_E2M3 | | ||
| 35 | +| ACL_FLOAT4_E2M1 | FLOAT4_E2M1 | | ||
| 36 | +| ACL_FLOAT4_E1M2 | FLOAT4_E1M2 | | ||
| @@ -25,7 +25,7 @@ | |||
| 25 | # 编译experimental贡献目录下的用户算子 | 25 | # 编译experimental贡献目录下的用户算子 |
| 26 | # bash build.sh --pkg --experimental --soc=ascend910b --ops=${experimental_op} | 26 | # bash build.sh --pkg --experimental --soc=ascend910b --ops=${experimental_op} |
| 27 | ``` | 27 | ``` |
| 28 | - - --soc:\$\{soc\_version\}表示NPU型号。Atlas A2系列产品使用"ascend910b"(默认),Atlas A3系列产品使用"ascend910_93"。 | 28 | + - --soc:\$\{soc\_version\}表示NPU型号。Atlas A2系列产品使用"ascend910b"(默认),Atlas A3系列产品使用"ascend910_93",Ascend 950PR/Ascend 950DT产品使用"ascend950"。 |
| 29 | - --vendor_name(可选):\$\{vendor\_name\}表示构建的自定义算子包名,默认名为custom。 | 29 | - --vendor_name(可选):\$\{vendor\_name\}表示构建的自定义算子包名,默认名为custom。 |
| 30 | - --ops(可选):\$\{op\_list\}表示待编译算子,不指定时默认编译所有算子。格式形如"transpose_batch_mat_mul,gemm,...",多算子之间用英文逗号","分隔。 | 30 | - --ops(可选):\$\{op\_list\}表示待编译算子,不指定时默认编译所有算子。格式形如"transpose_batch_mat_mul,gemm,...",多算子之间用英文逗号","分隔。 |
| 31 | - --experimental(可选):表示编译experimental贡献目录下的算子,${experimental_op}为新贡献算子目录名,贡献说明参见[贡献指南](../../../CONTRIBUTING.md)。 | 31 | - --experimental(可选):表示编译experimental贡献目录下的算子,${experimental_op}为新贡献算子目录名,贡献说明参见[贡献指南](../../../CONTRIBUTING.md)。 |
| @@ -66,7 +66,7 @@ | |||
| 66 | # bash build.sh --pkg --experimental [--jit] --soc=${soc_version} | 66 | # bash build.sh --pkg --experimental [--jit] --soc=${soc_version} |
| 67 | ``` | 67 | ``` |
| 68 | - --jit(可选):设置后表示不编译算子二进制文件,如需使用aclnn调用算子,该选项无需设置。 | 68 | - --jit(可选):设置后表示不编译算子二进制文件,如需使用aclnn调用算子,该选项无需设置。 |
| 69 | - - --soc:\$\{soc\_version\}表示NPU型号。Atlas A2系列产品使用"ascend910b"(默认),Atlas A3系列产品使用"ascend910_93"。 | 69 | + - --soc:\$\{soc\_version\}表示NPU型号。Atlas A2系列产品使用"ascend910b"(默认),Atlas A3系列产品使用"ascend910_93",Ascend 950PR/Ascend 950DT产品使用"ascend950"。 |
| 70 | - --experimental(可选):表示编译experimental贡献目录下的算子。 | 70 | - --experimental(可选):表示编译experimental贡献目录下的算子。 |
| 71 | 71 | ||
| 72 | 若提示如下信息,说明编译成功。 | 72 | 若提示如下信息,说明编译成功。 |
| @@ -101,7 +101,7 @@ | |||
| 101 | 101 | ||
| 102 | - 完成自定义算子包安装后,执行如下命令: | 102 | - 完成自定义算子包安装后,执行如下命令: |
| 103 | ```bash | 103 | ```bash |
| 104 | - bash build.sh --run_example ${op} ${mode} ${pkg_mode} [--example_name=${example_name}] [--vendor_name=${vendor_name}] | 104 | + bash build.sh --run_example ${op} ${mode} ${pkg_mode} [--example_name=${example_name}] [--vendor_name=${vendor_name}] [--soc=${soc_version}] |
| 105 | # 以TransposeBatchMatMul算子执行test_aclnn_transpose_batch_mat_mul.cpp为例 | 105 | # 以TransposeBatchMatMul算子执行test_aclnn_transpose_batch_mat_mul.cpp为例 |
| 106 | # bash build.sh --run_example transpose_batch_mat_mul eager cust --example_name=transpose_batch_mat_mul --vendor_name=transpose_batch_mat_mul | 106 | # bash build.sh --run_example transpose_batch_mat_mul eager cust --example_name=transpose_batch_mat_mul --vendor_name=transpose_batch_mat_mul |
| 107 | ``` | 107 | ``` |
| @@ -111,18 +111,20 @@ | |||
| 111 | - \$\{pkg_mode\}:表示包模式,目前仅支持cust,即自定义算子包。 | 111 | - \$\{pkg_mode\}:表示包模式,目前仅支持cust,即自定义算子包。 |
| 112 | - \$\{example_name\}(可选):表示待执行样例名,名称为各个算子examples文件夹下的文件名称,去掉`test_aclnn_`前缀和`.cpp`后缀。 | 112 | - \$\{example_name\}(可选):表示待执行样例名,名称为各个算子examples文件夹下的文件名称,去掉`test_aclnn_`前缀和`.cpp`后缀。 |
| 113 | - \$\{vendor\_name\}(可选):与构建的自定义算子包设置一致,默认名为custom。 | 113 | - \$\{vendor\_name\}(可选):与构建的自定义算子包设置一致,默认名为custom。 |
| 114 | + - \$\{soc_version\}(可选):表示NPU型号。当设置为"ascend950"时会额外运行"arch35"目录下的示例文件。 | ||
| 114 | 115 | ||
| 115 | 说明:\$\{mode\}为graph时,不指定\$\{pkg_mode\}和\$\{vendor\_name\} | 116 | 说明:\$\{mode\}为graph时,不指定\$\{pkg_mode\}和\$\{vendor\_name\} |
| 116 | 117 | ||
| 117 | - 完成ops-nn包安装后,执行命令如下: | 118 | - 完成ops-nn包安装后,执行命令如下: |
| 118 | ```bash | 119 | ```bash |
| 119 | - bash build.sh --run_example ${op} ${mode} | 120 | + bash build.sh --run_example ${op} ${mode} [--soc=${soc_version}] |
| 120 | # 以TransposeBatchMatMul算子example执行为例 | 121 | # 以TransposeBatchMatMul算子example执行为例 |
| 121 | # bash build.sh --run_example transpose_batch_mat_mul eager | 122 | # bash build.sh --run_example transpose_batch_mat_mul eager |
| 122 | ``` | 123 | ``` |
| 123 | 124 | ||
| 124 | - \$\{op\}:表示待执行算子,算子名为小写下划线形式,如transpose_batch_mat_mul。 | 125 | - \$\{op\}:表示待执行算子,算子名为小写下划线形式,如transpose_batch_mat_mul。 |
| 125 | - \$\{mode\}:表示算子执行模式,目前支持eager(aclnn调用)、graph(图模式调用)。 | 126 | - \$\{mode\}:表示算子执行模式,目前支持eager(aclnn调用)、graph(图模式调用)。 |
| 127 | + - \$\{soc_version\}(可选):表示NPU型号。当设置为"ascend950"时会额外运行"arch35"目录下的示例文件。 | ||
| 126 | 128 | ||
| 127 | 执行算子样例后会打印结果,以TransposeBatchMatMul算子执行为例: | 129 | 执行算子样例后会打印结果,以TransposeBatchMatMul算子执行为例: |
| 128 | 130 | ||
| @@ -150,6 +152,8 @@ | |||
| 150 | # bash build.sh -u --[opapi|ophost|opkernel] | 152 | # bash build.sh -u --[opapi|ophost|opkernel] |
| 151 | # 方式5: 编译对应功能的UT测试用例但不执行(选其一) | 153 | # 方式5: 编译对应功能的UT测试用例但不执行(选其一) |
| 152 | # bash build.sh -u --noexec --[opapi|ophost|opkernel] | 154 | # bash build.sh -u --noexec --[opapi|ophost|opkernel] |
| 155 | + # 方式6: 执行UT测试用例时可指定soc编译 | ||
| 156 | + # bash build.sh -u --[opapi|ophost|opkernel] [--soc=${soc_version}] | ||
| 153 | ``` | 157 | ``` |
| 154 | 158 | ||
| 155 | 假设验证ophost功能是否正常,执行如下命令: | 159 | 假设验证ophost功能是否正常,执行如下命令: |