已合并
【PR】: 修改资料中的sample链接 #4527
Sophia1213创建于 13 天前
【PR】: 修改资料中的sample链接 #4527
已合并
共 91 个文件变更+153-153
| @@ -47,4 +47,4 @@ ge::Status GeSessionExecuteGraphWithStreamAsync(ge::Session &session, uint32_t g | |||
| 47 | - 调用该接口前,需要通过acl提供的**aclrtCreateStream**接口创建Stream。 | 47 | - 调用该接口前,需要通过acl提供的**aclrtCreateStream**接口创建Stream。 |
| 48 | - 得到输出运行结果前,需要通过**aclrtSynchronizeStream**接口保证Stream上的任务已经执行完。 | 48 | - 得到输出运行结果前,需要通过**aclrtSynchronizeStream**接口保证Stream上的任务已经执行完。 |
| 49 | 49 | ||
| 50 | -接口详细说明请参见《[Runtime运行时 API](https://hiascend.com/document/redirect/CannCommunityRuntimeApi)》中的“Stream管理”。 | 50 | +接口详细说明请参见《[Runtime运行时 API](https://gitcode.com/cann/runtime/blob/master/docs/zh/api_ref/README.md)》中的“Stream管理”。 |
| @@ -25,7 +25,7 @@ export DUMP_GE_GRAPH=1 | |||
| 25 | - 若指定环境变量:DUMP\_GRAPH\_PATH,生成的JSON文件在$\{DUMP\_GRAPH\_PATH\}/目录。 | 25 | - 若指定环境变量:DUMP\_GRAPH\_PATH,生成的JSON文件在$\{DUMP\_GRAPH\_PATH\}/目录。 |
| 26 | - 若没有指定环境变量,生成的JSON文件在当前脚本执行目录。 | 26 | - 若没有指定环境变量,生成的JSON文件在当前脚本执行目录。 |
| 27 | 27 | ||
| 28 | -上述环境变量的详细说明请参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 28 | +上述环境变量的详细说明请参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| 29 | 29 | ||
| 30 | ## 函数原型 | 30 | ## 函数原型 |
| 31 | 31 | ||
| @@ -29,7 +29,7 @@ graphStatus SetCustomValue(uint64_t custom_value) | |||
| 29 | 29 | ||
| 30 | 设置成功时返回“ge::GRAPH\_SUCCESS”。 | 30 | 设置成功时返回“ge::GRAPH\_SUCCESS”。 |
| 31 | 31 | ||
| 32 | -关于graphStatus的定义,请参见[ge::graphStatus](https://hiascend.com/document/redirect/CannCommunitybasicopapi)。 | 32 | +关于graphStatus的定义,请参见[ge::graphStatus](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)。 |
| 33 | 33 | ||
| 34 | ## 约束说明 | 34 | ## 约束说明 |
| 35 | 35 | ||
| @@ -29,7 +29,7 @@ graphStatus SetHiddenInputSubType(HiddenInputSubType hidden_type) | |||
| 29 | 29 | ||
| 30 | 设置成功时返回“ge::GRAPH\_SUCCESS”。 | 30 | 设置成功时返回“ge::GRAPH\_SUCCESS”。 |
| 31 | 31 | ||
| 32 | -关于graphStatus的定义,请参见[ge::graphStatus](https://hiascend.com/document/redirect/CannCommunitybasicopapi)。 | 32 | +关于graphStatus的定义,请参见[ge::graphStatus](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)。 |
| 33 | 33 | ||
| 34 | ## 约束说明 | 34 | ## 约束说明 |
| 35 | 35 | ||
| @@ -11,7 +11,7 @@ GE退出,释放GE相关资源。 | |||
| 11 | 11 | ||
| 12 | 在该接口内,默认增加2000ms延时(实际最大延时可达2000ms),用于Device业务日志回传,保证ERROR级别和EVENT级别日志不丢失,您可以将**ASCEND\_LOG\_DEVICE\_FLUSH\_TIMEOUT**环境变量设置为0(命令示例:**export ASCEND\_LOG\_DEVICE\_FLUSH\_TIMEOUT=0**),去除该默认延时。 | 12 | 在该接口内,默认增加2000ms延时(实际最大延时可达2000ms),用于Device业务日志回传,保证ERROR级别和EVENT级别日志不丢失,您可以将**ASCEND\_LOG\_DEVICE\_FLUSH\_TIMEOUT**环境变量设置为0(命令示例:**export ASCEND\_LOG\_DEVICE\_FLUSH\_TIMEOUT=0**),去除该默认延时。 |
| 13 | 13 | ||
| 14 | -关于**ASCEND\_LOG\_DEVICE\_FLUSH\_TIMEOUT**环境变量的详细描述请参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 14 | +关于**ASCEND\_LOG\_DEVICE\_FLUSH\_TIMEOUT**环境变量的详细描述请参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| 15 | 15 | ||
| 16 | ## 函数原型 | 16 | ## 函数原型 |
| 17 | 17 | ||
| @@ -25,7 +25,7 @@ | |||
| 25 | 25 | ||
| 26 | 推荐使用用法一:因为生成om离线模型后,调用GetCompiledModel接口和调用aclmdlLoadFromFile接口的CANN软件包版本号**可以不一致**;而如果使用用法二,由于内存缓冲区的序列化模型数据ModelBufferData不保证版本兼容性,要求调用GetCompiledModel接口和调用aclmdlLoadFromMem接口的CANN软件包版本号**一致**,否则可能引发未定义行为。 | 26 | 推荐使用用法一:因为生成om离线模型后,调用GetCompiledModel接口和调用aclmdlLoadFromFile接口的CANN软件包版本号**可以不一致**;而如果使用用法二,由于内存缓冲区的序列化模型数据ModelBufferData不保证版本兼容性,要求调用GetCompiledModel接口和调用aclmdlLoadFromMem接口的CANN软件包版本号**一致**,否则可能引发未定义行为。 |
| 27 | 27 | ||
| 28 | -接口详细介绍请参见《[应用开发 \(C&C++\)](https://hiascend.com/document/redirect/CannCommunityCppBaseinfer)》中的“模型推理”章节。 | 28 | +接口详细介绍请参见《[应用开发](https://gitcode.com/cann/docs/blob/master/docs/zh/app-dev/00_acl_cpp_dev.md)》中的“模型推理”章节。 |
| 29 | 29 | ||
| 30 | ## 函数原型 | 30 | ## 函数原型 |
| 31 | 31 | ||
| @@ -21,7 +21,7 @@ export DUMP_GE_GRAPH=1 | |||
| 21 | - 若指定环境变量:DUMP\_GRAPH\_PATH,生成的JSON文件在$\{DUMP\_GRAPH\_PATH\}/目录。 | 21 | - 若指定环境变量:DUMP\_GRAPH\_PATH,生成的JSON文件在$\{DUMP\_GRAPH\_PATH\}/目录。 |
| 22 | - 若没有指定环境变量,生成的JSON文件在当前脚本执行目录。 | 22 | - 若没有指定环境变量,生成的JSON文件在当前脚本执行目录。 |
| 23 | 23 | ||
| 24 | -上述环境变量的详细说明请参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 24 | +上述环境变量的详细说明请参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| 25 | 25 | ||
| 26 | ## 函数原型 | 26 | ## 函数原型 |
| 27 | 27 | ||
| @@ -22,7 +22,7 @@ Status RegisterExternalAllocator(const void *const stream, AllocatorPtr allocato | |||
| 22 | | 参数名 | 输入/输出 | 说明 | | 22 | | 参数名 | 输入/输出 | 说明 | |
| 23 | | --- | --- | --- | | 23 | | --- | --- | --- | |
| 24 | | stream | 输入 | 指定Allocator注册在哪个Stream上。 | | 24 | | stream | 输入 | 指定Allocator注册在哪个Stream上。 | |
| 25 | -| allocator | 输入 | 用户Allocator对象的智能指针。Allocator基于《[基础数据结构和接口](https://hiascend.com/document/redirect/CannCommunitybasicopapi)》中的"ge命名空间 > Allocator"派生。 | | 25 | +| allocator | 输入 | 用户Allocator对象的智能指针。Allocator基于《[基础数据结构和接口](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)》中的"ge命名空间 > Allocator"派生。 | |
| 26 | 26 | ||
| 27 | ## 返回值说明 | 27 | ## 返回值说明 |
| 28 | 28 | ||
| @@ -29,7 +29,7 @@ graphStatus SetBlockDim(uint32_t block_dim) | |||
| 29 | 29 | ||
| 30 | 设置成功时返回“ge::GRAPH\_SUCCESS”。 | 30 | 设置成功时返回“ge::GRAPH\_SUCCESS”。 |
| 31 | 31 | ||
| 32 | -关于graphStatus的定义,请参见[ge::graphStatus](https://hiascend.com/document/redirect/CannCommunitybasicopapi)。 | 32 | +关于graphStatus的定义,请参见[ge::graphStatus](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)。 |
| 33 | 33 | ||
| 34 | ## 约束说明 | 34 | ## 约束说明 |
| 35 | 35 | ||
| @@ -28,8 +28,8 @@ TensorDesc GetInputDesc(uint32_t index) const | |||
| 28 | 28 | ||
| 29 | | 参数名 | 输入/输出 | 描述 | | 29 | | 参数名 | 输入/输出 | 描述 | |
| 30 | | --- | --- | --- | | 30 | | --- | --- | --- | |
| 31 | -| name | 输入 | 算子Input名称。<br>当无此算子Input名称时,则返回TensorDesc默认构造的对象,其中,主要设置[DataType](https://hiascend.com/document/redirect/CannCommunitybasicopapi)为DT_FLOAT(表示float类型),[Format](https://hiascend.com/document/redirect/CannCommunitybasicopapi)为FORMAT_NCHW(表示NCHW)。 | | 31 | +| name | 输入 | 算子Input名称。<br>当无此算子Input名称时,则返回TensorDesc默认构造的对象,其中,主要设置[DataType](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)为DT_FLOAT(表示float类型),[Format](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)为FORMAT_NCHW(表示NCHW)。 | |
| 32 | -| index | 输入 | 算子Input索引。<br>当无此算子Input索引时,则返回TensorDesc默认构造的对象,其中,主要设置[DataType](https://hiascend.com/document/redirect/CannCommunitybasicopapi)为DT_FLOAT(表示float类型),[Format](https://hiascend.com/document/redirect/CannCommunitybasicopapi)为FORMAT_NCHW(表示NCHW)。 | | 32 | +| index | 输入 | 算子Input索引。<br>当无此算子Input索引时,则返回TensorDesc默认构造的对象,其中,主要设置[DataType](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)为DT_FLOAT(表示float类型),[Format](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)为FORMAT_NCHW(表示NCHW)。 | |
| 33 | 33 | ||
| 34 | ## 返回值说明 | 34 | ## 返回值说明 |
| 35 | 35 | ||
| @@ -28,8 +28,8 @@ TensorDesc GetOutputDesc(uint32_t index) const | |||
| 28 | 28 | ||
| 29 | | 参数名 | 输入/输出 | 描述 | | 29 | | 参数名 | 输入/输出 | 描述 | |
| 30 | | --- | --- | --- | | 30 | | --- | --- | --- | |
| 31 | -| name | 输入 | 算子Output名称。<br>当无此算子Output名称时,返回TensorDesc默认构造的对象,其中,主要设置[DataType](https://hiascend.com/document/redirect/CannCommunitybasicopapi)为DT_FLOAT(表示float类型),[Format](https://hiascend.com/document/redirect/CannCommunitybasicopapi)为FORMAT_NCHW(表示NCHW)。 | | 31 | +| name | 输入 | 算子Output名称。<br>当无此算子Output名称时,返回TensorDesc默认构造的对象,其中,主要设置[DataType](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)为DT_FLOAT(表示float类型),[Format](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)为FORMAT_NCHW(表示NCHW)。 | |
| 32 | -| index | 输入 | 算子Output索引。<br>当无此算子Output索引时,则返回TensorDesc默认构造的对象,其中,主要设置[DataType](https://hiascend.com/document/redirect/CannCommunitybasicopapi)为DT_FLOAT(表示float类型),[Format](https://hiascend.com/document/redirect/CannCommunitybasicopapi)为FORMAT_NCHW(表示NCHW)。 | | 32 | +| index | 输入 | 算子Output索引。<br>当无此算子Output索引时,则返回TensorDesc默认构造的对象,其中,主要设置[DataType](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)为DT_FLOAT(表示float类型),[Format](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)为FORMAT_NCHW(表示NCHW)。 | |
| 33 | 33 | ||
| 34 | ## 返回值说明 | 34 | ## 返回值说明 |
| 35 | 35 | ||
| @@ -13,7 +13,7 @@ | |||
| 13 | 13 | ||
| 14 | 推导Operator输出的shape和DataType。 | 14 | 推导Operator输出的shape和DataType。 |
| 15 | 15 | ||
| 16 | -关于DataType数据类型的定义,请参见[DataType](https://hiascend.com/document/redirect/CannCommunitybasicopapi)。 | 16 | +关于DataType数据类型的定义,请参见[DataType](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)。 |
| 17 | 17 | ||
| 18 | ## 函数原型 | 18 | ## 函数原型 |
| 19 | 19 | ||
| @@ -11,7 +11,7 @@ GE退出,释放GE相关资源。 | |||
| 11 | 11 | ||
| 12 | 在该接口内,默认增加2000ms延时(实际最大延时可达2000ms),用于Device业务日志回传,保证ERROR级别和EVENT级别日志不丢失,您可以将**ASCEND\_LOG\_DEVICE\_FLUSH\_TIMEOUT**环境变量设置为0(命令示例:**export ASCEND\_LOG\_DEVICE\_FLUSH\_TIMEOUT=0**),去除该默认延时。 | 12 | 在该接口内,默认增加2000ms延时(实际最大延时可达2000ms),用于Device业务日志回传,保证ERROR级别和EVENT级别日志不丢失,您可以将**ASCEND\_LOG\_DEVICE\_FLUSH\_TIMEOUT**环境变量设置为0(命令示例:**export ASCEND\_LOG\_DEVICE\_FLUSH\_TIMEOUT=0**),去除该默认延时。 |
| 13 | 13 | ||
| 14 | -关于**ASCEND\_LOG\_DEVICE\_FLUSH\_TIMEOUT**环境变量的详细描述请参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 14 | +关于**ASCEND\_LOG\_DEVICE\_FLUSH\_TIMEOUT**环境变量的详细描述请参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| 15 | 15 | ||
| 16 | ## 函数原型 | 16 | ## 函数原型 |
| 17 | 17 | ||
| @@ -21,7 +21,7 @@ export DUMP_GE_GRAPH=1 | |||
| 21 | - 若指定环境变量:DUMP\_GRAPH\_PATH,生成的JSON文件在$\{DUMP\_GRAPH\_PATH\}/目录。 | 21 | - 若指定环境变量:DUMP\_GRAPH\_PATH,生成的JSON文件在$\{DUMP\_GRAPH\_PATH\}/目录。 |
| 22 | - 若没有指定环境变量,生成的JSON文件在当前脚本执行目录。 | 22 | - 若没有指定环境变量,生成的JSON文件在当前脚本执行目录。 |
| 23 | 23 | ||
| 24 | -上述环境变量的详细说明请参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 24 | +上述环境变量的详细说明请参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| 25 | 25 | ||
| 26 | ## 函数原型 | 26 | ## 函数原型 |
| 27 | 27 | ||
| @@ -22,7 +22,7 @@ Status RegisterExternalAllocator(const void *const stream, AllocatorPtr allocato | |||
| 22 | | 参数名 | 输入/输出 | 说明 | | 22 | | 参数名 | 输入/输出 | 说明 | |
| 23 | | --- | --- | --- | | 23 | | --- | --- | --- | |
| 24 | | stream | 输入 | 指定Allocator注册在哪个Stream上。 | | 24 | | stream | 输入 | 指定Allocator注册在哪个Stream上。 | |
| 25 | -| allocator | 输入 | 用户Allocator对象的智能指针。Allocator基于[Allocator](https://hiascend.com/document/redirect/CannCommunitybasicopapi)派生。 | | 25 | +| allocator | 输入 | 用户Allocator对象的智能指针。Allocator基于[Allocator](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)派生。 | |
| 26 | 26 | ||
| 27 | ## 返回值说明 | 27 | ## 返回值说明 |
| 28 | 28 | ||
| @@ -25,7 +25,7 @@ DataType GetDataType() const | |||
| 25 | 25 | ||
| 26 | ## 返回值 | 26 | ## 返回值 |
| 27 | 27 | ||
| 28 | -ShapeAndType对象中的[DataType](https://hiascend.com/document/redirect/CannCommunitybasicopapi)。 | 28 | +ShapeAndType对象中的[DataType](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)。 |
| 29 | 29 | ||
| 30 | ## 约束说明 | 30 | ## 约束说明 |
| 31 | 31 | ||
| @@ -25,7 +25,7 @@ const Shape &GetShape() const | |||
| 25 | 25 | ||
| 26 | ## 返回值 | 26 | ## 返回值 |
| 27 | 27 | ||
| 28 | -ShapeAndType对象中的[Shape](https://hiascend.com/document/redirect/CannCommunitybasicopapi)。 | 28 | +ShapeAndType对象中的[Shape](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)。 |
| 29 | 29 | ||
| 30 | ## 约束说明 | 30 | ## 约束说明 |
| 31 | 31 | ||
| @@ -23,7 +23,7 @@ void SetType(DataType data_type) | |||
| 23 | 23 | ||
| 24 | | 参数名 | 输入/输出 | 描述 | | 24 | | 参数名 | 输入/输出 | 描述 | |
| 25 | | --- | --- | --- | | 25 | | --- | --- | --- | |
| 26 | -| data_type | 输入 | 设置的目标DataType。类型请参见[DataType](https://hiascend.com/document/redirect/CannCommunitybasicopapi)。 | | 26 | +| data_type | 输入 | 设置的目标DataType。类型请参见[DataType](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)。 | |
| 27 | 27 | ||
| 28 | ## 返回值说明 | 28 | ## 返回值说明 |
| 29 | 29 | ||
| @@ -9,7 +9,7 @@ | |||
| 9 | **使用约束:** | 9 | **使用约束:** |
| 10 | 10 | ||
| 11 | - 如果要自行指定算子编译的过程文件存放路径,需DEBUG\_DIR参数与OP\_DEBUG\_LEVEL参数配合使用,且当OP\_DEBUG\_LEVEL取值为0时,不能使用DEBUG\_DIR参数。 | 11 | - 如果要自行指定算子编译的过程文件存放路径,需DEBUG\_DIR参数与OP\_DEBUG\_LEVEL参数配合使用,且当OP\_DEBUG\_LEVEL取值为0时,不能使用DEBUG\_DIR参数。 |
| 12 | -- 算子编译生成的调试文件存储路径,除DEBUG\_DIR参数设置的方式外,还可以配置环境变量ASCEND\_WORK\_PATH,几种方式优先级为:配置参数“DEBUG\_DIR”\>环境变量ASCEND\_WORK\_PATH \>默认存储路径。关于环境变量ASCEND\_WORK\_PATH的详细说明请参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 12 | +- 算子编译生成的调试文件存储路径,除DEBUG\_DIR参数设置的方式外,还可以配置环境变量ASCEND\_WORK\_PATH,几种方式优先级为:配置参数“DEBUG\_DIR”\>环境变量ASCEND\_WORK\_PATH \>默认存储路径。关于环境变量ASCEND\_WORK\_PATH的详细说明请参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| 13 | 13 | ||
| 14 | **配置示例**: | 14 | **配置示例**: |
| 15 | 15 | ||
| @@ -254,7 +254,7 @@ op_debug_list=GatherV2,opType::ReduceSum | |||
| 254 | 254 | ||
| 255 | > [!NOTE]说明 | 255 | > [!NOTE]说明 |
| 256 | > | 256 | > |
| 257 | ->- 若未设置ASCEND\_WORK\_PATH环境变量,结果文件默认生成在执行脚本的当前路径;若设置了ASCEND\_WORK\_PATH环境变量,则保存路径为:`$ASCEND_WORK_PATH/FE/${进程号}/fusion_result.json`。环境变量详细说明请参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 257 | +>- 若未设置ASCEND\_WORK\_PATH环境变量,结果文件默认生成在执行脚本的当前路径;若设置了ASCEND\_WORK\_PATH环境变量,则保存路径为:`$ASCEND_WORK_PATH/FE/${进程号}/fusion_result.json`。环境变量详细说明请参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| 258 | >- 通过FUSION\_SWITCH\_FILE参数关闭的融合规则,不会在fusion\_result.json文件中呈现。 | 258 | >- 通过FUSION\_SWITCH\_FILE参数关闭的融合规则,不会在fusion\_result.json文件中呈现。 |
| 259 | 259 | ||
| 260 | **配置示例:** | 260 | **配置示例:** |
| @@ -260,7 +260,7 @@ $HOME/atc\_data | |||
| 260 | - 如果参数指定的路径存在且有效,则在指定的路径下自动创建子目录kernel\_cache;如果指定的路径不存在但路径有效,则先自动创建目录,然后在该路径下自动创建子目录kernel\_cache。 | 260 | - 如果参数指定的路径存在且有效,则在指定的路径下自动创建子目录kernel\_cache;如果指定的路径不存在但路径有效,则先自动创建目录,然后在该路径下自动创建子目录kernel\_cache。 |
| 261 | - 用户请不要在**默认缓存目录**下存放其他自有内容,自有内容在软件包安装或升级时会同默认缓存目录一并被删除。 | 261 | - 用户请不要在**默认缓存目录**下存放其他自有内容,自有内容在软件包安装或升级时会同默认缓存目录一并被删除。 |
| 262 | - 通过该参数指定的**非默认缓存目录**无法删除(软件包安装或升级时不会被删除)。 | 262 | - 通过该参数指定的**非默认缓存目录**无法删除(软件包安装或升级时不会被删除)。 |
| 263 | -- 算子编译磁盘缓存路径,除OP\_COMPILER\_CACHE\_DIR参数设置的方式外,还可以配置环境变量ASCEND\_CACHE\_PATH,几种方式优先级为:配置参数“OP\_COMPILER\_CACHE\_DIR”\>环境变量ASCEND\_CACHE\_PATH\>默认存储路径。关于环境变量ASCEND\_CACHE\_PATH的详细说明请参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 263 | +- 算子编译磁盘缓存路径,除OP\_COMPILER\_CACHE\_DIR参数设置的方式外,还可以配置环境变量ASCEND\_CACHE\_PATH,几种方式优先级为:配置参数“OP\_COMPILER\_CACHE\_DIR”\>环境变量ASCEND\_CACHE\_PATH\>默认存储路径。关于环境变量ASCEND\_CACHE\_PATH的详细说明请参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| 264 | 264 | ||
| 265 | **产品支持情况:** | 265 | **产品支持情况:** |
| 266 | 266 | ||
| @@ -99,7 +99,7 @@ | |||
| 99 | <!-- end id3 --> | 99 | <!-- end id3 --> |
| 100 | <!-- @ref: ge/res/docs/zh/api/graph_engine_api/cpp/ge/aclgrphBuildInitialize_config_params/precision_tuning_res.md#id1 --> | 100 | <!-- @ref: ge/res/docs/zh/api/graph_engine_api/cpp/ge/aclgrphBuildInitialize_config_params/precision_tuning_res.md#id1 --> |
| 101 | 101 | ||
| 102 | -- 该参数默认为性能优先,后续推理时可能会导致精度溢出问题。如果推理时出现精度问题,可以参见《[应用开发 \(C&C++\)](https://hiascend.com/document/redirect/CannCommunityCppBaseinfer)》中的“模型推理 \> 精度/性能优化 \> 模型推理精度提升建议”进行定位。 | 102 | +- 该参数默认为性能优先,后续推理时可能会导致精度溢出问题。如果推理时出现精度问题,可以参见《[应用开发](https://gitcode.com/cann/docs/blob/master/docs/zh/app-dev/00_acl_cpp_dev.md)》中的“模型推理 \> 精度/性能优化 \> 模型推理精度提升建议”进行定位。 |
| 103 | - 如果用户聚焦精度问题,可以修改为其他取值,比如**must\_keep\_origin\_dtype。** | 103 | - 如果用户聚焦精度问题,可以修改为其他取值,比如**must\_keep\_origin\_dtype。** |
| 104 | 104 | ||
| 105 | **配置示例:** | 105 | **配置示例:** |
| @@ -210,7 +210,7 @@ | |||
| 210 | Ascend 950PR/Ascend 950DT | 210 | Ascend 950PR/Ascend 950DT |
| 211 | <!-- end id13 --> | 211 | <!-- end id13 --> |
| 212 | 212 | ||
| 213 | -- 该参数默认为性能优先,后续推理时可能会导致精度溢出问题。如果推理时出现精度问题,可以参见《[应用开发 \(C&C++\)](https://hiascend.com/document/redirect/CannCommunityCppBaseinfer)》中的“模型推理 \> 精度/性能优化 \> 模型推理精度提升建议”进行定位。 | 213 | +- 该参数默认为性能优先,后续推理时可能会导致精度溢出问题。如果推理时出现精度问题,可以参见《[应用开发](https://gitcode.com/cann/docs/blob/master/docs/zh/app-dev/00_acl_cpp_dev.md)》中的“模型推理 \> 精度/性能优化 \> 模型推理精度提升建议”进行定位。 |
| 214 | - 如果用户聚焦精度问题,可以修改为其他取值,比如**origin。** | 214 | - 如果用户聚焦精度问题,可以修改为其他取值,比如**origin。** |
| 215 | 215 | ||
| 216 | **配置示例:** | 216 | **配置示例:** |
| @@ -48,4 +48,4 @@ graphStatus aclgrphBuildModel(const ge::Graph &graph, const std::map<AscendStrin | |||
| 48 | 48 | ||
| 49 | 后续进行推理业务时,需要使用**从内存中**加载模型的接口,例如aclmdlLoadFromMem,然后使用aclmdlExecute接口执行推理。 | 49 | 后续进行推理业务时,需要使用**从内存中**加载模型的接口,例如aclmdlLoadFromMem,然后使用aclmdlExecute接口执行推理。 |
| 50 | 50 | ||
| 51 | - 接口详细使用说明请参见《[应用开发 \(C&C++\)](https://hiascend.com/document/redirect/CannCommunityCppBaseinfer)》中的“模型推理”章节。 | 51 | + 接口详细使用说明请参见《[应用开发](https://gitcode.com/cann/docs/blob/master/docs/zh/app-dev/00_acl_cpp_dev.md)》中的“模型推理”章节。 |
| @@ -29,7 +29,7 @@ | |||
| 29 | **使用约束:** | 29 | **使用约束:** |
| 30 | 30 | ||
| 31 | - 如果要自行指定算子编译的过程文件存放路径,需DEBUG\_DIR参数与OP\_DEBUG\_LEVEL参数配合使用,且当OP\_DEBUG\_LEVEL取值为0时,不能使用DEBUG\_DIR参数。 | 31 | - 如果要自行指定算子编译的过程文件存放路径,需DEBUG\_DIR参数与OP\_DEBUG\_LEVEL参数配合使用,且当OP\_DEBUG\_LEVEL取值为0时,不能使用DEBUG\_DIR参数。 |
| 32 | -- 算子编译生成的调试文件存储路径,除DEBUG\_DIR参数设置的方式外,还可以配置环境变量ASCEND\_WORK\_PATH,几种方式优先级为:配置参数“DEBUG\_DIR”\>环境变量ASCEND\_WORK\_PATH \>默认存储路径。关于环境变量ASCEND\_WORK\_PATH的详细说明请参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 32 | +- 算子编译生成的调试文件存储路径,除DEBUG\_DIR参数设置的方式外,还可以配置环境变量ASCEND\_WORK\_PATH,几种方式优先级为:配置参数“DEBUG\_DIR”\>环境变量ASCEND\_WORK\_PATH \>默认存储路径。关于环境变量ASCEND\_WORK\_PATH的详细说明请参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| 33 | 33 | ||
| 34 | **配置示例**: | 34 | **配置示例**: |
| 35 | 35 | ||
| @@ -255,7 +255,7 @@ op_debug_list=GatherV2,opType::ReduceSum | |||
| 255 | 255 | ||
| 256 | > [!NOTE]说明 | 256 | > [!NOTE]说明 |
| 257 | > | 257 | > |
| 258 | ->- 若未设置ASCEND\_WORK\_PATH环境变量,结果文件默认生成在执行脚本的当前路径;若设置了ASCEND\_WORK\_PATH环境变量,则保存路径为:$ASCEND\_WORK\_PATH/FE/$\{进程号\}/fusion\_result.json。环境变量详细说明请参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 258 | +>- 若未设置ASCEND\_WORK\_PATH环境变量,结果文件默认生成在执行脚本的当前路径;若设置了ASCEND\_WORK\_PATH环境变量,则保存路径为:$ASCEND\_WORK\_PATH/FE/$\{进程号\}/fusion\_result.json。环境变量详细说明请参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| 259 | >- 通过FUSION\_SWITCH\_FILE参数关闭的融合规则,不会在fusion\_result.json文件中呈现。 | 259 | >- 通过FUSION\_SWITCH\_FILE参数关闭的融合规则,不会在fusion\_result.json文件中呈现。 |
| 260 | 260 | ||
| 261 | **配置示例:** | 261 | **配置示例:** |
| @@ -116,7 +116,7 @@ EXCLUDE\_ENGINES提供了排除某个引擎的功能,比如在一次训练过 | |||
| 116 | - 如果参数指定的路径存在且有效,则在指定的路径下自动创建子目录kernel\_cache;如果指定的路径不存在但路径有效,则先自动创建目录,然后在该路径下自动创建子目录kernel\_cache。 | 116 | - 如果参数指定的路径存在且有效,则在指定的路径下自动创建子目录kernel\_cache;如果指定的路径不存在但路径有效,则先自动创建目录,然后在该路径下自动创建子目录kernel\_cache。 |
| 117 | - 用户请不要在**默认缓存目录**下存放其他自有内容,自有内容在软件包安装或升级时会同默认缓存目录一并被删除。 | 117 | - 用户请不要在**默认缓存目录**下存放其他自有内容,自有内容在软件包安装或升级时会同默认缓存目录一并被删除。 |
| 118 | - 通过该参数指定的**非默认缓存目录**无法删除(软件包安装或升级时不会被删除)。 | 118 | - 通过该参数指定的**非默认缓存目录**无法删除(软件包安装或升级时不会被删除)。 |
| 119 | -- 算子编译磁盘缓存路径,除OP\_COMPILER\_CACHE\_DIR参数设置的方式外,还可以配置环境变量ASCEND\_CACHE\_PATH,几种方式优先级为:配置参数“OP\_COMPILER\_CACHE\_DIR”\>环境变量ASCEND\_CACHE\_PATH\>默认存储路径。关于环境变量ASCEND\_CACHE\_PATH的详细说明请参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 119 | +- 算子编译磁盘缓存路径,除OP\_COMPILER\_CACHE\_DIR参数设置的方式外,还可以配置环境变量ASCEND\_CACHE\_PATH,几种方式优先级为:配置参数“OP\_COMPILER\_CACHE\_DIR”\>环境变量ASCEND\_CACHE\_PATH\>默认存储路径。关于环境变量ASCEND\_CACHE\_PATH的详细说明请参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| 120 | 120 | ||
| 121 | **产品支持情况:** | 121 | **产品支持情况:** |
| 122 | 122 | ||
| @@ -4,7 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | 是否采集量化算子的dump数据。此参数实际对应的options参数为`ge.quant_dumpable`。 | 5 | 是否采集量化算子的dump数据。此参数实际对应的options参数为`ge.quant_dumpable`。 |
| 6 | 6 | ||
| 7 | -参考《应用开发 \(C&C++\)》中的“模型推理 \> 精度/性能优化 \> 模型推理精度提升建议”章节进行精度定位时,如果存在AMCT量化后的模型,该模型转成om离线模型时,图编译过程中可能优化量化算子的输入输出,从而影响量化算子dump数据的导出,例如:两个被量化的卷积计算,中间输出被优化为int8的量化后输出。 | 7 | +参考《[应用开发](https://gitcode.com/cann/docs/blob/master/docs/zh/app-dev/00_acl_cpp_dev.md)》中的“模型推理 \> 精度/性能优化 \> 模型推理精度提升建议”章节进行精度定位时,如果存在AMCT量化后的模型,该模型转成om离线模型时,图编译过程中可能优化量化算子的输入输出,从而影响量化算子dump数据的导出,例如:两个被量化的卷积计算,中间输出被优化为int8的量化后输出。 |
| 8 | 8 | ||
| 9 | 为此引入QUANT\_DUMPABLE参数,配置该参数后,量化算子的输入输出不做融合,并且会插入transdata算子,还原原始模型的格式,从而能采集到量化算子的dump数据。 | 9 | 为此引入QUANT\_DUMPABLE参数,配置该参数后,量化算子的输入输出不做融合,并且会插入transdata算子,还原原始模型的格式,从而能采集到量化算子的dump数据。 |
| 10 | 10 | ||
| @@ -91,7 +91,7 @@ | |||
| 91 | Ascend 950PR/Ascend 950DT | 91 | Ascend 950PR/Ascend 950DT |
| 92 | <!-- end id3 --> | 92 | <!-- end id3 --> |
| 93 | 93 | ||
| 94 | -- 该参数默认为性能优先,后续推理时可能会导致精度溢出问题。如果推理时出现精度问题,可以参见《[应用开发 \(C&C++\)](https://hiascend.com/document/redirect/CannCommunityCppBaseinfer)》中的“模型推理 \> 精度/性能优化 \> 模型推理精度提升建议”进行定位。 | 94 | +- 该参数默认为性能优先,后续推理时可能会导致精度溢出问题。如果推理时出现精度问题,可以参见《[应用开发](https://gitcode.com/cann/docs/blob/master/docs/zh/app-dev/00_acl_cpp_dev.md)》中的“模型推理 \> 精度/性能优化 \> 模型推理精度提升建议”进行定位。 |
| 95 | - 如果用户聚焦精度问题,可以修改为其他取值,比如**must\_keep\_origin\_dtype。** | 95 | - 如果用户聚焦精度问题,可以修改为其他取值,比如**must\_keep\_origin\_dtype。** |
| 96 | 96 | ||
| 97 | **配置示例:** | 97 | **配置示例:** |
| @@ -208,7 +208,7 @@ | |||
| 208 | Ascend 950PR/Ascend 950DT | 208 | Ascend 950PR/Ascend 950DT |
| 209 | <!-- end id8 --> | 209 | <!-- end id8 --> |
| 210 | 210 | ||
| 211 | -- 该参数默认为性能优先,后续推理时可能会导致精度溢出问题。如果推理时出现精度问题,可以参见《应用开发 \(C&C++\)》中的“模型推理 \> 精度/性能优化 \> 模型推理精度提升建议”进行定位。 | 211 | +- 该参数默认为性能优先,后续推理时可能会导致精度溢出问题。如果推理时出现精度问题,可以参见《[应用开发](https://gitcode.com/cann/docs/blob/master/docs/zh/app-dev/00_acl_cpp_dev.md)》中的“模型推理 \> 精度/性能优化 \> 模型推理精度提升建议”进行定位。 |
| 212 | - 如果用户聚焦精度问题,可以修改为其他取值,比如**origin。** | 212 | - 如果用户聚焦精度问题,可以修改为其他取值,比如**origin。** |
| 213 | 213 | ||
| 214 | **配置示例:** | 214 | **配置示例:** |
| @@ -24,7 +24,7 @@ CompliantNodeBuilder &InstanceOutputOriginFormat(const char_t *name, ge::Format | |||
| 24 | | 参数名 | 输入/输出 | 说明 | | 24 | | 参数名 | 输入/输出 | 说明 | |
| 25 | | --- | --- | --- | | 25 | | --- | --- | --- | |
| 26 | | name | 输入 | 输出名称。 | | 26 | | name | 输入 | 输出名称。 | |
| 27 | -| format | 输入 | 原始格式。详细内容请参见[Format](https://hiascend.com/document/redirect/CannCommunitybasicopapi)。 | | 27 | +| format | 输入 | 原始格式。详细内容请参见[Format](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)。 | |
| 28 | 28 | ||
| 29 | ## 返回值说明 | 29 | ## 返回值说明 |
| 30 | 30 | ||
| @@ -24,7 +24,7 @@ CompliantNodeBuilder &InstanceOutputStorageFormat(const char_t *name, ge::Format | |||
| 24 | | 参数名 | 输入/输出 | 说明 | | 24 | | 参数名 | 输入/输出 | 说明 | |
| 25 | | --- | --- | --- | | 25 | | --- | --- | --- | |
| 26 | | name | 输入 | 输出名称。 | | 26 | | name | 输入 | 输出名称。 | |
| 27 | -| format | 输入 | 存储格式。详细内容请参见[Format](https://hiascend.com/document/redirect/CannCommunitybasicopapi)。 | | 27 | +| format | 输入 | 存储格式。详细内容请参见[Format](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)。 | |
| 28 | 28 | ||
| 29 | ## 返回值说明 | 29 | ## 返回值说明 |
| 30 | 30 | ||
| @@ -23,7 +23,7 @@ ge::Status SetDataType(const ge::DataType data_type) | |||
| 23 | 23 | ||
| 24 | | 参数名 | 输入/输出 | 说明 | | 24 | | 参数名 | 输入/输出 | 说明 | |
| 25 | | --- | --- | --- | | 25 | | --- | --- | --- | |
| 26 | -| data_type | 输入 | 数据类型。详情请参见[DataType](https://hiascend.com/document/redirect/CannCommunitybasicopapi)。 | | 26 | +| data_type | 输入 | 数据类型。详情请参见[DataType](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)。 | |
| 27 | 27 | ||
| 28 | ## 返回值说明 | 28 | ## 返回值说明 |
| 29 | 29 | ||
| @@ -23,7 +23,7 @@ ge::Status SetFormat(const ge::Format format) | |||
| 23 | 23 | ||
| 24 | | 参数名 | 输入/输出 | 说明 | | 24 | | 参数名 | 输入/输出 | 说明 | |
| 25 | | --- | --- | --- | | 25 | | --- | --- | --- | |
| 26 | -| format | 输入 | 数据格式。详情请参见[Format](https://hiascend.com/document/redirect/CannCommunitybasicopapi)。 | | 26 | +| format | 输入 | 数据格式。详情请参见[Format](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)。 | |
| 27 | 27 | ||
| 28 | ## 返回值说明 | 28 | ## 返回值说明 |
| 29 | 29 | ||
| @@ -23,7 +23,7 @@ ge::Status SetOriginFormat(const ge::Format format) | |||
| 23 | 23 | ||
| 24 | | 参数名 | 输入/输出 | 说明 | | 24 | | 参数名 | 输入/输出 | 说明 | |
| 25 | | --- | --- | --- | | 25 | | --- | --- | --- | |
| 26 | -| format | 输入 | 数据格式。详情请参见[Format](https://hiascend.com/document/redirect/CannCommunitybasicopapi)。 | | 26 | +| format | 输入 | 数据格式。详情请参见[Format](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)。 | |
| 27 | 27 | ||
| 28 | ## 返回值说明 | 28 | ## 返回值说明 |
| 29 | 29 | ||
| @@ -23,7 +23,7 @@ EsTensorHolder &SetDataType(const ge::DataType data_type) | |||
| 23 | 23 | ||
| 24 | | 参数名 | 输入/输出 | 说明 | | 24 | | 参数名 | 输入/输出 | 说明 | |
| 25 | | --- | --- | --- | | 25 | | --- | --- | --- | |
| 26 | -| data_type | 输入 | 数据类型。详细数据类型请参见[DataType](https://hiascend.com/document/redirect/CannCommunitybasicopapi)。 | | 26 | +| data_type | 输入 | 数据类型。详细数据类型请参见[DataType](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)。 | |
| 27 | 27 | ||
| 28 | ## 返回值说明 | 28 | ## 返回值说明 |
| 29 | 29 | ||
| @@ -23,7 +23,7 @@ EsTensorHolder &SetFormat(const ge::Format format) | |||
| 23 | 23 | ||
| 24 | | 参数名 | 输入/输出 | 说明 | | 24 | | 参数名 | 输入/输出 | 说明 | |
| 25 | | --- | --- | --- | | 25 | | --- | --- | --- | |
| 26 | -| format | 输入 | 张量格式。详情请参见[Format](https://hiascend.com/document/redirect/CannCommunitybasicopapi)。 | | 26 | +| format | 输入 | 张量格式。详情请参见[Format](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)。 | |
| 27 | 27 | ||
| 28 | ## 返回值说明 | 28 | ## 返回值说明 |
| 29 | 29 | ||
| @@ -23,7 +23,8 @@ std::map<ge::AscendString, ge::AscendString> ge_options = {{"ge.exec.deviceId", | |||
| 23 | > [!NOTE]说明 | 23 | > [!NOTE]说明 |
| 24 | > | 24 | > |
| 25 | >- 若没有指定节点名,则节点默认按照index顺序存储,存储示例如下:`xxx\_0,xxx\_1,xxx\_2,……`,其中下划线后为节点在网络脚本中的定义顺序索引,节点会按照此索引的字母顺序进行排布,所以当节点的个数大于10时,则排序为`xxx_0 -> xxx_10 -> xxx_2 -> xxx_3`,网络脚本中定义索引为10的节点排在了索引为2的节点前面,导致定义的shape range与实际输入的节点不匹配。为避免此问题,当节点的输入个数大于10时,建议在网络脚本中指定节点的名称,则节点会以指定的名称进行命名,实现shape range与节点名称的关联。 | 25 | >- 若没有指定节点名,则节点默认按照index顺序存储,存储示例如下:`xxx\_0,xxx\_1,xxx\_2,……`,其中下划线后为节点在网络脚本中的定义顺序索引,节点会按照此索引的字母顺序进行排布,所以当节点的个数大于10时,则排序为`xxx_0 -> xxx_10 -> xxx_2 -> xxx_3`,网络脚本中定义索引为10的节点排在了索引为2的节点前面,导致定义的shape range与实际输入的节点不匹配。为避免此问题,当节点的输入个数大于10时,建议在网络脚本中指定节点的名称,则节点会以指定的名称进行命名,实现shape range与节点名称的关联。 |
| 26 | ->- 如果该参数与ge.dynamicDims同时配置,示例如下: | 26 | +> |
| 27 | +>- 如果该参数与ge.dynamicDims同时配置,示例如下,ge.dynamicDims参数功能(动态分档)优先级高于ge.exec.dataInputsShapeRange参数功能(动态shape范围)。 | ||
| 27 | > | 28 | > |
| 28 | > ```c++ | 29 | > ```c++ |
| 29 | > std::map<ge::AscendString, ge::AscendString> ge_options = | 30 | > std::map<ge::AscendString, ge::AscendString> ge_options = |
| @@ -31,9 +32,8 @@ std::map<ge::AscendString, ge::AscendString> ge_options = {{"ge.exec.deviceId", | |||
| 31 | > {"ge.dynamicDims", "20,20,1,1;40,40,2,2;80,60,4,4"}, | 32 | > {"ge.dynamicDims", "20,20,1,1;40,40,2,2;80,60,4,4"}, |
| 32 | > xxx | 33 | > xxx |
| 33 | > {"ge.exec.dataInputsShapeRange", "[128, 3~5, 2~128, -1],[ 128 ,3~5, 2~128, -1]"}}; | 34 | > {"ge.exec.dataInputsShapeRange", "[128, 3~5, 2~128, -1],[ 128 ,3~5, 2~128, -1]"}}; |
| 34 | -> ``` | 35 | +> ``` |
| 35 | > | 36 | > |
| 36 | -> ge.dynamicDims参数功能(动态分档)优先级高于ge.exec.dataInputsShapeRange参数功能(动态shape范围)。 | ||
| 37 | 37 | ||
| 38 | **必选/可选**:可选 | 38 | **必选/可选**:可选 |
| 39 | 39 | ||
| @@ -9,7 +9,7 @@ | |||
| 9 | **使用约束:** | 9 | **使用约束:** |
| 10 | 10 | ||
| 11 | - 如果要自行指定算子编译的过程文件存放路径,需ge.debugDir参数与ge.opDebugLevel参数配合使用,且当ge.opDebugLevel取值为0时,不能使用ge.debugDir参数。 | 11 | - 如果要自行指定算子编译的过程文件存放路径,需ge.debugDir参数与ge.opDebugLevel参数配合使用,且当ge.opDebugLevel取值为0时,不能使用ge.debugDir参数。 |
| 12 | -- 算子编译生成的调试文件存储路径,除ge.debugDir参数设置的方式外,还可以配置环境变量ASCEND\_WORK\_PATH,几种方式优先级为:配置参数“ge.debugDir”\> 环境变量ASCEND\_WORK\_PATH \> 默认存储路径。关于环境变量ASCEND\_WORK\_PATH的详细说明请参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 12 | +- 算子编译生成的调试文件存储路径,除ge.debugDir参数设置的方式外,还可以配置环境变量ASCEND\_WORK\_PATH,几种方式优先级为:配置参数“ge.debugDir”\> 环境变量ASCEND\_WORK\_PATH \> 默认存储路径。关于环境变量ASCEND\_WORK\_PATH的详细说明请参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| 13 | 13 | ||
| 14 | **必选/可选**:可选 | 14 | **必选/可选**:可选 |
| 15 | 15 | ||
| @@ -33,7 +33,7 @@ | |||
| 33 | >- 若配置了环境变量NPU\_COLLECT\_PATH,不论配置项“ge.exec.enable\_exception\_dump”的取值如何,仅收集普通exception dump信息,包括异常算子的输入数据和输出数据,且dump数据存储在环境变量NPU\_COLLECT\_PATH的指定目录下。 | 33 | >- 若配置了环境变量NPU\_COLLECT\_PATH,不论配置项“ge.exec.enable\_exception\_dump”的取值如何,仅收集普通exception dump信息,包括异常算子的输入数据和输出数据,且dump数据存储在环境变量NPU\_COLLECT\_PATH的指定目录下。 |
| 34 | >- L1 exception dump即普通exception dump,L0 exception dump即Lite exception dump(轻量化的exception dump),两者都会导出算子输入输出、workspace数据等信息,但相比L0 exception dump,L1 exception dump的信息更多,开启L1 exception dump时,会在Host应用类日志文件(即plog日志)中打印出来各tensor的dtype等信息,还会把算子相关的算子名、kernel都打印出来。 | 34 | >- L1 exception dump即普通exception dump,L0 exception dump即Lite exception dump(轻量化的exception dump),两者都会导出算子输入输出、workspace数据等信息,但相比L0 exception dump,L1 exception dump的信息更多,开启L1 exception dump时,会在Host应用类日志文件(即plog日志)中打印出来各tensor的dtype等信息,还会把算子相关的算子名、kernel都打印出来。 |
| 35 | 35 | ||
| 36 | -关于环境变量的详细说明可参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 36 | +关于环境变量的详细说明可参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| 37 | 37 | ||
| 38 | 配置示例: | 38 | 配置示例: |
| 39 | 39 | ||
| @@ -74,7 +74,7 @@ std::map<ge::AscendString, ge::AscendString> ge_options = {"ge.exec.enable_excep | |||
| 74 | - 2:图编译完成时,生成算子融合信息结果文件。即如果图编译已完成,后续程序提前中断,也会生成算子融合信息结果文件。 | 74 | - 2:图编译完成时,生成算子融合信息结果文件。即如果图编译已完成,后续程序提前中断,也会生成算子融合信息结果文件。 |
| 75 | 75 | ||
| 76 | > [!NOTE]说明 | 76 | > [!NOTE]说明 |
| 77 | ->若未设置ASCEND\_WORK\_PATH环境变量,结果文件默认生成在执行脚本当前路径;若设置了ASCEND\_WORK\_PATH环境变量,则保存路径为:$ASCEND\_WORK\_PATH/FE/$\{进程号\}/fusion\_result.json。环境变量详细说明请参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 77 | +>若未设置ASCEND\_WORK\_PATH环境变量,结果文件默认生成在执行脚本当前路径;若设置了ASCEND\_WORK\_PATH环境变量,则保存路径为:$ASCEND\_WORK\_PATH/FE/$\{进程号\}/fusion\_result.json。环境变量详细说明请参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| 78 | 78 | ||
| 79 | **配置示例:** | 79 | **配置示例:** |
| 80 | 80 | ||
| @@ -206,7 +206,7 @@ ge.exec.outputReuseInputMemIndexes = "0,1|6,8" | |||
| 206 | 206 | ||
| 207 | - 若配置了ge.externalWeightDir,则权重文件会落盘到指定目录。 | 207 | - 若配置了ge.externalWeightDir,则权重文件会落盘到指定目录。 |
| 208 | - 若环境中未配置环境变量ASCEND\_WORK\_PATH,则权重文件落盘至当前执行目录`tmp_weight_<pid>_<sessionid>`下。 | 208 | - 若环境中未配置环境变量ASCEND\_WORK\_PATH,则权重文件落盘至当前执行目录`tmp_weight_<pid>_<sessionid>`下。 |
| 209 | -- 若环境中配置环境变量ASCEND\_WORK\_PATH,则权重文件会落盘至`${ASCEND_WORK_PATH}/tmp_weight_<pid>_<sessionid>`目录下,关于ASCEND\_WORK\_PATH的详细说明,可参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 209 | +- 若环境中配置环境变量ASCEND\_WORK\_PATH,则权重文件会落盘至`${ASCEND_WORK_PATH}/tmp_weight_<pid>_<sessionid>`目录下,关于ASCEND\_WORK\_PATH的详细说明,可参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| 210 | 210 | ||
| 211 | 落盘路径优先级:ge.externalWeightDir \> `${ASCEND_WORK_PATH}/tmp_weight_<pid>_<sessionid>` \>当前执行目录`tmp_weight_<pid>_<sessionid>`。 | 211 | 落盘路径优先级:ge.externalWeightDir \> `${ASCEND_WORK_PATH}/tmp_weight_<pid>_<sessionid>` \>当前执行目录`tmp_weight_<pid>_<sessionid>`。 |
| 212 | 212 | ||
| @@ -184,7 +184,7 @@ | |||
| 184 | 184 | ||
| 185 | 如果profiling trace中显示模型计算存在明显的H2D等待,说明被等待的拷贝组过长,此时可手动调整分组边界,减少本组的拷贝数量。 | 185 | 如果profiling trace中显示模型计算存在明显的H2D等待,说明被等待的拷贝组过长,此时可手动调整分组边界,减少本组的拷贝数量。 |
| 186 | 186 | ||
| 187 | -> 注:GE INFO日志通过环境变量`ASCEND_GLOBAL_LOG_LEVEL`设置,取值为`1`表示INFO级别(0=DEBUG,1=INFO,2=WARN,3=ERROR),详细说明请参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 187 | +> 注:GE INFO日志通过环境变量`ASCEND_GLOBAL_LOG_LEVEL`设置,取值为`1`表示INFO级别(0=DEBUG,1=INFO,2=WARN,3=ERROR),详细说明请参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| 188 | 188 | ||
| 189 | **配置示例:** | 189 | **配置示例:** |
| 190 | 190 | ||
| @@ -316,7 +316,7 @@ | |||
| 316 | - 如果参数指定的路径存在且有效,则在指定的路径下自动创建子目录kernel\_cache;如果指定的路径不存在但路径有效,则先自动创建目录,然后在该路径下自动创建子目录kernel\_cache。 | 316 | - 如果参数指定的路径存在且有效,则在指定的路径下自动创建子目录kernel\_cache;如果指定的路径不存在但路径有效,则先自动创建目录,然后在该路径下自动创建子目录kernel\_cache。 |
| 317 | - 用户请不要在**默认缓存目录**下存放其他自有内容,自有内容在软件包安装或升级时会同默认缓存目录一并被删除。 | 317 | - 用户请不要在**默认缓存目录**下存放其他自有内容,自有内容在软件包安装或升级时会同默认缓存目录一并被删除。 |
| 318 | - 通过该参数指定的**非默认缓存目录**无法删除(软件包安装或升级时不会被删除)。 | 318 | - 通过该参数指定的**非默认缓存目录**无法删除(软件包安装或升级时不会被删除)。 |
| 319 | -- 算子编译磁盘缓存路径,除ge.op\_compiler\_cache\_dir参数设置的方式外,还可以配置环境变量ASCEND\_CACHE\_PATH,几种方式优先级为:配置参数“ge.op\_compiler\_cache\_dir”\>环境变量ASCEND\_CACHE\_PATH\>默认存储路径。关于环境变量ASCEND\_CACHE\_PATH的详细说明请参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 319 | +- 算子编译磁盘缓存路径,除ge.op\_compiler\_cache\_dir参数设置的方式外,还可以配置环境变量ASCEND\_CACHE\_PATH,几种方式优先级为:配置参数“ge.op\_compiler\_cache\_dir”\>环境变量ASCEND\_CACHE\_PATH\>默认存储路径。关于环境变量ASCEND\_CACHE\_PATH的详细说明请参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| 320 | 320 | ||
| 321 | **必选/可选**:可选 | 321 | **必选/可选**:可选 |
| 322 | 322 | ||
| @@ -45,11 +45,11 @@ REG_OP(xxx) | |||
| 45 | | 接口名称 | 接口说明 | 衍生接口(可用于IR模型构建) | | 45 | | 接口名称 | 接口说明 | 衍生接口(可用于IR模型构建) | |
| 46 | | --- | --- | --- | | 46 | | --- | --- | --- | |
| 47 | | REG_OP(xxx) | 定义一个算子原型,算子类型为xxx。 | [REG_OP](./prototype_definition_derived_interface.md#reg_op) | | 47 | | REG_OP(xxx) | 定义一个算子原型,算子类型为xxx。 | [REG_OP](./prototype_definition_derived_interface.md#reg_op) | |
| 48 | -| .INPUT(x, type) | 定义输入名称(x)和类型(type)。<br>类型为TensorType类型,例如:<br> - TensorType{DT_FLOAT}<br> - TensorType({DT_FLOAT, DT_INT8})<br> - TensorType::ALL()<br><br><br>关于TensorType类,请参见[TensorType类说明](https://hiascend.com/document/redirect/CannCommunitybasicopapi)。 | [INPUT](./prototype_definition_derived_interface.md#input) | | 48 | +| .INPUT(x, type) | 定义输入名称(x)和类型(type)。<br>类型为TensorType类型,例如:<br> - TensorType{DT_FLOAT}<br> - TensorType({DT_FLOAT, DT_INT8})<br> - TensorType::ALL()<br><br><br>关于TensorType类,请参见[TensorType类说明](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)。 | [INPUT](./prototype_definition_derived_interface.md#input) | |
| 49 | -| .OPTIONAL_INPUT(x, type) | 定义可选输入的名称(x)和类型(type)。<br>类型为TensorType类型,例如:<br> - TensorType{DT_FLOAT}<br> - TensorType({DT_FLOAT, DT_INT8})<br> - TensorType::ALL()<br><br><br>关于TensorType类,请参见[TensorType类说明](https://hiascend.com/document/redirect/CannCommunitybasicopapi)。 | [OPTIONAL_INPUT](./prototype_definition_derived_interface.md#optional_input) | | 49 | +| .OPTIONAL_INPUT(x, type) | 定义可选输入的名称(x)和类型(type)。<br>类型为TensorType类型,例如:<br> - TensorType{DT_FLOAT}<br> - TensorType({DT_FLOAT, DT_INT8})<br> - TensorType::ALL()<br><br><br>关于TensorType类,请参见[TensorType类说明](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)。 | [OPTIONAL_INPUT](./prototype_definition_derived_interface.md#optional_input) | |
| 50 | -| .DYNAMIC_INPUT(x, type) | 定义动态输入的名称(x)和类型(type)。<br>类型为TensorType类型,例如:<br> - TensorType{DT_FLOAT}<br> - TensorType({DT_FLOAT, DT_INT8})<br> - TensorType::ALL()<br><br><br>关于TensorType类,请参见[TensorType类说明](https://hiascend.com/document/redirect/CannCommunitybasicopapi)。 | [DYNAMIC_INPUT](./prototype_definition_derived_interface.md#dynamic_input) | | 50 | +| .DYNAMIC_INPUT(x, type) | 定义动态输入的名称(x)和类型(type)。<br>类型为TensorType类型,例如:<br> - TensorType{DT_FLOAT}<br> - TensorType({DT_FLOAT, DT_INT8})<br> - TensorType::ALL()<br><br><br>关于TensorType类,请参见[TensorType类说明](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)。 | [DYNAMIC_INPUT](./prototype_definition_derived_interface.md#dynamic_input) | |
| 51 | -| .OUTPUT(x, type) | 定义输出的名称(x)和类型(type)。<br>类型为TensorType类型,例如:<br> - TensorType{DT_FLOAT}<br> - TensorType({DT_FLOAT, DT_INT8})<br> - TensorType::ALL()<br><br><br>关于TensorType类,请参见[TensorType类说明](https://hiascend.com/document/redirect/CannCommunitybasicopapi)。 | [OUTPUT](./prototype_definition_derived_interface.md#output) | | 51 | +| .OUTPUT(x, type) | 定义输出的名称(x)和类型(type)。<br>类型为TensorType类型,例如:<br> - TensorType{DT_FLOAT}<br> - TensorType({DT_FLOAT, DT_INT8})<br> - TensorType::ALL()<br><br><br>关于TensorType类,请参见[TensorType类说明](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)。 | [OUTPUT](./prototype_definition_derived_interface.md#output) | |
| 52 | -| .DYNAMIC_OUTPUT(x, type) | 定义动态输出的名称(x)和类型(type)。<br>类型为TensorType类型,例如:<br> - TensorType{DT_FLOAT}<br> - TensorType({DT_FLOAT, DT_INT8})<br> - TensorType::ALL()<br><br><br>关于TensorType类,请参见[TensorType类说明](https://hiascend.com/document/redirect/CannCommunitybasicopapi)。 | [DYNAMIC_OUTPUT](./prototype_definition_derived_interface.md#dynamic_output) | | 52 | +| .DYNAMIC_OUTPUT(x, type) | 定义动态输出的名称(x)和类型(type)。<br>类型为TensorType类型,例如:<br> - TensorType{DT_FLOAT}<br> - TensorType({DT_FLOAT, DT_INT8})<br> - TensorType::ALL()<br><br><br>关于TensorType类,请参见[TensorType类说明](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)。 | [DYNAMIC_OUTPUT](./prototype_definition_derived_interface.md#dynamic_output) | |
| 53 | | .REQUIRED_ATTR(x, type) | 定义必备属性的名称(x)和类型(type)。<br>type的可选值包括:<br> - Int,属性类型为int64_t<br> - Float,属性类型为float<br> - String,属性类型为string<br> - Bool,属性类型为bool<br> - Tensor,属性类型为Tensor<br> - Type,属性为Type枚举定义<br> - NamedAttrs,属性类型为NamedAttrs<br> - AscendString,属性类型为AscendString<br> - ListInt,属性类型为vector<int64_t>,int64_t列表<br> - ListFloat,属性类型为vector\<float>,float列表<br> - ListString,属性类型为vector\<string>,string列表<br> - ListBool,属性类型为vector\<bool>,bool列表<br> - ListTensor,属性类型为vector\<Tensor>,Tensor列表<br> - Bytes,属性类型为Buffer<br> - ListType,属性类型为vector\<Type>,Type列表<br> - ListListInt,属性类型为vector<vector<int64_t>>,2维列表<br> - ListAscendString,属性类型为vector\<AscendString>,AscendString列表<br> - ListNamedAttrs,属性类型为vector\<NamedAttrs>,NamedAttrs列表 | [REQUIRED_ATTR](./prototype_definition_derived_interface.md#required_attr) | | 53 | | .REQUIRED_ATTR(x, type) | 定义必备属性的名称(x)和类型(type)。<br>type的可选值包括:<br> - Int,属性类型为int64_t<br> - Float,属性类型为float<br> - String,属性类型为string<br> - Bool,属性类型为bool<br> - Tensor,属性类型为Tensor<br> - Type,属性为Type枚举定义<br> - NamedAttrs,属性类型为NamedAttrs<br> - AscendString,属性类型为AscendString<br> - ListInt,属性类型为vector<int64_t>,int64_t列表<br> - ListFloat,属性类型为vector\<float>,float列表<br> - ListString,属性类型为vector\<string>,string列表<br> - ListBool,属性类型为vector\<bool>,bool列表<br> - ListTensor,属性类型为vector\<Tensor>,Tensor列表<br> - Bytes,属性类型为Buffer<br> - ListType,属性类型为vector\<Type>,Type列表<br> - ListListInt,属性类型为vector<vector<int64_t>>,2维列表<br> - ListAscendString,属性类型为vector\<AscendString>,AscendString列表<br> - ListNamedAttrs,属性类型为vector\<NamedAttrs>,NamedAttrs列表 | [REQUIRED_ATTR](./prototype_definition_derived_interface.md#required_attr) | |
| 54 | | .ATTR(x, type, default_value) | 定义可选属性的名称、类型以及默认值。<br>当用户不设置算子对象的属性时,会使用此处设置的默认值。<br>type的可选值包括:<br> - Int,属性类型为int64_t<br> - Float,属性类型为float<br> - String,属性类型为string<br> - Bool,属性类型为bool<br> - Tensor,属性类型为Tensor<br> - Type,属性为Type枚举定义<br> - NamedAttrs,属性类型为NamedAttrs<br> - AscendString,属性类型为AscendString<br> - ListInt,属性类型为vector<int64_t>,int64_t列表<br> - ListFloat,属性类型为vector\<float>,float列表<br> - ListString,属性类型为vector\<string>,string列表<br> - ListBool,属性类型为vector\<bool>,bool列表<br> - ListTensor,属性类型为vector\<Tensor>,Tensor列表<br> - Bytes,属性类型为Buffer<br> - ListType,属性类型为vector\<Type>,Type列表<br> - ListListInt,属性类型为vector<vector<int64_t>>,2维列表<br> - ListAscendString,属性类型为vector\<AscendString>,AscendString列表<br> - ListNamedAttrs,属性类型为vector\<NamedAttrs>,NamedAttrs列表<br><br><br>定义示例:<br><br> - .ATTR(mode, Int, 1)<br> - .ATTR(pad, ListInt, {0, 0, 0, 0}) | [ATTR](./prototype_definition_derived_interface.md#attr) | | 54 | | .ATTR(x, type, default_value) | 定义可选属性的名称、类型以及默认值。<br>当用户不设置算子对象的属性时,会使用此处设置的默认值。<br>type的可选值包括:<br> - Int,属性类型为int64_t<br> - Float,属性类型为float<br> - String,属性类型为string<br> - Bool,属性类型为bool<br> - Tensor,属性类型为Tensor<br> - Type,属性为Type枚举定义<br> - NamedAttrs,属性类型为NamedAttrs<br> - AscendString,属性类型为AscendString<br> - ListInt,属性类型为vector<int64_t>,int64_t列表<br> - ListFloat,属性类型为vector\<float>,float列表<br> - ListString,属性类型为vector\<string>,string列表<br> - ListBool,属性类型为vector\<bool>,bool列表<br> - ListTensor,属性类型为vector\<Tensor>,Tensor列表<br> - Bytes,属性类型为Buffer<br> - ListType,属性类型为vector\<Type>,Type列表<br> - ListListInt,属性类型为vector<vector<int64_t>>,2维列表<br> - ListAscendString,属性类型为vector\<AscendString>,AscendString列表<br> - ListNamedAttrs,属性类型为vector\<NamedAttrs>,NamedAttrs列表<br><br><br>定义示例:<br><br> - .ATTR(mode, Int, 1)<br> - .ATTR(pad, ListInt, {0, 0, 0, 0}) | [ATTR](./prototype_definition_derived_interface.md#attr) | |
| 55 | | .GRAPH(z1) | 注册算子中包含的子图信息,输入z1为子图名称。<br>例如If算子注册的子图为:<br>.GRAPH(then_branch) .GRAPH(else_branch)<br>对于同一个算子,注册的算子子图名称需要保持唯一。 | [GRAPH](./prototype_definition_derived_interface.md#graph) | | 55 | | .GRAPH(z1) | 注册算子中包含的子图信息,输入z1为子图名称。<br>例如If算子注册的子图为:<br>.GRAPH(then_branch) .GRAPH(else_branch)<br>对于同一个算子,注册的算子子图名称需要保持唯一。 | [GRAPH](./prototype_definition_derived_interface.md#graph) | |
| @@ -37,4 +37,4 @@ build_model(graph: Graph, build_options: Optional[dict] = None) -> ModelBuffer | |||
| 37 | - 如果希望将内存缓冲区中的模型保存为离线模型文件xx.om,则需要调用save\_model接口,序列化保存离线模型到文件中。后续进行推理业务,需要使用**从文件中**加载模型的接口,例如aclmdlLoadFromFile,然后使用aclmdlExecute接口执行推理。 | 37 | - 如果希望将内存缓冲区中的模型保存为离线模型文件xx.om,则需要调用save\_model接口,序列化保存离线模型到文件中。后续进行推理业务,需要使用**从文件中**加载模型的接口,例如aclmdlLoadFromFile,然后使用aclmdlExecute接口执行推理。 |
| 38 | - 如果离线模型保存在内存缓冲区: 后续进行推理业务时,需要使用**从内存中**加载模型的接口,例如aclmdlLoadFromMem,然后使用aclmdlExecute接口执行推理。 | 38 | - 如果离线模型保存在内存缓冲区: 后续进行推理业务时,需要使用**从内存中**加载模型的接口,例如aclmdlLoadFromMem,然后使用aclmdlExecute接口执行推理。 |
| 39 | 39 | ||
| 40 | -接口详细介绍请参见“[模型管理](https://hiascend.com/document/redirect/CannCommunityCppBaseinfer)”章节。 | 40 | +接口详细介绍请参见“[模型管理](https://gitcode.com/cann/docs/blob/master/docs/zh/app-dev/00_acl_cpp_dev.md)”章节。 |
| @@ -28,4 +28,4 @@ register_external_allocator(stream: int, allocator: Allocator) -> None | |||
| 28 | - 如果注册失败,抛出RuntimeError。 | 28 | - 如果注册失败,抛出RuntimeError。 |
| 29 | - 对于同一条流,多次调用本接口,以最后一次注册为准。 | 29 | - 对于同一条流,多次调用本接口,以最后一次注册为准。 |
| 30 | - 对于不同流,如果用户使用同一个Allocator,不可以多条流并发执行,在执行下一条Stream前,需要对上一Stream做流同步。 | 30 | - 对于不同流,如果用户使用同一个Allocator,不可以多条流并发执行,在执行下一条Stream前,需要对上一Stream做流同步。 |
| 31 | -- 将Allocator中的内存释放给操作系统前,需要先调用“[acl.rt.synchronize\_stream](https://hiascend.com/document/redirect/CannCommunitysynchronize)”接口执行流同步,确保Stream中的任务已执行完成。 | 31 | +- 将Allocator中的内存释放给操作系统前,需要先调用“[acl.rt.synchronize\_stream](https://gitcode.com/cann/runtime/blob/master/docs/zh/api_ref/README.md)”接口执行流同步,确保Stream中的任务已执行完成。 |
| @@ -28,4 +28,4 @@ run_graph_with_stream_async(graph_id: int, stream: int, inputs: List[Tensor]) -> | |||
| 28 | - 如果stream不是整数,抛出TypeError。 | 28 | - 如果stream不是整数,抛出TypeError。 |
| 29 | - 如果inputs中有元素不是Tensor类型,抛出TypeError。 | 29 | - 如果inputs中有元素不是Tensor类型,抛出TypeError。 |
| 30 | - 如果运行失败,抛出RuntimeError。 | 30 | - 如果运行失败,抛出RuntimeError。 |
| 31 | -- 调用该接口前,需要通过acl提供的**acl.rt.create\_stream\(\)**接口创建Stream,且只支持Stream为默认Context的场景;得到输出运行结果前,需要通过**acl.rt.synchronize\_stream**接口保证Stream上的任务已经执行完。接口详细说明请参见“[Stream管理](https://hiascend.com/document/redirect/CannCommunitycreatestream)”。 | 31 | +- 调用该接口前,需要通过acl提供的**acl.rt.create\_stream\(\)**接口创建Stream,且只支持Stream为默认Context的场景;得到输出运行结果前,需要通过**acl.rt.synchronize\_stream**接口保证Stream上的任务已经执行完。接口详细说明请参见“[Stream管理](https://gitcode.com/cann/runtime/blob/master/docs/zh/api_ref/README.md)”。 |
| @@ -45,4 +45,4 @@ atc --check_report=$HOME/module/out/check_result.json ... | |||
| 45 | 45 | ||
| 46 | 预检结果文件存储路径,除[--check\_report](--check_report.md)参数设置的方式外,还可以配置环境变量ASCEND\_WORK\_PATH,几种方式优先级为:配置参数“--check\_report”\>环境变量ASCEND\_WORK\_PATH\>默认存储路径(执行atc命令当前路径)。 | 46 | 预检结果文件存储路径,除[--check\_report](--check_report.md)参数设置的方式外,还可以配置环境变量ASCEND\_WORK\_PATH,几种方式优先级为:配置参数“--check\_report”\>环境变量ASCEND\_WORK\_PATH\>默认存储路径(执行atc命令当前路径)。 |
| 47 | 47 | ||
| 48 | -关于环境变量ASCEND\_WORK\_PATH的详细说明请参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 48 | +关于环境变量ASCEND\_WORK\_PATH的详细说明请参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| @@ -167,13 +167,13 @@ atc --compression_optimize_conf=$HOME/module/compression_optimize.cfg ... | |||
| 167 | 167 | ||
| 168 | ## 依赖约束 | 168 | ## 依赖约束 |
| 169 | 169 | ||
| 170 | -- 使用该参数的压缩特性时,需要单独安装AMCT(acl)软件包,该包的获取以及安装方法请参见《[AMCT模型压缩工具](https://hiascend.com/document/redirect/CannCommunityToolAmct)》中的“准备环境 \> 获取软件包、上传软件包、安装工具”章节。 | 170 | +- 使用该参数的压缩特性时,需要单独安装AMCT(acl)软件包,该包的获取以及安装方法请参见《[AMCT模型压缩工具](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/latest/devaids/amct/atlasamct_16_0001.html)》中的“准备环境 \> 获取软件包、上传软件包、安装工具”章节。 |
| 171 | - 使用该参数中的**enable\_first\_layer\_quantization**特性时,请确保使用的模型是由AMCT进行量化操作后输出的部署模型。 | 171 | - 使用该参数中的**enable\_first\_layer\_quantization**特性时,请确保使用的模型是由AMCT进行量化操作后输出的部署模型。 |
| 172 | <!-- npu="A3,910b,910,310p,310b" id13 --> | 172 | <!-- npu="A3,910b,910,310p,310b" id13 --> |
| 173 | -- 使用配置文件中的**calibration**训练后量化功能时,只支持**带NPU设备**的安装场景,详细介绍请参见《[软件安装](https://hiascend.com/document/redirect/CannCommunityInstSoftware)》手册搭建对应产品环境。 | 173 | +- 使用配置文件中的**calibration**训练后量化功能时,只支持**带NPU设备**的安装场景,详细介绍请参见《[软件安装](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/latest/softwareinst/instg/instg_0000.html?OS=openEuler&InstallType=netyum)》手册搭建对应产品环境。 |
| 174 | <!-- end id13 --> | 174 | <!-- end id13 --> |
| 175 | <!-- npu="310b" id12 --> | 175 | <!-- npu="310b" id12 --> |
| 176 | -- Atlas 200I/500 A2 推理产品Ascend RC场景,还需要在运行环境上安装NCS软件,并配置密钥证书,请参见《[AOE调优工具](https://hiascend.com/document/redirect/CannCommunityToolAoe)》>AOE工具(Ascend RC)>环境准备。 | 176 | +- Atlas 200I/500 A2 推理产品Ascend RC场景,还需要在运行环境上安装NCS软件,并配置密钥证书,请参见《[AOE调优工具](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/latest/devaids/aoe/auxiliarydevtool_aoe_0001.html)》>AOE工具(Ascend RC)>环境准备。 |
| 177 | <!-- end id12 --> | 177 | <!-- end id12 --> |
| 178 | 178 | ||
| 179 | <!-- @ref: ge/res/docs/zh/user_guides/atc_tools/CLI_options/--compression_optimize_conf_res.md#id4 --> | 179 | <!-- @ref: ge/res/docs/zh/user_guides/atc_tools/CLI_options/--compression_optimize_conf_res.md#id4 --> |
| @@ -44,4 +44,4 @@ atc --debug_dir=$HOME/module/out/debug_info --op_debug_level=1 ... | |||
| 44 | 44 | ||
| 45 | 算子编译生成的调试文件存储路径,除[--debug\_dir](--debug_dir.md)参数设置的方式外,还可以配置环境变量ASCEND\_WORK\_PATH,几种方式优先级为:配置参数“[--debug\_dir](--debug_dir.md)”\>环境变量ASCEND\_WORK\_PATH \>默认存储路径。 | 45 | 算子编译生成的调试文件存储路径,除[--debug\_dir](--debug_dir.md)参数设置的方式外,还可以配置环境变量ASCEND\_WORK\_PATH,几种方式优先级为:配置参数“[--debug\_dir](--debug_dir.md)”\>环境变量ASCEND\_WORK\_PATH \>默认存储路径。 |
| 46 | 46 | ||
| 47 | -关于环境变量ASCEND\_WORK\_PATH的详细说明请参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 47 | +关于环境变量ASCEND\_WORK\_PATH的详细说明请参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| @@ -31,7 +31,7 @@ atc --disable_reuse_memory=0 ... | |||
| 31 | 31 | ||
| 32 | ## 依赖约束 | 32 | ## 依赖约束 |
| 33 | 33 | ||
| 34 | -在内存复用场景下(默认开启内存复用),支持基于指定算子(节点名称/算子类型)单独分配内存。通过OP\_NO\_REUSE\_MEM环境变量指定要单独分配的一个或多个节点,支持混合配置。配置多个节点时,中间通过英文逗号\(“,”\)隔开。详细说明请参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 34 | +在内存复用场景下(默认开启内存复用),支持基于指定算子(节点名称/算子类型)单独分配内存。通过OP\_NO\_REUSE\_MEM环境变量指定要单独分配的一个或多个节点,支持混合配置。配置多个节点时,中间通过英文逗号\(“,”\)隔开。详细说明请参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| 35 | 35 | ||
| 36 | - 基于节点名称配置 | 36 | - 基于节点名称配置 |
| 37 | 37 | ||
| @@ -36,7 +36,7 @@ | |||
| 36 | - 1:(默认值)程序运行正常退出时,生成算子融合信息结果文件。 | 36 | - 1:(默认值)程序运行正常退出时,生成算子融合信息结果文件。 |
| 37 | - 2:图编译完成时,生成算子融合信息结果文件。即如果图编译已完成,后续程序提前中断,也会生成算子融合信息结果文件。 | 37 | - 2:图编译完成时,生成算子融合信息结果文件。即如果图编译已完成,后续程序提前中断,也会生成算子融合信息结果文件。 |
| 38 | 38 | ||
| 39 | -若未设置ASCEND\_WORK\_PATH环境变量,结果文件默认生成在执行atc命令的当前路径;若设置了ASCEND\_WORK\_PATH环境变量,则保存路径为:`$ASCEND_WORK_PATH/FE/${进程号}/fusion_result.json`。环境变量详细说明请参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 39 | +若未设置ASCEND\_WORK\_PATH环境变量,结果文件默认生成在执行atc命令的当前路径;若设置了ASCEND\_WORK\_PATH环境变量,则保存路径为:`$ASCEND_WORK_PATH/FE/${进程号}/fusion_result.json`。环境变量详细说明请参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| 40 | 40 | ||
| 41 | ## 示例 | 41 | ## 示例 |
| 42 | 42 | ||
| @@ -54,7 +54,7 @@ | |||
| 54 | 54 | ||
| 55 | 如果profiling trace中显示模型计算存在明显的H2D等待,说明被等待的拷贝组过长,此时可手动调整分组边界,减少本组的拷贝数量。 | 55 | 如果profiling trace中显示模型计算存在明显的H2D等待,说明被等待的拷贝组过长,此时可手动调整分组边界,减少本组的拷贝数量。 |
| 56 | 56 | ||
| 57 | -> 注:GE INFO日志通过环境变量`ASCEND_GLOBAL_LOG_LEVEL`设置,取值为`1`表示INFO级别(0=DEBUG,1=INFO,2=WARN,3=ERROR),详细说明请参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 57 | +> 注:GE INFO日志通过环境变量`ASCEND_GLOBAL_LOG_LEVEL`设置,取值为`1`表示INFO级别(0=DEBUG,1=INFO,2=WARN,3=ERROR),详细说明请参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| 58 | 58 | ||
| 59 | ## 示例 | 59 | ## 示例 |
| 60 | 60 | ||
| @@ -15,7 +15,7 @@ | |||
| 15 | - 该参数需要与[--precision\_mode](--precision_mode.md)或[--precision\_mode\_v2](--precision_mode_v2.md)参数配合使用,但当[--precision\_mode](--precision_mode.md)取值为must\_keep\_origin\_dtype或[--precision\_mode\_v2](--precision_mode_v2.md)取值为origin时,--keep\_dtype参数不生效。 | 15 | - 该参数需要与[--precision\_mode](--precision_mode.md)或[--precision\_mode\_v2](--precision_mode_v2.md)参数配合使用,但当[--precision\_mode](--precision_mode.md)取值为must\_keep\_origin\_dtype或[--precision\_mode\_v2](--precision_mode_v2.md)取值为origin时,--keep\_dtype参数不生效。 |
| 16 | - [--customize\_dtypes](--customize_dtypes.md)参数与[--keep\_dtype](--keep_dtype.md)参数都用于设置算子的计算精度,若涉及需提升模型推理精度的场景,建议先使用[--keep\_dtype](--keep_dtype.md)参数保持原图精度,若精度依然得不到提升,可以尝试使用[--customize\_dtypes](--customize_dtypes.md)参数自定义某个或某些算子的计算精度。 | 16 | - [--customize\_dtypes](--customize_dtypes.md)参数与[--keep\_dtype](--keep_dtype.md)参数都用于设置算子的计算精度,若涉及需提升模型推理精度的场景,建议先使用[--keep\_dtype](--keep_dtype.md)参数保持原图精度,若精度依然得不到提升,可以尝试使用[--customize\_dtypes](--customize_dtypes.md)参数自定义某个或某些算子的计算精度。 |
| 17 | 17 | ||
| 18 | - 但需注意,使用[--customize\_dtypes](--customize_dtypes.md)参数且通过配置算子名称的方式,可能会由于内部模型优化过程中的融合、拆分等操作导致算子名称发生变化,进而导致配置不生效,未达到提升精度的目的,可进一步获取日志定位问题,关于日志的详细说明请参见《[日志参考](https://hiascend.com/document/redirect/CannCommunitylogref)》。 | 18 | + 但需注意,使用[--customize\_dtypes](--customize_dtypes.md)参数且通过配置算子名称的方式,可能会由于内部模型优化过程中的融合、拆分等操作导致算子名称发生变化,进而导致配置不生效,未达到提升精度的目的,可进一步获取日志定位问题,关于日志的详细说明请参见《[日志参考](https://gitcode.com/cann/runtime/blob/master/docs/zh/log_ref/README.md)》。 |
| 19 | 19 | ||
| 20 | - 若同时使用了[--customize\_dtypes](--customize_dtypes.md)参数与[--keep\_dtype](--keep_dtype.md)参数,则以[--customize\_dtypes](--customize_dtypes.md)参数设置的精度为准。 | 20 | - 若同时使用了[--customize\_dtypes](--customize_dtypes.md)参数与[--keep\_dtype](--keep_dtype.md)参数,则以[--customize\_dtypes](--customize_dtypes.md)参数设置的精度为准。 |
| 21 | 21 | ||
| @@ -30,7 +30,7 @@ | |||
| 30 | 30 | ||
| 31 | 加载子图调优后自定义知识库的路径。 | 31 | 加载子图调优后自定义知识库的路径。 |
| 32 | 32 | ||
| 33 | -子图调优详情请参见《[AOE调优工具](https://hiascend.com/document/redirect/CannCommunityToolAoe)》。 | 33 | +子图调优详情请参见《[AOE调优工具](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/latest/devaids/aoe/auxiliarydevtool_aoe_0001.html)》。 |
| 34 | 34 | ||
| 35 | ## 关联参数 | 35 | ## 关联参数 |
| 36 | 36 | ||
| @@ -30,7 +30,7 @@ | |||
| 30 | 30 | ||
| 31 | 加载算子调优后自定义知识库的路径。 | 31 | 加载算子调优后自定义知识库的路径。 |
| 32 | 32 | ||
| 33 | -算子调优详情请参见《[AOE调优工具](https://hiascend.com/document/redirect/CannCommunityToolAoe)》。 | 33 | +算子调优详情请参见《[AOE调优工具](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/latest/devaids/aoe/auxiliarydevtool_aoe_0001.html)》。 |
| 34 | 34 | ||
| 35 | ## 参数取值 | 35 | ## 参数取值 |
| 36 | 36 | ||
| @@ -44,4 +44,4 @@ atc --op_compiler_cache_dir=$HOME/atc_data --op_compiler_cache_mode=enable ... | |||
| 44 | 44 | ||
| 45 | 配置参数“[--op\_compiler\_cache\_dir](--op_compiler_cache_dir.md)”\>环境变量ASCEND\_CACHE\_PATH\>默认存储路径。 | 45 | 配置参数“[--op\_compiler\_cache\_dir](--op_compiler_cache_dir.md)”\>环境变量ASCEND\_CACHE\_PATH\>默认存储路径。 |
| 46 | 46 | ||
| 47 | -关于环境变量ASCEND\_CACHE\_PATH的详细说明请参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 47 | +关于环境变量ASCEND\_CACHE\_PATH的详细说明请参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| @@ -77,6 +77,6 @@ atc --op_debug_level=1 ... | |||
| 77 | 77 | ||
| 78 | - 算子编译生成的调试文件存储路径,除[--debug\_dir](--debug_dir.md)参数设置的方式外,还可以配置环境变量ASCEND\_WORK\_PATH,几种方式优先级为:配置参数“[--debug\_dir](--debug_dir.md)”\>环境变量ASCEND\_WORK\_PATH \>默认存储路径。 | 78 | - 算子编译生成的调试文件存储路径,除[--debug\_dir](--debug_dir.md)参数设置的方式外,还可以配置环境变量ASCEND\_WORK\_PATH,几种方式优先级为:配置参数“[--debug\_dir](--debug_dir.md)”\>环境变量ASCEND\_WORK\_PATH \>默认存储路径。 |
| 79 | 79 | ||
| 80 | - 关于ASCEND\_WORK\_PATH的详细说明请参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 80 | + 关于ASCEND\_WORK\_PATH的详细说明请参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| 81 | 81 | ||
| 82 | - 该参数优先级高于算子编译接口(TBE DSL的build接口或者TBE TIK的BuildCCE接口)中的**tbe\_debug\_level**的值。 | 82 | - 该参数优先级高于算子编译接口(TBE DSL的build接口或者TBE TIK的BuildCCE接口)中的**tbe\_debug\_level**的值。 |
| @@ -109,7 +109,7 @@ | |||
| 109 | <!-- end id4 --> | 109 | <!-- end id4 --> |
| 110 | <!-- end id6 --> | 110 | <!-- end id6 --> |
| 111 | 111 | ||
| 112 | -- 该参数默认为性能优先,后续推理时可能会导致精度溢出问题。如果推理时出现精度问题,可以参见《[应用开发 \(C&C++\)](https://hiascend.com/document/redirect/CannCommunityCppBaseinfer)》中的“模型推理 \> 精度/性能优化 \> 模型推理精度提升建议”进行定位。 | 112 | +- 该参数默认为性能优先,后续推理时可能会导致精度溢出问题。如果推理时出现精度问题,可以参见《[应用开发](https://gitcode.com/cann/docs/blob/master/docs/zh/app-dev/00_acl_cpp_dev.md)》中的“模型推理 \> 精度/性能优化 \> 模型推理精度提升建议”进行定位。 |
| 113 | - 如果用户聚焦精度问题,可以修改为其他取值,比如**must\_keep\_origin\_dtype。** | 113 | - 如果用户聚焦精度问题,可以修改为其他取值,比如**must\_keep\_origin\_dtype。** |
| 114 | 114 | ||
| 115 | ## 推荐配置及收益 | 115 | ## 推荐配置及收益 |
| @@ -130,4 +130,4 @@ atc --precision_mode=force_fp16 ... | |||
| 130 | 130 | ||
| 131 | 混合精度场景下,如果版本升级后出现推理性能下降,建议使用AOE工具重新进行调优,调优完成后,通过[--op\_bank\_path](--op_bank_path.md)参数加载算子调优后自定义知识库的路径,然后重新进行模型转换。 | 131 | 混合精度场景下,如果版本升级后出现推理性能下降,建议使用AOE工具重新进行调优,调优完成后,通过[--op\_bank\_path](--op_bank_path.md)参数加载算子调优后自定义知识库的路径,然后重新进行模型转换。 |
| 132 | 132 | ||
| 133 | -算子调优详情请参见《[AOE调优工具](https://hiascend.com/document/redirect/CannCommunityToolAoe)》。 | 133 | +算子调优详情请参见《[AOE调优工具](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/latest/devaids/aoe/auxiliarydevtool_aoe_0001.html)》。 |
| @@ -112,7 +112,7 @@ | |||
| 112 | Ascend 950PR/Ascend 950DT | 112 | Ascend 950PR/Ascend 950DT |
| 113 | 113 | ||
| 114 | <!-- end id5 --> | 114 | <!-- end id5 --> |
| 115 | -- 该参数默认为性能优先,后续推理时可能会导致精度溢出问题。如果推理时出现精度问题,可以参见《[应用开发 \(C&C++\)](https://hiascend.com/document/redirect/CannCommunityCppBaseinfer)》中的“模型推理 \> 精度/性能优化 \> 模型推理精度提升建议”进行定位。 | 115 | +- 该参数默认为性能优先,后续推理时可能会导致精度溢出问题。如果推理时出现精度问题,可以参见《[应用开发](https://gitcode.com/cann/docs/blob/master/docs/zh/app-dev/00_acl_cpp_dev.md)》中的“模型推理 \> 精度/性能优化 \> 模型推理精度提升建议”进行定位。 |
| 116 | - 如果用户聚焦精度问题,可以修改为其他取值,比如**origin。** | 116 | - 如果用户聚焦精度问题,可以修改为其他取值,比如**origin。** |
| 117 | 117 | ||
| 118 | ## 推荐配置及收益 | 118 | ## 推荐配置及收益 |
| @@ -131,4 +131,4 @@ atc --precision_mode_v2=fp16 ... | |||
| 131 | 131 | ||
| 132 | 混合精度场景下,如果版本升级后出现推理性能下降,建议使用AOE工具重新进行调优,调优完成后,通过[--op\_bank\_path](--op_bank_path.md)参数加载算子调优后自定义知识库的路径,然后重新进行模型转换。 | 132 | 混合精度场景下,如果版本升级后出现推理性能下降,建议使用AOE工具重新进行调优,调优完成后,通过[--op\_bank\_path](--op_bank_path.md)参数加载算子调优后自定义知识库的路径,然后重新进行模型转换。 |
| 133 | 133 | ||
| 134 | -算子调优详情请参见《[AOE调优工具](https://hiascend.com/document/redirect/CannCommunityToolAoe)》。 | 134 | +算子调优详情请参见《[AOE调优工具](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/latest/devaids/aoe/auxiliarydevtool_aoe_0001.html)》。 |
| @@ -8,7 +8,7 @@ | |||
| 8 | 8 | ||
| 9 | 是否采集量化算子的dump数据。 | 9 | 是否采集量化算子的dump数据。 |
| 10 | 10 | ||
| 11 | -参考《[应用开发 \(C&C++\)](https://hiascend.com/document/redirect/CannCommunityCppBaseinfer)》中的“模型推理 \> 精度/性能优化 \> 模型推理精度提升建议”章节进行精度定位时,如果存在AMCT量化后的模型,该模型转成om离线模型时,图编译过程中可能优化量化算子的输入输出,从而影响量化算子dump数据的导出,例如:两个被量化的卷积计算,中间输出被优化为int8的量化后输出。 | 11 | +参考《[应用开发](https://gitcode.com/cann/docs/blob/master/docs/zh/app-dev/00_acl_cpp_dev.md)》中的“模型推理 \> 精度/性能优化 \> 模型推理精度提升建议”章节进行精度定位时,如果存在AMCT量化后的模型,该模型转成om离线模型时,图编译过程中可能优化量化算子的输入输出,从而影响量化算子dump数据的导出,例如:两个被量化的卷积计算,中间输出被优化为int8的量化后输出。 |
| 12 | 12 | ||
| 13 | 为此引入--quant\_dumpable参数,配置该参数后,量化算子的输入输出不做融合,并且会插入transdata算子,还原原始模型的格式,从而能采集到量化算子的dump数据。 | 13 | 为此引入--quant\_dumpable参数,配置该参数后,量化算子的输入输出不做融合,并且会插入transdata算子,还原原始模型的格式,从而能采集到量化算子的dump数据。 |
| 14 | 14 | ||
| @@ -61,4 +61,4 @@ atc --status_check=1 ... | |||
| 61 | 61 | ||
| 62 | ## 使用约束 | 62 | ## 使用约束 |
| 63 | 63 | ||
| 64 | -使用[--status\_check](--status_check.md)参数只是在模型编译后生成的算子\*.cce文件中加入了溢出检测逻辑,如果想查看具体哪些算子有溢出,则需要配合模型推理过程中提供的**aclInit**接口,在该接口入参的JSON配置文件中打开“dump\_debug”开关,接口详细说明请参见《[Runtime运行时 API](https://hiascend.com/document/redirect/CannCommunityruntimeapiaclinit)》中的“初始化和去初始化 \> aclInit”章节。 | 64 | +使用[--status\_check](--status_check.md)参数只是在模型编译后生成的算子\*.cce文件中加入了溢出检测逻辑,如果想查看具体哪些算子有溢出,则需要配合模型推理过程中提供的**aclInit**接口,在该接口入参的JSON配置文件中打开“dump\_debug”开关,接口详细说明请参见《[Runtime运行时 API](https://gitcode.com/cann/runtime/blob/master/docs/zh/api_ref/README.md)》中的“初始化和去初始化 \> aclInit”章节。 |
| @@ -31,4 +31,4 @@ atc --topo_sorting_mode=3 ... | |||
| 31 | 31 | ||
| 32 | ## 使用约束 | 32 | ## 使用约束 |
| 33 | 33 | ||
| 34 | -模型转换过程中如果加载了自定义知识库路径,上述图遍历模式的改变可能会影响调优结果,建议重新进行调优,详情请参见《[AOE调优工具](https://hiascend.com/document/redirect/CannCommunityToolAoe)》。 | 34 | +模型转换过程中如果加载了自定义知识库路径,上述图遍历模式的改变可能会影响调优结果,建议重新进行调优,详情请参见《[AOE调优工具](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/latest/devaids/aoe/auxiliarydevtool_aoe_0001.html)》。 |
| @@ -36,7 +36,7 @@ | |||
| 36 | 36 | ||
| 37 | 关于参数的详细解释请参见[参数说明](../CLI_options/README.md)。若提示如下信息,则说明转换成功。 | 37 | 关于参数的详细解释请参见[参数说明](../CLI_options/README.md)。若提示如下信息,则说明转换成功。 |
| 38 | <!-- npu="950,A3,910b,910,310p,310b" id2 --> | 38 | <!-- npu="950,A3,910b,910,310p,310b" id2 --> |
| 39 | -若模型转换失败,请参见《[故障处理](https://hiascend.com/document/redirect/CannCommunitytrouble)》\>“错误码参考”章节进行辅助定位。 | 39 | +若模型转换失败,请参见《[故障处理](https://gitcode.com/cann/docs/blob/master/docs/zh/troubleshooting/00_troubleshooting.md)》\>“错误码参考”章节进行辅助定位。 |
| 40 | 40 | ||
| 41 | <!-- end id2 --> | 41 | <!-- end id2 --> |
| 42 | ```console | 42 | ```console |
| @@ -128,7 +128,7 @@ ATC run success, welcome to the next use. | |||
| 128 | 128 | ||
| 129 | 关于参数的详细解释请参见[参数说明](../CLI_options/README.md)。若提示如下信息,则说明模型转换成功。 | 129 | 关于参数的详细解释请参见[参数说明](../CLI_options/README.md)。若提示如下信息,则说明模型转换成功。 |
| 130 | <!-- npu="950,A3,910b,910,310p,310b" id3 --> | 130 | <!-- npu="950,A3,910b,910,310p,310b" id3 --> |
| 131 | - 若模型转换失败,请参见《[故障处理](https://hiascend.com/document/redirect/CannCommunitytrouble)》\>“错误码参考”章节进行辅助定位。 | 131 | + 若模型转换失败,请参见《[故障处理](https://gitcode.com/cann/docs/blob/master/docs/zh/troubleshooting/00_troubleshooting.md)》\>“错误码参考”章节进行辅助定位。 |
| 132 | <!-- end id3 --> | 132 | <!-- end id3 --> |
| 133 | 133 | ||
| 134 | ```console | 134 | ```console |
| @@ -169,7 +169,7 @@ ATC run success, welcome to the next use. | |||
| 169 | 169 | ||
| 170 | 关于参数的详细解释请参见[参数说明](../CLI_options/README.md)。若提示如下信息,则说明模型转换成功。 | 170 | 关于参数的详细解释请参见[参数说明](../CLI_options/README.md)。若提示如下信息,则说明模型转换成功。 |
| 171 | <!-- npu="950,A3,910b,910,310p,310b" id4 --> | 171 | <!-- npu="950,A3,910b,910,310p,310b" id4 --> |
| 172 | - 若模型转换失败,请参见《[故障处理](https://hiascend.com/document/redirect/CannCommunitytrouble)》\>“错误码参考”章节进行辅助定位。 | 172 | + 若模型转换失败,请参见《[故障处理](https://gitcode.com/cann/docs/blob/master/docs/zh/troubleshooting/00_troubleshooting.md)》\>“错误码参考”章节进行辅助定位。 |
| 173 | <!-- end id4 --> | 173 | <!-- end id4 --> |
| 174 | 174 | ||
| 175 | ```console | 175 | ```console |
| @@ -212,7 +212,7 @@ ATC run success, welcome to the next use. | |||
| 212 | 212 | ||
| 213 | 关于参数的详细解释请参见[参数说明](../CLI_options/README.md)。若提示如下信息,则说明模型转换成功。 | 213 | 关于参数的详细解释请参见[参数说明](../CLI_options/README.md)。若提示如下信息,则说明模型转换成功。 |
| 214 | <!-- npu="950,A3,910b,910,310p,310b" id5 --> | 214 | <!-- npu="950,A3,910b,910,310p,310b" id5 --> |
| 215 | - 若模型转换失败,请参见《[故障处理](https://hiascend.com/document/redirect/CannCommunitytrouble)》\>“错误码参考”章节进行辅助定位。 | 215 | + 若模型转换失败,请参见《[故障处理](https://gitcode.com/cann/docs/blob/master/docs/zh/troubleshooting/00_troubleshooting.md)》\>“错误码参考”章节进行辅助定位。 |
| 216 | <!-- end id5 --> | 216 | <!-- end id5 --> |
| 217 | 217 | ||
| 218 | ```console | 218 | ```console |
| @@ -18,7 +18,7 @@ | |||
| 18 | - 开源框架网络模型场景: | 18 | - 开源框架网络模型场景: |
| 19 | 1. 开源框架网络模型经过Parser解析后,转换为中间态IR Graph。 | 19 | 1. 开源框架网络模型经过Parser解析后,转换为中间态IR Graph。 |
| 20 | 2. 中间态IR经过图准备、图拆分、图优化、图编译等一系列操作后,转成适配AI处理器的离线模型(此处图指网络模型拓扑图)。 | 20 | 2. 中间态IR经过图准备、图拆分、图优化、图编译等一系列操作后,转成适配AI处理器的离线模型(此处图指网络模型拓扑图)。 |
| 21 | - 3. 转换后的离线模型上传到板端环境,通过**模型加载接口加载模型文件,再调用模型执行接口**实现推理过程,详细流程请参见《[应用开发 \(C&C++\)](https://hiascend.com/document/redirect/CannCommunityCppBaseinfer)》中的“模型推理”章节。 | 21 | + 3. 转换后的离线模型上传到板端环境,通过**模型加载接口加载模型文件,再调用模型执行接口**实现推理过程,详细流程请参见《[应用开发](https://gitcode.com/cann/docs/blob/master/docs/zh/app-dev/00_acl_cpp_dev.md)》中的“模型推理”章节。 |
| 22 | 22 | ||
| 23 | - 单算子描述文件场景: | 23 | - 单算子描述文件场景: |
| 24 | 24 | ||
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | ## 获取ATC工具 | 3 | ## 获取ATC工具 |
| 4 | 4 | ||
| 5 | -进行模型转换前,请参见《[软件安装](https://hiascend.com/document/redirect/CannCommunityInstSoftware)》完成环境搭建,并确保已安装CANN Toolkit开发套件包和ops算子包(针对8.5.0及之后版本,必须安装与目标AI处理器相匹配的ops算子包,否则会导致编译失败)。以root用户的默认安装路径为例,ATC工具安装在“/usr/local/Ascend/cann/bin”目录中。 | 5 | +进行模型转换前,请参见《[软件安装](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/latest/softwareinst/instg/instg_0000.html?OS=openEuler&InstallType=netyum)》完成环境搭建,并确保已安装CANN Toolkit开发套件包和ops算子包(针对8.5.0及之后版本,必须安装与目标AI处理器相匹配的ops算子包,否则会导致编译失败)。以root用户的默认安装路径为例,ATC工具安装在“/usr/local/Ascend/cann/bin”目录中。 |
| 6 | 6 | ||
| 7 | 支持在同一开发环境中部署多个芯片的算子包,实现多芯片场景下的模型转换,可通过在不同路径下分别安装CANN Toolkit开发套件及对应芯片(如芯片A、芯片B)的算子包,例如: | 7 | 支持在同一开发环境中部署多个芯片的算子包,实现多芯片场景下的模型转换,可通过在不同路径下分别安装CANN Toolkit开发套件及对应芯片(如芯片A、芯片B)的算子包,例如: |
| 8 | 8 | ||
| @@ -148,4 +148,4 @@ | |||
| 148 | 148 | ||
| 149 | 上述每个文件对应模型编译过程中的一个步骤,每个文件中包括完成该步骤所涉及的所有算子,关于dump图的详细信息请参见[dump图详细信息](../references/dump_graph_details.md)。 | 149 | 上述每个文件对应模型编译过程中的一个步骤,每个文件中包括完成该步骤所涉及的所有算子,关于dump图的详细信息请参见[dump图详细信息](../references/dump_graph_details.md)。 |
| 150 | 150 | ||
| 151 | - 4. **更多可选环境变量请参见**《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 151 | + 4. **更多可选环境变量请参见**《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| @@ -13,7 +13,7 @@ | |||
| 13 | > - 若开发环境架构为Arm(aarch64),模型转换耗时较长,则可以参考[开发环境架构为Arm(aarch64)时模型转换耗时较长](../FAQ/arm_aarch64_conversion_slow.md)解决。 | 13 | > - 若开发环境架构为Arm(aarch64),模型转换耗时较长,则可以参考[开发环境架构为Arm(aarch64)时模型转换耗时较长](../FAQ/arm_aarch64_conversion_slow.md)解决。 |
| 14 | > <!-- end id1 --> | 14 | > <!-- end id1 --> |
| 15 | > - 如果模型转换时,用户使用了设置网络模型精度参数[--precision\_mode](../CLI_options/--precision_mode.md)或[--precision\_mode\_v2](../CLI_options/--precision_mode_v2.md): | 15 | > - 如果模型转换时,用户使用了设置网络模型精度参数[--precision\_mode](../CLI_options/--precision_mode.md)或[--precision\_mode\_v2](../CLI_options/--precision_mode_v2.md): |
| 16 | -> - 上述两个参数默认都为性能优先,后续推理时可能会导致精度溢出问题。如果推理时出现精度问题,可以参见《[应用开发 \(C&C++\)](https://hiascend.com/document/redirect/CannCommunityCppBaseinfer)》中的“模型推理 \> 精度/性能优化 \> 模型推理精度提升建议”进行定位。 | 16 | +> - 上述两个参数默认都为性能优先,后续推理时可能会导致精度溢出问题。如果推理时出现精度问题,可以参见《[应用开发](https://gitcode.com/cann/docs/blob/master/docs/zh/app-dev/00_acl_cpp_dev.md)》中的“模型推理 \> 精度/性能优化 \> 模型推理精度提升建议”进行定位。 |
| 17 | > - 如果用户聚焦精度问题,可以修改为其他取值,比如--precision\_mode设置为must\_keep\_origin\_dtype或--precision\_mode\_v2设置为origin。 | 17 | > - 如果用户聚焦精度问题,可以修改为其他取值,比如--precision\_mode设置为must\_keep\_origin\_dtype或--precision\_mode\_v2设置为origin。 |
| 18 | 18 | ||
| 19 | ## 开源框架的TensorFlow网络模型转换成离线模型 | 19 | ## 开源框架的TensorFlow网络模型转换成离线模型 |
| @@ -43,7 +43,7 @@ | |||
| 43 | 43 | ||
| 44 | 成功执行命令后,在--output参数指定的路径下,可查看离线模型(如:tf\_resnet50.om)。 | 44 | 成功执行命令后,在--output参数指定的路径下,可查看离线模型(如:tf\_resnet50.om)。 |
| 45 | <!-- npu="950,A3,910b,910,310p,310b" id2 --> | 45 | <!-- npu="950,A3,910b,910,310p,310b" id2 --> |
| 46 | - 若模型转换失败,请参见《[故障处理](https://hiascend.com/document/redirect/CannCommunitytrouble)》\>“错误码参考”章节进行辅助定位。 | 46 | + 若模型转换失败,请参见《[故障处理](https://gitcode.com/cann/docs/blob/master/docs/zh/troubleshooting/00_troubleshooting.md)》\>“错误码参考”章节进行辅助定位。 |
| 47 | <!-- end id2 --> | 47 | <!-- end id2 --> |
| 48 | 48 | ||
| 49 | ## ONNX网络模型转换成离线模型 | 49 | ## ONNX网络模型转换成离线模型 |
| @@ -73,7 +73,7 @@ | |||
| 73 | 73 | ||
| 74 | 成功执行命令后,在--output参数指定的路径下,可查看离线模型(如:onnx\_resnet50.om)。 | 74 | 成功执行命令后,在--output参数指定的路径下,可查看离线模型(如:onnx\_resnet50.om)。 |
| 75 | <!-- npu="950,A3,910b,910,310p,310b" id3 --> | 75 | <!-- npu="950,A3,910b,910,310p,310b" id3 --> |
| 76 | - 若模型转换失败,请参见《[故障处理](https://hiascend.com/document/redirect/CannCommunitytrouble)》\>“错误码参考”章节进行辅助定位。 | 76 | + 若模型转换失败,请参见《[故障处理](https://gitcode.com/cann/docs/blob/master/docs/zh/troubleshooting/00_troubleshooting.md)》\>“错误码参考”章节进行辅助定位。 |
| 77 | <!-- end id3 --> | 77 | <!-- end id3 --> |
| 78 | 78 | ||
| 79 | ## 开源框架的Caffe网络模型转换成离线模型 | 79 | ## 开源框架的Caffe网络模型转换成离线模型 |
| @@ -107,7 +107,7 @@ | |||
| 107 | 107 | ||
| 108 | 成功执行命令后,在--output参数指定的路径下,可查看离线模型(如:caffe\_resnet50.om)。 | 108 | 成功执行命令后,在--output参数指定的路径下,可查看离线模型(如:caffe\_resnet50.om)。 |
| 109 | <!-- npu="950,A3,910b,910,310p,310b" id4 --> | 109 | <!-- npu="950,A3,910b,910,310p,310b" id4 --> |
| 110 | - 若模型转换失败,请参见《[故障处理](https://hiascend.com/document/redirect/CannCommunitytrouble)》\>“错误码参考”章节进行辅助定位。 | 110 | + 若模型转换失败,请参见《[故障处理](https://gitcode.com/cann/docs/blob/master/docs/zh/troubleshooting/00_troubleshooting.md)》\>“错误码参考”章节进行辅助定位。 |
| 111 | <!-- end id4 --> | 111 | <!-- end id4 --> |
| 112 | 112 | ||
| 113 | ## \*.air格式的模型文件转换成离线模型 | 113 | ## \*.air格式的模型文件转换成离线模型 |
| @@ -137,5 +137,5 @@ | |||
| 137 | 137 | ||
| 138 | 成功执行命令后,在--output参数指定的路径下,可查看离线模型(如:_resnet50_\_air.om)。 | 138 | 成功执行命令后,在--output参数指定的路径下,可查看离线模型(如:_resnet50_\_air.om)。 |
| 139 | <!-- npu="950,A3,910b,910,310p,310b" id5 --> | 139 | <!-- npu="950,A3,910b,910,310p,310b" id5 --> |
| 140 | - 若模型转换失败,请参见《[故障处理](https://hiascend.com/document/redirect/CannCommunitytrouble)》\>“错误码参考”章节进行辅助定位。 | 140 | + 若模型转换失败,请参见《[故障处理](https://gitcode.com/cann/docs/blob/master/docs/zh/troubleshooting/00_troubleshooting.md)》\>“错误码参考”章节进行辅助定位。 |
| 141 | <!-- end id5 --> | 141 | <!-- end id5 --> |
| @@ -19,7 +19,7 @@ | |||
| 19 | 4. 若提示如下信息,则说明模型转换成功。 | 19 | 4. 若提示如下信息,则说明模型转换成功。 |
| 20 | 20 | ||
| 21 | <!-- npu="950,A3,910b,910,310p,310b" id1 --> | 21 | <!-- npu="950,A3,910b,910,310p,310b" id1 --> |
| 22 | - 若模型转换失败,请参见《[故障处理](https://hiascend.com/document/redirect/CannCommunitytrouble)》\> “错误码参考”章节进行辅助定位。 | 22 | + 若模型转换失败,请参见《[故障处理](https://gitcode.com/cann/docs/blob/master/docs/zh/troubleshooting/00_troubleshooting.md)》\> “错误码参考”章节进行辅助定位。 |
| 23 | <!-- end id1 --> | 23 | <!-- end id1 --> |
| 24 | 24 | ||
| 25 | ```textconsole | 25 | ```textconsole |
| @@ -4,7 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | 支持的产品型号:Atlas A2 训练系列产品/Atlas A2 推理系列产品和Atlas A3 训练系列产品/Atlas A3 推理系列产品。 | 5 | 支持的产品型号:Atlas A2 训练系列产品/Atlas A2 推理系列产品和Atlas A3 训练系列产品/Atlas A3 推理系列产品。 |
| 6 | 6 | ||
| 7 | -已经安装CANN软件,详细操作请参见《[软件安装](https://hiascend.com/document/redirect/CannCommunityInstSoftware)》。 | 7 | +已经安装CANN软件,详细操作请参见《[软件安装](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/latest/softwareinst/instg/instg_0000.html?OS=openEuler&InstallType=netyum)》。 |
| 8 | 8 | ||
| 9 | > [!NOTE]说明 | 9 | > [!NOTE]说明 |
| 10 | >AI Server场景下,安装节点应采用容器/虚拟机隔离,容器/虚拟机的生命周期与业务进程/租户保持一致。容器/虚拟机生命周期结束时要清理持久化数据,避免对下一个业务进程/租户的影响。 | 10 | >AI Server场景下,安装节点应采用容器/虚拟机隔离,容器/虚拟机的生命周期与业务进程/租户保持一致。容器/虚拟机生命周期结束时要清理持久化数据,避免对下一个业务进程/租户的影响。 |
| @@ -27,7 +27,7 @@ | |||
| 27 | export ASCEND_SLOG_PRINT_TO_STDOUT=1 #是否开启日志打印。1表示开启日志打印。 | 27 | export ASCEND_SLOG_PRINT_TO_STDOUT=1 #是否开启日志打印。1表示开启日志打印。 |
| 28 | ``` | 28 | ``` |
| 29 | 29 | ||
| 30 | - 具体说明请参考《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 30 | + 具体说明请参考《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| 31 | 31 | ||
| 32 | 上述环境变量只在当前窗口生效,用户可以将上述命令写入\~/.bashrc文件,使其永久生效,方法如下: | 32 | 上述环境变量只在当前窗口生效,用户可以将上述命令写入\~/.bashrc文件,使其永久生效,方法如下: |
| 33 | 33 | ||
| @@ -41,4 +41,4 @@ | |||
| 41 | 41 | ||
| 42 | 1. 网络包含几个输入,通过FlowData表示。 | 42 | 1. 网络包含几个输入,通过FlowData表示。 |
| 43 | 2. 网络包含几个计算节点,通过FlowNode表示。 | 43 | 2. 网络包含几个计算节点,通过FlowNode表示。 |
| 44 | -3. FlowNode里的实际计算由ProcessPoint表示,ProcessPoint有两种,GraphPp和FunctionPp,如果是GraphPp请参考《[图开发](https://hiascend.com/document/redirect/CannCommunityGraphguide)》进行AscendGraph开发。如果是FunctionPp参考[专题](special_topics.md)中的“UDF开发”自定义用户功能。 | 44 | +3. FlowNode里的实际计算由ProcessPoint表示,ProcessPoint有两种,GraphPp和FunctionPp,如果是GraphPp请参考《[图开发](../../../graph_dev/README.md)》进行AscendGraph开发。如果是FunctionPp参考[专题](special_topics.md)中的“UDF开发”自定义用户功能。 |
| @@ -26,7 +26,7 @@ | |||
| 26 | 26 | ||
| 27 | #### 环境准备 | 27 | #### 环境准备 |
| 28 | 28 | ||
| 29 | -- 进行UDF开发前,需要完成驱动固件及开发套件包Ascend-cann-toolkit的安装,详细操作请参见《[软件安装](https://hiascend.com/document/redirect/CannCommunityInstSoftware)》。 | 29 | +- 进行UDF开发前,需要完成驱动固件及开发套件包Ascend-cann-toolkit的安装,详细操作请参见《[软件安装](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/latest/softwareinst/instg/instg_0000.html?OS=openEuler&InstallType=netyum)》。 |
| 30 | - 配置环境变量CANN软件包安装路径ASCEND\_INSTALL\_PATH,UDF编译时根据该环境变量寻找依赖的头文件和so,如果不设置,默认该环境变量取值为“/usr/local/Ascend”。配置示例如下。 | 30 | - 配置环境变量CANN软件包安装路径ASCEND\_INSTALL\_PATH,UDF编译时根据该环境变量寻找依赖的头文件和so,如果不设置,默认该环境变量取值为“/usr/local/Ascend”。配置示例如下。 |
| 31 | 31 | ||
| 32 | ```shell | 32 | ```shell |
| @@ -10,7 +10,7 @@ | |||
| 10 | 10 | ||
| 11 | - 当前仅支持Python3.11。安装方法请参考Python官网[https://www.python.org/](https://www.python.org/)。 | 11 | - 当前仅支持Python3.11。安装方法请参考Python官网[https://www.python.org/](https://www.python.org/)。 |
| 12 | 12 | ||
| 13 | -- 已经安装好开发套件包Ascend-cann-toolkit,详细操作请参见《[软件安装](https://hiascend.com/document/redirect/CannCommunityInstSoftware)》。 | 13 | +- 已经安装好开发套件包Ascend-cann-toolkit,详细操作请参见《[软件安装](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/latest/softwareinst/instg/instg_0000.html?OS=openEuler&InstallType=netyum)》。 |
| 14 | 14 | ||
| 15 | > [!NOTE]说明 | 15 | > [!NOTE]说明 |
| 16 | >AI Server场景下,安装节点应采用容器/虚拟机隔离,容器/虚拟机的生命周期与业务进程/租户保持一致。容器/虚拟机生命周期结束时要清理持久化数据,避免对下一个业务进程/租户的影响。 | 16 | >AI Server场景下,安装节点应采用容器/虚拟机隔离,容器/虚拟机的生命周期与业务进程/租户保持一致。容器/虚拟机生命周期结束时要清理持久化数据,避免对下一个业务进程/租户的影响。 |
| @@ -17,7 +17,7 @@ | |||
| 17 | 17 | ||
| 18 | ### 环境准备 | 18 | ### 环境准备 |
| 19 | 19 | ||
| 20 | -- 进行UDF开发前,需要完成驱动固件及开发套件包Ascend-cann-toolkit的安装,详细操作请参见《[软件安装](https://hiascend.com/document/redirect/CannCommunityInstSoftware)》。 | 20 | +- 进行UDF开发前,需要完成驱动固件及开发套件包Ascend-cann-toolkit的安装,详细操作请参见《[软件安装](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/latest/softwareinst/instg/instg_0000.html?OS=openEuler&InstallType=netyum)》。 |
| 21 | - 进行Python UDF开发前需要安装Python依赖包:pybind11及jinja2。pybind11用于C++和Python之间对象的转换。jinja2用于快速生成工程模板。 | 21 | - 进行Python UDF开发前需要安装Python依赖包:pybind11及jinja2。pybind11用于C++和Python之间对象的转换。jinja2用于快速生成工程模板。 |
| 22 | - 配置环境变量CANN软件包安装路径ASCEND\_INSTALL\_PATH,UDF编译时根据该环境变量寻找依赖的头文件和so,如果不设置,默认该环境变量取值为“/usr/local/Ascend”。配置示例如下。 | 22 | - 配置环境变量CANN软件包安装路径ASCEND\_INSTALL\_PATH,UDF编译时根据该环境变量寻找依赖的头文件和so,如果不设置,默认该环境变量取值为“/usr/local/Ascend”。配置示例如下。 |
| 23 | 23 | ||
| @@ -1,6 +1,6 @@ | |||
| 1 | # 融合规则列表 | 1 | # 融合规则列表 |
| 2 | 2 | ||
| 3 | -如下融合规则关闭后可能会有功能使用上的风险;更多融合规则请参见《[图融合和UB融合规则参考](https://hiascend.com/document/redirect/CannCommunitygraphubfusionref)》。 | 3 | +如下融合规则关闭后可能会有功能使用上的风险;更多融合规则请参见《[图融合和UB融合规则参考](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/latest/maintenref/graphubfusionref/atlasrr_30_0003.html)》。 |
| 4 | 4 | ||
| 5 | <!-- npu="950" id1 --> | 5 | <!-- npu="950" id1 --> |
| 6 | Ascend 950PR/Ascend 950DT不支持UB融合。 | 6 | Ascend 950PR/Ascend 950DT不支持UB融合。 |
| @@ -8,7 +8,7 @@ gen\_esb是ES API的代码生成二进制工具,根据ASCEND\_OPP\_PATH环境 | |||
| 8 | - 聚合头文件,方便用户一次性包含所有算子。 | 8 | - 聚合头文件,方便用户一次性包含所有算子。 |
| 9 | - 聚合Python文件,方便用户一次性导入所有算子。 | 9 | - 聚合Python文件,方便用户一次性导入所有算子。 |
| 10 | 10 | ||
| 11 | -ASCEND\_OPP\_PATH环境变量详细说明请参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 11 | +ASCEND\_OPP\_PATH环境变量详细说明请参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| 12 | 12 | ||
| 13 | ## 使用前提 | 13 | ## 使用前提 |
| 14 | 14 | ||
| @@ -232,7 +232,7 @@ | |||
| 232 | } | 232 | } |
| 233 | ``` | 233 | ``` |
| 234 | 234 | ||
| 235 | -aclrtMallocHost、aclrtMalloc、aclrtFreeHost、aclrtFree等接口详细说明请参见《[Runtime运行时 API](https://hiascend.com/document/redirect/CannCommunityruntimeapiaclmalloc)》中的“内存管理”。 | 235 | +aclrtMallocHost、aclrtMalloc、aclrtFreeHost、aclrtFree等接口详细说明请参见《[Runtime运行时 API](https://gitcode.com/cann/runtime/blob/master/docs/zh/api_ref/README.md)》中的“内存管理”。 |
| 236 | 236 | ||
| 237 | ## 编译和运行接口变化 | 237 | ## 编译和运行接口变化 |
| 238 | 238 | ||
| @@ -4,7 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | ### 前提条件 | 5 | ### 前提条件 |
| 6 | 6 | ||
| 7 | -- 安装软件包:准备带有AI处理器的硬件环境,并安装驱动固件和CANN软件包,具体安装步骤请参见《[软件安装](https://hiascend.com/document/redirect/CannCommunityInstSoftware)》。 | 7 | +- 安装软件包:准备带有AI处理器的硬件环境,并安装驱动固件和CANN软件包,具体安装步骤请参见《[软件安装](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/latest/softwareinst/instg/instg_0000.html?OS=openEuler&InstallType=netyum)》。 |
| 8 | - GCC版本:要求9.5.0及以上,建议使用9.5.0版本。 | 8 | - GCC版本:要求9.5.0及以上,建议使用9.5.0版本。 |
| 9 | - CMake:要求3.20.0版本及以上,建议使用3.20.0版本。 | 9 | - CMake:要求3.20.0版本及以上,建议使用3.20.0版本。 |
| 10 | - 安装mspti,mspti有两种获取方式(开启PGO特性时需要安装该依赖): | 10 | - 安装mspti,mspti有两种获取方式(开启PGO特性时需要安装该依赖): |
| @@ -87,7 +87,7 @@ | |||
| 87 | > | 87 | > |
| 88 | >关于ATC工具详细使用方法请参见《[ATC离线模型编译工具](../../atc_tools/README.md)》。 | 88 | >关于ATC工具详细使用方法请参见《[ATC离线模型编译工具](../../atc_tools/README.md)》。 |
| 89 | > | 89 | > |
| 90 | ->关于acl接口推理详细说明请参见《[应用开发 \(C&C++\)](https://hiascend.com/document/redirect/CannCommunityCppBaseinfer)》中的“模型推理”。 | 90 | +>关于acl接口推理详细说明请参见《[应用开发](https://gitcode.com/cann/docs/blob/master/docs/zh/app-dev/00_acl_cpp_dev.md)》中的“模型推理”。 |
| 91 | 91 | ||
| 92 | ## AUTOFUSE\_FLAGS环境变量控制点 | 92 | ## AUTOFUSE\_FLAGS环境变量控制点 |
| 93 | 93 | ||
| @@ -1,6 +1,6 @@ | |||
| 1 | # 样例代码解析 | 1 | # 样例代码解析 |
| 2 | 2 | ||
| 3 | -本实践采用模块化设计,基于C++语言结合GE图引擎 API与acl(Ascend Computing Language)API实现,完整代码请单击[推荐网络高性能示例](https://gitcode.com/cann/ge/tree/master/examples/recommendation)获取,核心组件构成如下: | 3 | +本实践采用模块化设计,基于C++语言结合GE图引擎 API与acl(Ascend Computing Language)API实现,完整代码请单击[推荐网络高性能示例](../../../../../examples/recommendation)获取,核心组件构成如下: |
| 4 | 4 | ||
| 5 | 1. **ModelInference::Builder**:构建器,配置模型参数;封装ModelInference对象的构建过程,提供链式配置接口。 | 5 | 1. **ModelInference::Builder**:构建器,配置模型参数;封装ModelInference对象的构建过程,提供链式配置接口。 |
| 6 | 2. **ModelInference**:核心类,提供模型初始化、资源管理、任务调度等核心能力。 | 6 | 2. **ModelInference**:核心类,提供模型初始化、资源管理、任务调度等核心能力。 |
| @@ -18,7 +18,7 @@ | |||
| 18 | 18 | ||
| 19 |  | 19 |  |
| 20 | 20 | ||
| 21 | -1. 调用《[Runtime运行时 API](https://hiascend.com/document/redirect/CannCommunityruntimeapiaclinit)》中的“初始化和去初始化 \> aclInit”接口,初始化acl,调用《Runtime运行时 API》中的“Device管理 \> aclrtSetDevice”指定运行的Device。 | 21 | +1. 调用《[Runtime运行时 API](https://gitcode.com/cann/runtime/blob/master/docs/zh/api_ref/README.md)》中的“初始化和去初始化 \> aclInit”接口,初始化acl,调用《Runtime运行时 API》中的“Device管理 \> aclrtSetDevice”指定运行的Device。 |
| 22 | 2. 构建ModelInference实例并初始化特性开关:开启批量H2D功能、配置AICore控核策略、使用多实例并行。 | 22 | 2. 构建ModelInference实例并初始化特性开关:开启批量H2D功能、配置AICore控核策略、使用多实例并行。 |
| 23 | 3. ModelInference初始化: | 23 | 3. ModelInference初始化: |
| 24 | 1. 调用[Session构造函数](../../../api/graph_engine_api/cpp/ge/Session/Session.md)创建Session类对象,申请Session资源,Session中的options中配置ge.aicoreNum参数。 | 24 | 1. 调用[Session构造函数](../../../api/graph_engine_api/cpp/ge/Session/Session.md)创建Session类对象,申请Session资源,Session中的options中配置ge.aicoreNum参数。 |
| @@ -98,4 +98,4 @@ | |||
| 98 | 98 | ||
| 99 | 后续进行推理业务时,需要使用**从内存中**加载模型的接口,例如aclmdlLoadFromMem,然后使用aclmdlExecute接口执行推理。 | 99 | 后续进行推理业务时,需要使用**从内存中**加载模型的接口,例如aclmdlLoadFromMem,然后使用aclmdlExecute接口执行推理。 |
| 100 | 100 | ||
| 101 | -接口详细介绍请参见《[应用开发 \(C&C++\)](https://hiascend.com/document/redirect/CannCommunityCppBaseinfer)》中的“模型推理”章节。 | 101 | +接口详细介绍请参见《[应用开发](https://gitcode.com/cann/docs/blob/master/docs/zh/app-dev/00_acl_cpp_dev.md)》中的“模型推理”章节。 |
| @@ -11,9 +11,9 @@ | |||
| 11 |  | 11 |  |
| 12 | 12 | ||
| 13 | 1. 调用[GEInitializeV2](../../../api/graph_engine_api/cpp/ge/GeSession/GEInitializeV2.md)进行系统初始化(也可在Graph构建前调用),申请系统资源。 | 13 | 1. 调用[GEInitializeV2](../../../api/graph_engine_api/cpp/ge/GeSession/GEInitializeV2.md)进行系统初始化(也可在Graph构建前调用),申请系统资源。 |
| 14 | -2. 调用《[Runtime运行时 API](https://hiascend.com/document/redirect/CannCommunityruntimeapiaclinit)》中的“初始化和去初始化 \> aclInit”接口,初始化acl。 | 14 | +2. 调用《[Runtime运行时 API](https://gitcode.com/cann/runtime/blob/master/docs/zh/api_ref/README.md)》中的“初始化和去初始化 \> aclInit”接口,初始化acl。 |
| 15 | 3. 调用[Session构造函数](../../../api/graph_engine_api/cpp/ge/GeSession/GESession.md)创建Session类对象,申请Session资源。 | 15 | 3. 调用[Session构造函数](../../../api/graph_engine_api/cpp/ge/GeSession/GESession.md)创建Session类对象,申请Session资源。 |
| 16 | -4. 调用《[Runtime运行时 API](https://hiascend.com/document/redirect/CannCommunityruntimeapiacldevice)》中的“Device管理 \> aclrtSetDevice”指定运行的Device,调用“aclrtCreateStream”创建Stream,然后调用《[Runtime运行时 API](https://hiascend.com/document/redirect/CannCommunityruntimeapiaclmalloc)》中的“内存管理 \> aclrtMallocHost/aclrtMalloc”分别申请Host和Device内存。 | 16 | +4. 调用《[Runtime运行时 API](https://gitcode.com/cann/runtime/blob/master/docs/zh/api_ref/README.md)》中的“Device管理 \> aclrtSetDevice”指定运行的Device,调用“aclrtCreateStream”创建Stream,然后调用《[Runtime运行时 API](https://gitcode.com/cann/runtime/blob/master/docs/zh/api_ref/README.md)》中的“内存管理 \> aclrtMallocHost/aclrtMalloc”分别申请Host和Device内存。 |
| 17 | 5. 调用[AddGraph](../../../api/graph_engine_api/cpp/ge/GeSession/AddGraph.md)在Session类对象中添加定义好的图。 | 17 | 5. 调用[AddGraph](../../../api/graph_engine_api/cpp/ge/GeSession/AddGraph.md)在Session类对象中添加定义好的图。 |
| 18 | 6. (可选)调用[CompileGraph](../../../api/graph_engine_api/cpp/ge/GeSession/CompileGraph.md)完成图编译。 | 18 | 6. (可选)调用[CompileGraph](../../../api/graph_engine_api/cpp/ge/GeSession/CompileGraph.md)完成图编译。 |
| 19 | 7. (可选)调用[LoadGraph](../../../api/graph_engine_api/cpp/ge/GeSession/LoadGraph.md)(异步执行Graph场景),加载图模型到上面步骤创建的Stream上。 | 19 | 7. (可选)调用[LoadGraph](../../../api/graph_engine_api/cpp/ge/GeSession/LoadGraph.md)(异步执行Graph场景),加载图模型到上面步骤创建的Stream上。 |
| @@ -210,10 +210,10 @@ | |||
| 210 |  | 210 |  |
| 211 | 211 | ||
| 212 | 1. 调用[GEInitializeV2](../../../api/graph_engine_api/cpp/ge/GeSession/GEInitializeV2.md)进行系统初始化(也可在Graph构建前调用),申请系统资源。 | 212 | 1. 调用[GEInitializeV2](../../../api/graph_engine_api/cpp/ge/GeSession/GEInitializeV2.md)进行系统初始化(也可在Graph构建前调用),申请系统资源。 |
| 213 | -2. 调用《[Runtime运行时 API](https://hiascend.com/document/redirect/CannCommunityruntimeapiaclinit)》中的“初始化和去初始化 \> aclInit”接口,初始化acl。 | 213 | +2. 调用《[Runtime运行时 API](https://gitcode.com/cann/runtime/blob/master/docs/zh/api_ref/README.md)》中的“初始化和去初始化 \> aclInit”接口,初始化acl。 |
| 214 | 3. 调用[Session构造函数](../../../api/graph_engine_api/cpp/ge/GeSession/GESession.md)创建多个Session类对象,申请Session资源,每个Session传入不同的ge.session\_device\_id,将模型运行在不同的Device。 | 214 | 3. 调用[Session构造函数](../../../api/graph_engine_api/cpp/ge/GeSession/GESession.md)创建多个Session类对象,申请Session资源,每个Session传入不同的ge.session\_device\_id,将模型运行在不同的Device。 |
| 215 | 4. 创建多个线程,每个线程传入不同的Session,下面以一个线程为例,描述简单的流程: | 215 | 4. 创建多个线程,每个线程传入不同的Session,下面以一个线程为例,描述简单的流程: |
| 216 | - 1. 调用《[Runtime运行时 API](https://hiascend.com/document/redirect/CannCommunityruntimeapiacldevice)》中的“Device管理 \> aclrtSetDevice”指定运行的Device,调用“aclrtCreateStream”创建Stream,然后调用《[Runtime运行时 API](https://hiascend.com/document/redirect/CannCommunityruntimeapiaclmalloc)》中的“内存管理 \> aclrtMalloc”申请Device内存。 | 216 | + 1. 调用《[Runtime运行时 API](https://gitcode.com/cann/runtime/blob/master/docs/zh/api_ref/README.md)》中的“Device管理 \> aclrtSetDevice”指定运行的Device,调用“aclrtCreateStream”创建Stream,然后调用《[Runtime运行时 API](https://gitcode.com/cann/runtime/blob/master/docs/zh/api_ref/README.md)》中的“内存管理 \> aclrtMalloc”申请Device内存。 |
| 217 | 2. 调用[AddGraph](../../../api/graph_engine_api/cpp/ge/GeSession/AddGraph.md)在Session类对象中添加定义好的图。 | 217 | 2. 调用[AddGraph](../../../api/graph_engine_api/cpp/ge/GeSession/AddGraph.md)在Session类对象中添加定义好的图。 |
| 218 | 3. 调用[CompileGraph](../../../api/graph_engine_api/cpp/ge/GeSession/CompileGraph.md)完成图编译。 | 218 | 3. 调用[CompileGraph](../../../api/graph_engine_api/cpp/ge/GeSession/CompileGraph.md)完成图编译。 |
| 219 | 4. 调用[LoadGraph](../../../api/graph_engine_api/cpp/ge/GeSession/LoadGraph.md)(异步执行Graph场景),将图模型加载到前面创建的Stream上。 | 219 | 4. 调用[LoadGraph](../../../api/graph_engine_api/cpp/ge/GeSession/LoadGraph.md)(异步执行Graph场景),将图模型加载到前面创建的Stream上。 |
| @@ -6,7 +6,7 @@ | |||
| 6 | 6 | ||
| 7 | |场景|功能说明| | 7 | |场景|功能说明| |
| 8 | |--|--| | 8 | |--|--| |
| 9 | -|[编译Graph为离线模型](#编译graph为离线模型)|**将Graph编译并保存为om离线模型**,编译生成的离线模型通过模型加载接口加载,然后通过模型执行接口进行推理。详细介绍请参考《[应用开发 (C&C++)](https://hiascend.com/document/redirect/CannCommunityCppBaseinfer)》中的“模型推理”章节。| | 9 | +|[编译Graph为离线模型](#编译graph为离线模型)|**将Graph编译并保存为om离线模型**,编译生成的离线模型通过模型加载接口加载,然后通过模型执行接口进行推理。详细介绍请参考《[应用开发](https://gitcode.com/cann/docs/blob/master/docs/zh/app-dev/00_acl_cpp_dev.md)》中的“模型推理”章节。| |
| 10 | |[编译并运行Graph](#编译并运行graph)|构建完Graph之后,**直接编译并运行Graph**,使用AddGraph接口加载Graph对象;运行Graph时,根据调用接口不同,分为如下两种情况:<br>- 同步运行Graph:加载完后,使用RunGraph同步运行Graph,**得到图的执行结果**。<br>- 异步运行Graph:加载完后,使用RunGraphWithStreamAsync异步运行Graph,**得到图的执行结果**。| | 10 | |[编译并运行Graph](#编译并运行graph)|构建完Graph之后,**直接编译并运行Graph**,使用AddGraph接口加载Graph对象;运行Graph时,根据调用接口不同,分为如下两种情况:<br>- 同步运行Graph:加载完后,使用RunGraph同步运行Graph,**得到图的执行结果**。<br>- 异步运行Graph:加载完后,使用RunGraphWithStreamAsync异步运行Graph,**得到图的执行结果**。| |
| 11 | 11 | ||
| 12 | 说明: | 12 | 说明: |
| @@ -365,7 +365,7 @@ REG_OP(Cast) | |||
| 365 | .OP_END_FACTORY_REG(Cast) | 365 | .OP_END_FACTORY_REG(Cast) |
| 366 | ``` | 366 | ``` |
| 367 | 367 | ||
| 368 | -从Cast算子原型定义可以看到,有一个必选属性dst\_type,表示转换后的数据类型,设置为0表示转换后的数据类型为float32,值和数据类型对应关系请参见《[基础数据结构和接口](https://hiascend.com/document/redirect/CannCommunitybasicopapi)》中的"ge命名空间\>DataType"。 | 368 | +从Cast算子原型定义可以看到,有一个必选属性dst\_type,表示转换后的数据类型,设置为0表示转换后的数据类型为float32,值和数据类型对应关系请参见《[基础数据结构和接口](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)》中的"ge命名空间\>DataType"。 |
| 369 | 369 | ||
| 370 | ```c++ | 370 | ```c++ |
| 371 | auto greater = op::Greater("greater").set_input_x1(const1).set_input_x2(const2); | 371 | auto greater = op::Greater("greater").set_input_x1(const1).set_input_x2(const2); |
| @@ -84,7 +84,7 @@ namespace ge{ | |||
| 84 | 84 | ||
| 85 | >[!NOTE]说明 | 85 | >[!NOTE]说明 |
| 86 | > | 86 | > |
| 87 | ->DT\_FLOAT,DT\_UINT8_等数据类型对应关系请参见《[基础数据结构和接口](https://hiascend.com/document/redirect/CannCommunitybasicopapi)》\>"ge命名空间\>DataType"。 | 87 | +>DT\_FLOAT,DT\_UINT8_等数据类型对应关系请参见《[基础数据结构和接口](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)》\>"ge命名空间\>DataType"。 |
| 88 | 88 | ||
| 89 | ## 如何获取算子原型 | 89 | ## 如何获取算子原型 |
| 90 | 90 | ||
| @@ -34,7 +34,7 @@ Parser层目前为用户开放了自定义OpParser和自定义TensorFlow Scope | |||
| 34 | 34 | ||
| 35 | - 自定义OpParser: | 35 | - 自定义OpParser: |
| 36 | 36 | ||
| 37 | - 如果用户需要将原始框架中算子直接映射到CANN中已实现的Ascend C算子或者已实现的TBE算子,可直接进行第三方框架的适配,需分别参见《[Ascend C算子开发](https://hiascend.com/document/redirect/CannCommunityOpdevAscendC)》中的“编程指南 \> 附录 \> AI框架算子适配”章节或者参见《[TBE&AI CPU算子开发](https://hiascend.com/document/redirect/CannCommunityOpdevWizard)》中的“算子开发过程 \> 算子适配”章节,选择其中一种已实现的算子即可。 | 37 | + 如果用户需要将原始框架中算子直接映射到CANN中已实现的Ascend C算子或者已实现的TBE算子,可直接进行第三方框架的适配,需分别参见《[Ascend C算子开发](https://gitcode.com/cann/asc-devkit/blob/master/docs/zh/guide/index.md)》中的“编程指南 \> 附录 \> AI框架算子适配”章节或者参见《[TBE&AI CPU算子开发](https://hiascend.com/document/redirect/CannCommunityOpdevWizard)》中的“算子开发过程 \> 算子适配”章节,选择其中一种已实现的算子即可。 |
| 38 | 38 | ||
| 39 | - 自定义TensorFlow Scope融合规则:基于TensorFlow构建的神经网络计算图通常由大量的小算子组成,为了实现高性能的计算,往往需要对子图中的小算子进行融合,使得融合后的大算子可以充分利用硬件加速资源。具体请参见《TensorFlow Parser Scope融合规则开发》。 | 39 | - 自定义TensorFlow Scope融合规则:基于TensorFlow构建的神经网络计算图通常由大量的小算子组成,为了实现高性能的计算,往往需要对子图中的小算子进行融合,使得融合后的大算子可以充分利用硬件加速资源。具体请参见《TensorFlow Parser Scope融合规则开发》。 |
| 40 | 40 | ||
| @@ -10,7 +10,7 @@ GE提供了两种常规的模型调度模式(下沉调度和Host调度)用 | |||
| 10 | 10 | ||
| 11 | Host调度模式通常适用于动态shape模型,由于输入tensor的shape不确定,必须在上一个算子完成shape推导后,才能确定下一个算子的输入shape等信息,因此整个模型无法下沉执行,通常需要将每个算子Kernel逐一下发到Device执行。 | 11 | Host调度模式通常适用于动态shape模型,由于输入tensor的shape不确定,必须在上一个算子完成shape推导后,才能确定下一个算子的输入shape等信息,因此整个模型无法下沉执行,通常需要将每个算子Kernel逐一下发到Device执行。 |
| 12 | 12 | ||
| 13 | -基于fallback形式下发算子属于Host调度模式的一种,用户可以在Host侧通过fallback函数执行算子,例如可直接调用aclnnXX单算子API执行算子。用户仅需在算子开发过程中调用Ascend C的[EnableFallBack](https://hiascend.com/document/redirect/CannCommunityAscendCApi)接口,即可自动生成fallback函数供GE自动回调,fallback函数的主要任务就是将GE的输入输出及属性转换为aclnnXX单算子API所需的参数格式,然后调用aclnnXX接口执行算子。 | 13 | +基于fallback形式下发算子属于Host调度模式的一种,用户可以在Host侧通过fallback函数执行算子,例如可直接调用aclnnXX单算子API执行算子。用户仅需在算子开发过程中调用Ascend C的[EnableFallBack](https://gitcode.com/cann/asc-devkit/blob/master/docs/zh/api/README.md)接口,即可自动生成fallback函数供GE自动回调,fallback函数的主要任务就是将GE的输入输出及属性转换为aclnnXX单算子API所需的参数格式,然后调用aclnnXX接口执行算子。 |
| 14 | 14 | ||
| 15 | **图 1** 常规Host调度模式和fallback下发的对比 | 15 | **图 1** 常规Host调度模式和fallback下发的对比 |
| 16 |  | 16 |  |
| @@ -36,7 +36,7 @@ fallback函数的主要任务是将GE的输入输出及属性转换为aclnn单 | |||
| 36 | static graphStatus ConcatExecuteFunc(OpExecuteContext* host_api_ctx) | 36 | static graphStatus ConcatExecuteFunc(OpExecuteContext* host_api_ctx) |
| 37 | ``` | 37 | ``` |
| 38 | 38 | ||
| 39 | -OpExecuteContext指针入参中主要包含计算fallback所需的信息,例如输入输出的shape和datatype等,具体请参考《[基础数据结构和接口](https://hiascend.com/document/redirect/CannCommunitybasicopapi)》\>"gert命名空间\>OpImplSpaceRegistryV2类"。 | 39 | +OpExecuteContext指针入参中主要包含计算fallback所需的信息,例如输入输出的shape和datatype等,具体请参考《[基础数据结构和接口](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)》\>"gert命名空间\>OpImplSpaceRegistryV2类"。 |
| 40 | 40 | ||
| 41 | 用户无需手动实现fallback函数,在算子原型注册过程中,只需调用EnableFallBack接口,系统将自动生成fallback函数并注册到GE。 | 41 | 用户无需手动实现fallback函数,在算子原型注册过程中,只需调用EnableFallBack接口,系统将自动生成fallback函数并注册到GE。 |
| 42 | 42 | ||
| @@ -31,7 +31,7 @@ Triton-Ascend是面向昇腾平台构建的Triton编译框架,旨在让Triton | |||
| 31 | - **CANN软件包安装**:参见[环境准备](../overview/environment_setup.md)安装CANN软件包,并设置环境变量。 | 31 | - **CANN软件包安装**:参见[环境准备](../overview/environment_setup.md)安装CANN软件包,并设置环境变量。 |
| 32 | - **Triton-Ascend 安装**:参见[Triton-Ascend安装指南](https://gitcode.com/Ascend/triton-ascend/blob/master/docs/sources/getting-started/installation.md)进行安装。 | 32 | - **Triton-Ascend 安装**:参见[Triton-Ascend安装指南](https://gitcode.com/Ascend/triton-ascend/blob/master/docs/sources/getting-started/installation.md)进行安装。 |
| 33 | 33 | ||
| 34 | -详细Sample示例请单击[Triton自定义算子入图样例](https://gitcode.com/cann/ge/tree/master/examples/custom_op/triton_add_custom)获取。 | 34 | +详细Sample示例请单击[Triton自定义算子入图样例](../../../../../examples/custom_op/triton_add_custom/README.md)获取。 |
| 35 | 35 | ||
| 36 | ### 生成npubin文件 | 36 | ### 生成npubin文件 |
| 37 | 37 | ||
| @@ -302,9 +302,9 @@ g++ -std=c++14 -shared $SOURCE_FILES -o outputs/libcustom_ops.so -fPIC ${TF_CFLA | |||
| 302 | ``` | 302 | ``` |
| 303 | <!-- end id1 --> | 303 | <!-- end id1 --> |
| 304 | 304 | ||
| 305 | - 其中,aclrtBinaryLoadFromFile、aclrtBinaryGetFunction、aclrtLaunchKernelWithHostArgs接口详细说明请参见《[Runtime运行时 API](https://hiascend.com/document/redirect/CannCommunityruntimeapiaclkernel)》中的“Kernel加载与执行”。 | 305 | + 其中,aclrtBinaryLoadFromFile、aclrtBinaryGetFunction、aclrtLaunchKernelWithHostArgs接口详细说明请参见《[Runtime运行时 API](https://gitcode.com/cann/runtime/blob/master/docs/zh/api_ref/README.md)》中的“Kernel加载与执行”。 |
| 306 | 306 | ||
| 307 | - GetAddr、GetShape、GetSize、GetDataType、GetFormat、GetShapeSize接口详细说明请参见《[基础数据结构和接口](https://hiascend.com/document/redirect/CannCommunitybasicopapi)》。 | 307 | + GetAddr、GetShape、GetSize、GetDataType、GetFormat、GetShapeSize接口详细说明请参见《[基础数据结构和接口](https://gitcode.com/cann/metadef/blob/master/docs/zh/api/README.md)》。 |
| 308 | 308 | ||
| 309 | 其他接口详细说明请参见[EagerExecuteOp](../../../api/graph_engine_api/cpp/ge/EagerExecuteOp/EagerExecuteOp.md/)、[Execute](../../../api/graph_engine_api/cpp/ge/EagerExecuteOp/Execute.md)、[GetInputTensor](../../../api/graph_engine_api/cpp/gert/EagerOpExecutionContext/GetInputTensor.md)、[MallocOutputTensor](../../../api/graph_engine_api/cpp/gert/EagerOpExecutionContext/MallocOutputTensor.md)、[GetStream](../../../api/graph_engine_api/cpp/gert/EagerOpExecutionContext/GetStream.md)、[REG\_AUTO\_MAPPING\_OP](../../../api/graph_engine_api/cpp/ge/REG_AUTO_MAPPING_OP.md)。 | 309 | 其他接口详细说明请参见[EagerExecuteOp](../../../api/graph_engine_api/cpp/ge/EagerExecuteOp/EagerExecuteOp.md/)、[Execute](../../../api/graph_engine_api/cpp/ge/EagerExecuteOp/Execute.md)、[GetInputTensor](../../../api/graph_engine_api/cpp/gert/EagerOpExecutionContext/GetInputTensor.md)、[MallocOutputTensor](../../../api/graph_engine_api/cpp/gert/EagerOpExecutionContext/MallocOutputTensor.md)、[GetStream](../../../api/graph_engine_api/cpp/gert/EagerOpExecutionContext/GetStream.md)、[REG\_AUTO\_MAPPING\_OP](../../../api/graph_engine_api/cpp/ge/REG_AUTO_MAPPING_OP.md)。 |
| 310 | 310 | ||
| @@ -98,7 +98,7 @@ REGISTER_CUSTOM_PASS("pass_name").CustomAllocateStreamPassFn(CustomStreamPassFun | |||
| 98 | 98 | ||
| 99 | - **前提条件** | 99 | - **前提条件** |
| 100 | 100 | ||
| 101 | - 请参见《[软件安装](https://hiascend.com/document/redirect/CannCommunityInstSoftware)》安装CANN软件包。 | 101 | + 请参见《[软件安装](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/latest/softwareinst/instg/instg_0000.html?OS=openEuler&InstallType=netyum)》安装CANN软件包。 |
| 102 | 102 | ||
| 103 | - **程序编译:** | 103 | - **程序编译:** |
| 104 | 1. 参见[样例使用指导](https://gitee.com/ascend/samples/tree/master/cplusplus/level1_single_api/3_ir/2_fuse_matmul_add_pass),获取其中的CMakeLists.txt编辑脚本,并按照Sample中的目录结构,将用户自定义逻辑流分配函数**_AllocateStreamPass.cpp_**文件放在src目录下。 | 104 | 1. 参见[样例使用指导](https://gitee.com/ascend/samples/tree/master/cplusplus/level1_single_api/3_ir/2_fuse_matmul_add_pass),获取其中的CMakeLists.txt编辑脚本,并按照Sample中的目录结构,将用户自定义逻辑流分配函数**_AllocateStreamPass.cpp_**文件放在src目录下。 |
Mdocs/zh/user_guides/graph_dev/custom_pass_development/implement_pass_using_pattern_matcher_cpp.md+3-3
| @@ -242,7 +242,7 @@ REG_DECOMPOSE_PASS(CustomOne2NPass, {"Conv2D"}).Stage(CustomPassStage::kAfterInf | |||
| 242 | 242 | ||
| 243 | ## 开发示例 | 243 | ## 开发示例 |
| 244 | 244 | ||
| 245 | -此处以MatMul+Add结构融合为GEMM自定义Pass为例(对应上述一般场景下的融合Pass开发),详细介绍如何通过自定义融合Pass修改Graph,详细可以参见[样例源码](https://gitcode.com/cann/ge/blob/master/examples/fusion_pass/pattern_base_pass/1_fuse_matmul_add_pass/cpp)。样例仓还提供了更多样例,用户可以单击[融合Pass样例](https://gitcode.com/cann/ge/tree/master/examples/fusion_pass/pattern_base_pass)进行查看。 | 245 | +此处以MatMul+Add结构融合为GEMM自定义Pass为例(对应上述一般场景下的融合Pass开发),详细介绍如何通过自定义融合Pass修改Graph,详细可以参见[样例源码](../../../../../examples/fusion_pass/pattern_base_pass/1_fuse_matmul_add_pass/cpp/README.md)。样例仓还提供了更多样例,用户可以单击[融合Pass样例](../../../../../examples/fusion_pass/pattern_base_pass/README.md)进行查看。 |
| 246 | 246 | ||
| 247 | 修改前后的图结构如下,本例识别图中左边的MatMul+Add结构并通过图修改接口替换为右边的单个GEMM节点: | 247 | 修改前后的图结构如下,本例识别图中左边的MatMul+Add结构并通过图修改接口替换为右边的单个GEMM节点: |
| 248 | 248 | ||
| @@ -311,7 +311,7 @@ REG_DECOMPOSE_PASS(CustomOne2NPass, {"Conv2D"}).Stage(CustomPassStage::kAfterInf | |||
| 311 | 311 | ||
| 312 | ## 如何使用自定义Pass | 312 | ## 如何使用自定义Pass |
| 313 | 313 | ||
| 314 | -完成上述自定义Pass后,本节简单介绍如何把改图函数编译成动态库插件方式,以便注册的Pass在图编译阶段被框架调用。详细使用说明请参见[样例使用指导](https://gitcode.com/cann/ge/tree/master/examples/fusion_pass/1_fuse_matmul_add_pass)。 | 314 | +完成上述自定义Pass后,本节简单介绍如何把改图函数编译成动态库插件方式,以便注册的Pass在图编译阶段被框架调用。详细使用说明请参见[样例使用指导](../../../../../examples/fusion_pass/pattern_base_pass/1_fuse_matmul_add_pass/cpp/README.md)。 |
| 315 | 315 | ||
| 316 | 1. 把[开发示例](#开发示例)中的改图函数编译成仅以".so"结尾的动态库文件。 | 316 | 1. 把[开发示例](#开发示例)中的改图函数编译成仅以".so"结尾的动态库文件。 |
| 317 | 2. 编译成功后,执行**make install**命令,将上述".so"动态库文件安装到`${INSTALL_DIR}/opp/vendors/xxx/custom_fusion_passes/`目录下。(支持设置软链接的方式;".so"文件对执行用户,需要有可读权限) | 317 | 2. 编译成功后,执行**make install**命令,将上述".so"动态库文件安装到`${INSTALL_DIR}/opp/vendors/xxx/custom_fusion_passes/`目录下。(支持设置软链接的方式;".so"文件对执行用户,需要有可读权限) |
| @@ -332,7 +332,7 @@ REG_DECOMPOSE_PASS(CustomOne2NPass, {"Conv2D"}).Stage(CustomPassStage::kAfterInf | |||
| 332 | 332 | ||
| 333 | ## 结果验证 | 333 | ## 结果验证 |
| 334 | 334 | ||
| 335 | -请参见[样例使用指导](https://gitcode.com/cann/ge/blob/master/examples/fusion_pass/1_fuse_matmul_add_pass/cpp)\>程序运行\>查看运行结果。 | 335 | +请参见[样例使用指导](../../../../../examples/fusion_pass/pattern_base_pass/1_fuse_matmul_add_pass/cpp/README.md)\>程序运行\>查看运行结果。 |
| 336 | 336 | ||
| 337 | 设置了dump环境变量后,程序执行完毕,会在当前路径生成ge\_onnx\*.pbtxt等图文件,用户可以获取如下两张图(以指定Pass执行阶段在InferShape之前为例),然后使用Netron等可视化软件查看: | 337 | 设置了dump环境变量后,程序执行完毕,会在当前路径生成ge\_onnx\*.pbtxt等图文件,用户可以获取如下两张图(以指定Pass执行阶段在InferShape之前为例),然后使用Netron等可视化软件查看: |
| 338 | 338 | ||
Mdocs/zh/user_guides/graph_dev/custom_pass_development/implement_pass_using_pattern_matcher_python.md+7-7
| @@ -232,12 +232,12 @@ | |||
| 232 | 232 | ||
| 233 | ## 开发示例 | 233 | ## 开发示例 |
| 234 | 234 | ||
| 235 | -此处以删除Add\(x, 0\)结构为例(使用@pattern装饰器),详细介绍如何通过Python自定义融合Pass修改Graph。完整样例代码可参见[AddZeroPass Python样例](https://gitcode.com/cann/ge/blob/master/examples/fusion_pass/pattern_base_pass/4_add_zero_pass/python/README.md)。源码仓还给出了如下各种场景的样例,供用户参考: | 235 | +此处以删除Add\(x, 0\)结构为例(使用@pattern装饰器),详细介绍如何通过Python自定义融合Pass修改Graph。完整样例代码可参见[AddZeroPass Python样例](../../../../../examples/fusion_pass/pattern_base_pass/4_add_zero_pass/python/README.md)。源码仓还给出了如下各种场景的样例,供用户参考: |
| 236 | 236 | ||
| 237 | -- [MatMul+Add Python样例](https://gitcode.com/cann/ge/blob/master/examples/fusion_pass/pattern_base_pass/1_fuse_matmul_add_pass/python/README.md) | 237 | +- [MatMul+Add Python样例](../../../../../examples/fusion_pass/pattern_base_pass/1_fuse_matmul_add_pass/python/README.md) |
| 238 | -- [capture tensor Python样例](https://gitcode.com/cann/ge/blob/master/examples/fusion_pass/pattern_base_pass/2_fuse_matmul_add_pass_with_capture_tensor/python/README.md) | 238 | +- [capture tensor Python样例](../../../../../examples/fusion_pass/pattern_base_pass/2_fuse_matmul_add_pass_with_capture_tensor/python/README.md) |
| 239 | -- [PatternMatcherConfig Python样例](https://gitcode.com/cann/ge/blob/master/examples/fusion_pass/pattern_base_pass/3_fuse_matmul_add_pass_with_pattern_matcher_config/python/README.md) | 239 | +- [PatternMatcherConfig Python样例](../../../../../examples/fusion_pass/pattern_base_pass/3_fuse_matmul_add_pass_with_pattern_matcher_config/python/README.md) |
| 240 | -- [DecomposePass Python样例](https://gitcode.com/cann/ge/blob/master/examples/fusion_pass/pattern_base_pass/6_decompose_grouped_conv_to_splited_pass/python/README.md) | 240 | +- [DecomposePass Python样例](../../../../../examples/fusion_pass/pattern_base_pass/6_decompose_grouped_conv_to_splited_pass/python/README.md) |
| 241 | 241 | ||
| 242 | 修改前后的图结构如下: | 242 | 修改前后的图结构如下: |
| 243 | 243 | ||
| @@ -354,7 +354,7 @@ x ----\ | |||
| 354 | 354 | ||
| 355 | pyatc详细使用方法请参见[Pyatc 接口](../../../api/graph_engine_api/python/ge/pyatc/pyatc_interface.md)。 | 355 | pyatc详细使用方法请参见[Pyatc 接口](../../../api/graph_engine_api/python/ge/pyatc/pyatc_interface.md)。 |
| 356 | 356 | ||
| 357 | - - 在线编译:参考[样例程序运行](https://gitcode.com/cann/ge/blob/master/examples/fusion_pass/pattern_base_pass/4_add_zero_pass/cpp/README.md)章节,使用torch\_forward.py脚本执行在线推理。 | 357 | + - 在线编译:参考[样例程序运行](../../../../../examples/fusion_pass/pattern_base_pass/4_add_zero_pass/cpp/README.md)章节,使用torch\_forward.py脚本执行在线推理。 |
| 358 | 358 | ||
| 359 | ## 结果验证 | 359 | ## 结果验证 |
| 360 | 360 | ||
| @@ -388,4 +388,4 @@ x ----\ | |||
| 388 | | 类已加载但pass不执行 | 没有使用注册装饰器,或注册阶段不对 | 检查@register_fusion_pass/@register_decompose_pass | | 388 | | 类已加载但pass不执行 | 没有使用注册装饰器,或注册阶段不对 | 检查@register_fusion_pass/@register_decompose_pass | |
| 389 | | pattern不命中 | 算子类型、输入个数或输出边界不一致 | 对比dump图中的真实拓扑 | | 389 | | pattern不命中 | 算子类型、输入个数或输出边界不一致 | 对比dump图中的真实拓扑 | |
| 390 | | 命中了但不替换 | meet_requirements返回False | 打印命中节点属性 | | 390 | | 命中了但不替换 | meet_requirements返回False | 打印命中节点属性 | |
| 391 | -| 替换后图异常 | replacement输出没有覆盖外部消费者需要的Tensor | 回到[机制文档](https://gitcode.com/cann/ge/blob/master/docs/zh/design/features/fusion_pattern_pass.md)检查边界规则 | | 391 | +| 替换后图异常 | replacement输出没有覆盖外部消费者需要的Tensor | 回到[机制文档](../../../design/features/fusion_pattern_pass.md)检查边界规则 | |
| @@ -100,16 +100,16 @@ | |||
| 100 | 100 | ||
| 101 | | 特性 | 获取链接 | 备注 | | 101 | | 特性 | 获取链接 | 备注 | |
| 102 | | --- | --- | --- | | 102 | | --- | --- | --- | |
| 103 | -| 控制边场景的ES构图 | [C++代码示例](https://gitcode.com/cann/ge/tree/master/examples/es/control_edge/cpp)<br>[Python代码示例](https://gitcode.com/cann/ge/tree/master/examples/es/control_edge/python) | 参见README执行相关操作。 | | 103 | +| 控制边场景的ES构图 | [C++代码示例](../../../../../examples/es/control_edge/cpp)<br>[Python代码示例](../../../../../examples/es/control_edge/python) | 参见README执行相关操作。 | |
| 104 | -| 控制算子场景的ES构图 | [C++代码示例](https://gitcode.com/cann/ge/tree/master/examples/es/control_op/cpp)<br>[Python代码示例](https://gitcode.com/cann/ge/tree/master/examples/es/control_op/python) | 参见README执行相关操作。 | | 104 | +| 控制算子场景的ES构图 | [C++代码示例](../../../../../examples/es/control_op/cpp)<br>[Python代码示例](../../../../../examples/es/control_op/python) | 参见README执行相关操作。 | |
| 105 | -| 动态输入场景的ES构图 | [C++代码示例](https://gitcode.com/cann/ge/tree/master/examples/es/dynamic_input/cpp)<br>[Python代码示例](https://gitcode.com/cann/ge/tree/master/examples/es/dynamic_input/python) | 参见README执行相关操作。 | | 105 | +| 动态输入场景的ES构图 | [C++代码示例](../../../../../examples/es/dynamic_input/cpp)<br>[Python代码示例](../../../../../examples/es/dynamic_input/python) | 参见README执行相关操作。 | |
| 106 | -| 动态输出场景的ES构图 | [C++代码示例](https://gitcode.com/cann/ge/tree/master/examples/es/dynamic_output/cpp)<br>[Python代码示例](https://gitcode.com/cann/ge/tree/master/examples/es/dynamic_output/python) | 参见README执行相关操作。 | | 106 | +| 动态输出场景的ES构图 | [C++代码示例](../../../../../examples/es/dynamic_output/cpp)<br>[Python代码示例](../../../../../examples/es/dynamic_output/python) | 参见README执行相关操作。 | |
| 107 | -| 设置普通属性的ES构图 | [C++代码示例](https://gitcode.com/cann/ge/tree/master/examples/es/normal_attributes/cpp)<br>[Python代码示例](https://gitcode.com/cann/ge/tree/master/examples/es/normal_attributes/python) | 参见README执行相关操作。 | | 107 | +| 设置普通属性的ES构图 | [C++代码示例](../../../../../examples/es/normal_attributes/cpp)<br>[Python代码示例](../../../../../examples/es/normal_attributes/python) | 参见README执行相关操作。 | |
| 108 | -| 普通输入的ES构图 | [C++代码示例](https://gitcode.com/cann/ge/tree/master/examples/es/normal_input/cpp)<br>[Python代码示例](https://gitcode.com/cann/ge/tree/master/examples/es/normal_input/python) | 参见README执行相关操作。 | | 108 | +| 普通输入的ES构图 | [C++代码示例](../../../../../examples/es/normal_input/cpp)<br>[Python代码示例](../../../../../examples/es/normal_input/python) | 参见README执行相关操作。 | |
| 109 | -| 操作符重载的ES构图 | [C++代码示例](https://gitcode.com/cann/ge/tree/master/examples/es/operator_overload/cpp)<br>[Python代码示例](https://gitcode.com/cann/ge/tree/master/examples/es/operator_overload/python) | 参见README执行相关操作。 | | 109 | +| 操作符重载的ES构图 | [C++代码示例](../../../../../examples/es/operator_overload/cpp)<br>[Python代码示例](../../../../../examples/es/operator_overload/python) | 参见README执行相关操作。 | |
| 110 | -| 可选输入场景的ES构图 | [C++代码示例](https://gitcode.com/cann/ge/tree/master/examples/es/optional_input/cpp)<br>[Python代码示例](https://gitcode.com/cann/ge/tree/master/examples/es/optional_input/python) | 参见README执行相关操作。 | | 110 | +| 可选输入场景的ES构图 | [C++代码示例](../../../../../examples/es/optional_input/cpp)<br>[Python代码示例](../../../../../examples/es/optional_input/python) | 参见README执行相关操作。 | |
| 111 | -| 私有属性场景的ES构图 | [C++代码示例](https://gitcode.com/cann/ge/tree/master/examples/es/private_attributes/cpp)<br>[Python代码示例](https://gitcode.com/cann/ge/tree/master/examples/es/private_attributes/python) | 参见README执行相关操作。 | | 111 | +| 私有属性场景的ES构图 | [C++代码示例](../../../../../examples/es/private_attributes/cpp)<br>[Python代码示例](../../../../../examples/es/private_attributes/python) | 参见README执行相关操作。 | |
| 112 | -| transformer场景(部分片段)的ES构图 | [C++代码示例](https://gitcode.com/cann/ge/tree/master/examples/es/transformer/cpp)<br>[Python代码示例](https://gitcode.com/cann/ge/tree/master/examples/es/transformer/python) | 参见README执行相关操作。 | | 112 | +| transformer场景(部分片段)的ES构图 | [C++代码示例](../../../../../examples/es/transformer/cpp)<br>[Python代码示例](../../../../../examples/es/transformer/python) | 参见README执行相关操作。 | |
| 113 | -| 集合通信EP场景的ES构图 | [C++代码示例](https://gitcode.com/cann/ge/tree/master/examples/es/hccl_ep/cpp)<br>[Python代码示例](https://gitcode.com/cann/ge/tree/master/examples/es/hccl_ep/python) | 说明:EP(Expert Parallel)图是指通过专家并行方式在多卡上运行的图结构。 | | 113 | +| 集合通信EP场景的ES构图 | [C++代码示例](../../../../../examples/es/hccl_ep/cpp)<br>[Python代码示例](../../../../../examples/es/hccl_ep/python) | 说明:EP(Expert Parallel)图是指通过专家并行方式在多卡上运行的图结构。 | |
| 114 | -| 集合通信TP场景的ES构图 | [C++代码示例](https://gitcode.com/cann/ge/tree/master/examples/es/hccl_tp/cpp)<br>[Python代码示例](https://gitcode.com/cann/ge/tree/master/examples/es/hccl_tp/python) | 说明: TP(Tensor Parallel)图是指通过张量并行方式在多卡上运行的图结构。 | | 114 | +| 集合通信TP场景的ES构图 | [C++代码示例](../../../../../examples/es/hccl_tp/cpp)<br>[Python代码示例](../../../../../examples/es/hccl_tp/python) | 说明: TP(Tensor Parallel)图是指通过张量并行方式在多卡上运行的图结构。 | |
| 115 | -| 自定义ES API并构图 | 单击[custom_es_api](https://gitcode.com/cann/ge/blob/master/examples/custom_es_api)获取样例,参见README执行相关操作。 | - | | 115 | +| 自定义ES API并构图 | 单击[custom_es_api](../../../../../examples/custom_es_api)获取样例,参见README执行相关操作。 | - | |
| @@ -93,7 +93,7 @@ | |||
| 93 | 93 | ||
| 94 | > [!NOTE]说明 | 94 | > [!NOTE]说明 |
| 95 | > | 95 | > |
| 96 | - >因为ES构图API是基于算子IR原型生成,部分算子IR无法支撑所有信息表达(比如Conv类算子)或者IR表达有冗余信息(比如IdentityN算子),所以推荐用户自行封装ES API,该场景下用户可以自定义ES API,详细介绍请参见[自定义ES API](https://gitcode.com/cann/ge/blob/master/examples/custom_es_api)。 | 96 | + >因为ES构图API是基于算子IR原型生成,部分算子IR无法支撑所有信息表达(比如Conv类算子)或者IR表达有冗余信息(比如IdentityN算子),所以推荐用户自行封装ES API,该场景下用户可以自定义ES API,详细介绍请参见[自定义ES API](../../../../../examples/custom_es_api/README.md)。 |
| 97 | 97 | ||
| 98 | 如下是一个完整的CMake文件示例,其中的CANN软件包安装路径/usr/local/Ascend/请根据实际情况进行替换,更多CMake示例请参见[CMake常见示例](../appendix/cmake_examples.md)。 | 98 | 如下是一个完整的CMake文件示例,其中的CANN软件包安装路径/usr/local/Ascend/请根据实际情况进行替换,更多CMake示例请参见[CMake常见示例](../appendix/cmake_examples.md)。 |
| 99 | 99 | ||
| @@ -75,4 +75,4 @@ aclgrphBuildFinalize(); | |||
| 75 | 75 | ||
| 76 | ## 后续步骤 | 76 | ## 后续步骤 |
| 77 | 77 | ||
| 78 | -上述权重更新后的图编译生成的离线模型,如果要进行推理业务,则必须通过aclmdlBundleLoadFromFile或aclmdlBundleLoadFromMem接口加载模型,然后使用aclmdlExecute接口执行推理,详细介绍请参见《[应用开发 \(C&C++\)](https://hiascend.com/document/redirect/CannCommunityCppBaseinfer)》中的“模型推理 \> 权重更新”章节。 | 78 | +上述权重更新后的图编译生成的离线模型,如果要进行推理业务,则必须通过aclmdlBundleLoadFromFile或aclmdlBundleLoadFromMem接口加载模型,然后使用aclmdlExecute接口执行推理,详细介绍请参见《[应用开发](https://gitcode.com/cann/docs/blob/master/docs/zh/app-dev/00_acl_cpp_dev.md)》中的“模型推理 \> 权重更新”章节。 |
| @@ -63,7 +63,7 @@ GE提供了两种构图方式: | |||
| 63 | **图 1** Parser解析计算图 | 63 | **图 1** Parser解析计算图 |
| 64 |  | 64 |  |
| 65 | 65 | ||
| 66 | - ATC命令行工具详细说明请参见《[ATC离线模型编译工具](https://hiascend.com/document/redirect/CannCommunityAtc)》。 | 66 | + ATC命令行工具详细说明请参见《[ATC离线模型编译工具](../../atc_tools/README.md)》。 |
| 67 | 67 | ||
| 68 | 使用Parser接口构建图请参见[使用Parser接口将原始模型解析为Graph](../construct_graph/parse_model_to_graph_using_parser.md)。 | 68 | 使用Parser接口构建图请参见[使用Parser接口将原始模型解析为Graph](../construct_graph/parse_model_to_graph_using_parser.md)。 |
| 69 | 69 | ||
| @@ -4,7 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | ## 安装驱动固件与CANN软件包 | 5 | ## 安装驱动固件与CANN软件包 |
| 6 | 6 | ||
| 7 | -准备带有AI处理器的硬件环境,参见《[软件安装](https://hiascend.com/document/redirect/CannCommunityInstSoftware)》完成环境搭建,并确保已安装CANN Toolkit开发套件包和ops算子包(**针对8.5.0及之后版本**,编译Graph为离线模型时,必须安装与目标AI处理器相匹配的ops算子包,否则会导致编译失败),安装完成后: | 7 | +准备带有AI处理器的硬件环境,参见《[软件安装](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/latest/softwareinst/instg/instg_0000.html?OS=openEuler&InstallType=netyum)》完成环境搭建,并确保已安装CANN Toolkit开发套件包和ops算子包(**针对8.5.0及之后版本**,编译Graph为离线模型时,必须安装与目标AI处理器相匹配的ops算子包,否则会导致编译失败),安装完成后: |
| 8 | 8 | ||
| 9 | - “$\{INSTALL\_DIR\}/**opp/built-in/op\_graph/inc**”下提供了CANN算子原型定义,用于通过算子原型构建Graph。 | 9 | - “$\{INSTALL\_DIR\}/**opp/built-in/op\_graph/inc**”下提供了CANN算子原型定义,用于通过算子原型构建Graph。 |
| 10 | - “$\{INSTALL\_DIR\}/**include/graph**”下提供了Graph构建接口。 | 10 | - “$\{INSTALL\_DIR\}/**include/graph**”下提供了Graph构建接口。 |
| @@ -34,7 +34,7 @@ | |||
| 34 | export ASCEND_WORK_PATH=/repo/task001/172.16.1.12_01_03 | 34 | export ASCEND_WORK_PATH=/repo/task001/172.16.1.12_01_03 |
| 35 | ``` | 35 | ``` |
| 36 | 36 | ||
| 37 | - 关于环境变量ASCEND\_CACHE\_PATH与ASCEND\_WORK\_PATH的使用约束以及落盘文件说明,可参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 37 | + 关于环境变量ASCEND\_CACHE\_PATH与ASCEND\_WORK\_PATH的使用约束以及落盘文件说明,可参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| 38 | 38 | ||
| 39 | >[!NOTE]说明 | 39 | >[!NOTE]说明 |
| 40 | > | 40 | > |
| @@ -66,7 +66,7 @@ | |||
| 66 | 66 | ||
| 67 | 4.后续操作。 | 67 | 4.后续操作。 |
| 68 | 68 | ||
| 69 | - 转换成\*.om离线模型后,可以调用模型加载接口加载转换好的\*.om离线模型,再调用模型执行接口进行推理。如下为从文件加载模型文件并执行推理的简要流程,详细的模型加载与推理的方法可参见《[应用开发 \(C&C++\)](https://hiascend.com/document/redirect/CannCommunityCppBaseinfer)》中的“模型推理”章节。 | 69 | + 转换成\*.om离线模型后,可以调用模型加载接口加载转换好的\*.om离线模型,再调用模型执行接口进行推理。如下为从文件加载模型文件并执行推理的简要流程,详细的模型加载与推理的方法可参见《[应用开发](https://gitcode.com/cann/docs/blob/master/docs/zh/app-dev/00_acl_cpp_dev.md)》中的“模型推理”章节。 |
| 70 | 70 | ||
| 71 | ```c++ | 71 | ```c++ |
| 72 | // 1.指定模型路径 | 72 | // 1.指定模型路径 |
| @@ -243,7 +243,7 @@ GE的C++图引擎接口提供了两种构图方式: | |||
| 243 | 243 | ||
| 244 | 5. 后续操作。 | 244 | 5. 后续操作。 |
| 245 | 245 | ||
| 246 | - 转换成\*.om离线模型后,可以调用模型加载接口加载转换好的\*.om离线模型,再调用模型执行接口进行推理。详细的模型加载与推理的方法可参见《[应用开发 \(C&C++\)](https://hiascend.com/document/redirect/CannCommunityCppBaseinfer)》中的“模型推理”。 | 246 | + 转换成\*.om离线模型后,可以调用模型加载接口加载转换好的\*.om离线模型,再调用模型执行接口进行推理。详细的模型加载与推理的方法可参见《[应用开发)](https://gitcode.com/cann/docs/blob/master/docs/zh/app-dev/00_acl_cpp_dev.md)》中的“模型推理”。 |
| 247 | 247 | ||
| 248 | ### 代码解析 | 248 | ### 代码解析 |
| 249 | 249 | ||
| @@ -160,7 +160,7 @@ SuperKernel是一种基于二进制层面的算子融合技术,区别于传统 | |||
| 160 | } | 160 | } |
| 161 | ``` | 161 | ``` |
| 162 | 162 | ||
| 163 | - 上述acl接口详细说明请参见《[Runtime运行时 API](https://hiascend.com/document/redirect/CannCommunityRuntimeApi)》。 | 163 | + 上述acl接口详细说明请参见《[Runtime运行时 API](https://gitcode.com/cann/runtime/blob/master/docs/zh/api_ref/README.md)》。 |
| 164 | 164 | ||
| 165 | - **标定算子不融合到SuperKernel的关键步骤示例** | 165 | - **标定算子不融合到SuperKernel的关键步骤示例** |
| 166 | 166 | ||
| @@ -204,4 +204,4 @@ SuperKernel是一种基于二进制层面的算子融合技术,区别于传统 | |||
| 204 | } | 204 | } |
| 205 | ``` | 205 | ``` |
| 206 | 206 | ||
| 207 | - 上述acl接口详细说明请参见《[Runtime运行时 API](https://hiascend.com/document/redirect/CannCommunityRuntimeApi)》。 | 207 | + 上述acl接口详细说明请参见《[Runtime运行时 API](https://gitcode.com/cann/runtime/blob/master/docs/zh/api_ref/README.md)》。 |
| @@ -33,7 +33,7 @@ | |||
| 33 | - Atlas A3 训练系列产品/Atlas A3 推理系列产品 | 33 | - Atlas A3 训练系列产品/Atlas A3 推理系列产品 |
| 34 | <!-- end id2 --> | 34 | <!-- end id2 --> |
| 35 | 35 | ||
| 36 | -请参考《[软件安装](https://hiascend.com/document/redirect/CannCommunityInstSoftware)》安装好驱动固件以及CANN软件。 | 36 | +请参考《[软件安装](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/latest/softwareinst/instg/instg_0000.html?OS=openEuler&InstallType=netyum)》安装好驱动固件以及CANN软件。 |
| 37 | 37 | ||
| 38 | 使用hccn\_tool查询Device IP,并且进行卡间网络检测,要求各个集群上的卡间有RDMA链路连接,否则无法使能LLM-DataDist能力。hccn\_tool详细介绍请参考《[HCCN Tool 接口参考](https://support.huawei.com/enterprise/zh/ascend-computing/ascend-hdk-pid-252764743?category=developer-documents&subcategory=interface-reference)》。以下是常用命令参考。 | 38 | 使用hccn\_tool查询Device IP,并且进行卡间网络检测,要求各个集群上的卡间有RDMA链路连接,否则无法使能LLM-DataDist能力。hccn\_tool详细介绍请参考《[HCCN Tool 接口参考](https://support.huawei.com/enterprise/zh/ascend-computing/ascend-hdk-pid-252764743?category=developer-documents&subcategory=interface-reference)》。以下是常用命令参考。 |
| 39 | 39 | ||
| @@ -43,7 +43,7 @@ | |||
| 43 | |hccn_tool [-i %d] -ip -g|获取IP地址和子网掩码。-i指定Device。样例:`hccn_tool -i 0 -ip -g`| | 43 | |hccn_tool [-i %d] -ip -g|获取IP地址和子网掩码。-i指定Device。样例:`hccn_tool -i 0 -ip -g`| |
| 44 | |hccn_tool [-i %d] -ping -g [address %s ]|获取指定设备到目的地址的ping结果。-i指定当前server的某个Device, address指定ping的目的地址。样例:`hccn_tool -i 0 -ping -g address 192.168.2.1`| | 44 | |hccn_tool [-i %d] -ping -g [address %s ]|获取指定设备到目的地址的ping结果。-i指定当前server的某个Device, address指定ping的目的地址。样例:`hccn_tool -i 0 -ping -g address 192.168.2.1`| |
| 45 | 45 | ||
| 46 | -使用LLM-DataDist过程中,还涉及到如下环境变量,具体请参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 46 | +使用LLM-DataDist过程中,还涉及到如下环境变量,具体请参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| 47 | 47 | ||
| 48 | |名称|使用场景| | 48 | |名称|使用场景| |
| 49 | |--|--| | 49 | |--|--| |
| @@ -34,7 +34,7 @@ | |||
| 34 | - Atlas A3 训练系列产品/Atlas A3 推理系列产品 | 34 | - Atlas A3 训练系列产品/Atlas A3 推理系列产品 |
| 35 | <!-- end id2 --> | 35 | <!-- end id2 --> |
| 36 | 36 | ||
| 37 | -请参考《[软件安装](https://hiascend.com/document/redirect/CannCommunityInstSoftware)》安装好驱动固件以及CANN软件。 | 37 | +请参考《[软件安装](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/latest/softwareinst/instg/instg_0000.html?OS=openEuler&InstallType=netyum)》安装好驱动固件以及CANN软件。 |
| 38 | 38 | ||
| 39 | 使用hccn\_tool查询Device IP,并且进行卡间网络检测,要求各个集群上的卡间有RDMA链路连接,否则无法使能LLM-DataDist能力。hccn\_tool详细介绍请参考《[HCCN Tool 接口参考](https://support.huawei.com/enterprise/zh/ascend-computing/ascend-hdk-pid-252764743?category=developer-documents&subcategory=interface-reference)》。以下是常用命令参考。 | 39 | 使用hccn\_tool查询Device IP,并且进行卡间网络检测,要求各个集群上的卡间有RDMA链路连接,否则无法使能LLM-DataDist能力。hccn\_tool详细介绍请参考《[HCCN Tool 接口参考](https://support.huawei.com/enterprise/zh/ascend-computing/ascend-hdk-pid-252764743?category=developer-documents&subcategory=interface-reference)》。以下是常用命令参考。 |
| 40 | 40 | ||
| @@ -44,7 +44,7 @@ | |||
| 44 | |hccn_tool [-i %d] -ip -g|获取IP地址和子网掩码。-i指定Device。样例:`hccn_tool -i 0 -ip -g`| | 44 | |hccn_tool [-i %d] -ip -g|获取IP地址和子网掩码。-i指定Device。样例:`hccn_tool -i 0 -ip -g`| |
| 45 | |hccn_tool [-i %d] -ping -g [address %s ]|获取指定设备到目的地址的ping结果。-i指定当前server的某个Device, address指定ping的目的地址。样例:`hccn_tool -i 0 -ping -g address 192.168.2.1`| | 45 | |hccn_tool [-i %d] -ping -g [address %s ]|获取指定设备到目的地址的ping结果。-i指定当前server的某个Device, address指定ping的目的地址。样例:`hccn_tool -i 0 -ping -g address 192.168.2.1`| |
| 46 | 46 | ||
| 47 | -使用LLM-DataDist过程中,还涉及到如下环境变量,具体请参见《[环境变量参考](https://hiascend.com/document/redirect/CannCommunityEnvRef)》。 | 47 | +使用LLM-DataDist过程中,还涉及到如下环境变量,具体请参见《[环境变量参考](https://gitcode.com/cann/docs/blob/master/docs/zh/env-vars/README.md)》。 |
| 48 | 48 | ||
| 49 | |名称|使用场景| | 49 | |名称|使用场景| |
| 50 | |--|--| | 50 | |--|--| |