基础功能
SOC_VERSION
图编译时使用的AI处理器型号。
- 若当前环境存在AI处理器,该参数可选。
- 若当前环境不存在AI处理器,即开发环境,该参数必填。
参数取值:
<soc_version>查询方法为:
- 针对如下产品:在安装AI处理器的服务器执行npu-smi info命令进行查询,获取Name信息。实际配置值为AscendName,例如Name取值为xxxyy,实际配置值为Ascendxxxyy。
Atlas A2 训练系列产品 /Atlas A2 推理系列产品 Atlas 200I/500 A2 推理产品 Atlas 推理系列产品 Atlas 训练系列产品 - 针对
Atlas A3 训练系列产品 /Atlas A3 推理系列产品 ,在安装AI处理器的服务器执行npu-smi info -t board -i id -c chip_id命令进行查询,获取Chip Name和NPU Name信息,实际配置值为Chip Name_NPU Name。例如Chip Name取值为Ascendxxx,NPU Name取值为1234,实际配置值为Ascendxxx_1234。其中:- id:设备id,通过npu-smi info -l命令查出的NPU ID即为设备id。
- chip_id:芯片id,通过npu-smi info -m命令查出的Chip ID即为芯片id。
- 针对Ascend 950PR/Ascend 950DT,在安装AI处理器的服务器执行npu-smi info -t board -i id命令进行查询,获取Chip Name和NPU Name信息,实际配置值为Chip Name_NPU Name。例如Chip Name取值为Ascendxxx,NPU Name取值为1234,实际配置值为Ascendxxx_1234。
其中,id为设备id,通过npu-smi info -l命令查出的NPU ID即为设备id。
配置示例:
{ge::ir_option::SOC_VERSION, "<soc_version>"}
产品支持情况:
全量芯片支持。
ENABLE_SINGLE_STREAM
静态shape场景下,是否使能模型推理顺序单流串行执行。
其中,流(Stream)用于维护一些异步操作的执行顺序,确保按照应用程序中的代码调用顺序在Device上执行。
参数取值:
- true:表示使能,模型推理顺序单流串行执行。
- false:(默认值)表示关闭,模型推理时多流并行执行。
参数值约束:
模型中存在Cmo算子和如下控制类算子时,不能使用单Stream特性,只能使用默认值false。
- Merge
- Switch
- Enter
- RefEnter
配置示例:
{ge::ir_option::ENABLE_SINGLE_STREAM, "true"}
产品支持情况:
- Ascend 950PR/Ascend 950DT:支持
Atlas A3 训练系列产品 /Atlas A3 推理系列产品 :支持Atlas A2 训练系列产品 /Atlas A2 推理系列产品 :支持Atlas 200I/500 A2 推理产品 :不支持Atlas 推理系列产品 :支持Atlas 训练系列产品 :支持
DETERMINISTIC
是否开启确定性计算。
默认情况下,不开启确定性计算,算子在相同的硬件和输入下,多次执行的结果可能不同。这个差异的来源,一般是因为在算子实现中,存在异步的多线程执行,会导致浮点数累加的顺序变化。当开启确定性计算功能时,算子在相同的硬件和输入下,多次执行将产生相同的输出。
通常建议不开启确定性计算,因为确定性计算往往会导致算子执行变慢,进而影响性能。当发现模型多次执行结果不同,或者是进行精度调优时,可开启确定性计算,辅助模型调试、调优。
参数取值:
- 0:(默认值)不开启确定性计算。
- 1:开启确定性计算。
配置示例:
{ge::ir_option::DETERMINISTIC, "1"}
产品支持情况:
- Ascend 950PR/Ascend 950DT:支持
Atlas A3 训练系列产品 /Atlas A3 推理系列产品 :支持Atlas A2 训练系列产品 /Atlas A2 推理系列产品 :支持Atlas 200I/500 A2 推理产品 :不支持Atlas 推理系列产品 :支持Atlas 训练系列产品 :支持
OPTION_HOST_ENV_OS
若模型编译环境的操作系统及其架构与模型运行环境不一致时,则需使用本参数设置模型运行环境的操作系统类型。如果不设置,则默认取模型编译环境的操作系统类型。
模型编译环境的操作系统及其架构与模型运行环境不一致时,需要与OPTION_HOST_ENV_CPU参数配合使用,通过OPTION_HOST_ENV_OS参数设置操作系统类型、通过OPTION_HOST_ENV_CPU参数设置操作系统架构。
参数取值:查看${INSTALL_DIR}/opp/built-in/op_graph/lib/下打包的算子so的OS类型。
参数默认值:查看${INSTALL_DIR}/opp/scene.info文件中的取值。
${INSTALL_DIR}请替换为CANN软件安装后文件存储路径。以root用户安装为例,安装后文件默认存储路径为:/usr/local/Ascend/cann。
配置示例:
{ge::OPTION_HOST_ENV_OS, "linux"},
{ge::OPTION_HOST_ENV_CPU, "x86_64"}
产品支持情况:
全量芯片支持。
OPTION_HOST_ENV_CPU
若模型编译环境的操作系统及其架构与模型运行环境不一致时,则需使用本参数设置模型运行环境的操作系统架构。如果不设置,则默认取模型编译环境的操作系统架构。
如果模型编译环境的操作系统及其架构与模型运行环境不一致,需要与OPTION_HOST_ENV_OS参数配合使用,通过OPTION_HOST_ENV_OS参数设置操作系统类型、通过OPTION_HOST_ENV_CPU参数设置操作系统架构。
参数取值:查看${INSTALL_DIR}/opp/built-in/op_graph/lib/下打包的算子so的OS/CPU类型。
参数默认值:查看${INSTALL_DIR}/opp/scene.info文件中的取值。
${INSTALL_DIR}请替换为CANN软件安装后文件存储路径。以root用户安装为例,安装后文件默认存储路径为:/usr/local/Ascend/cann。
配置示例:
{ge::OPTION_HOST_ENV_OS, "linux"},
{ge::OPTION_HOST_ENV_CPU, "x86_64"}
- 若转换后的离线模型包含操作系统类型、架构,例如:xxx_linux_x86_64.om,则说明该模型运行的环境只能是x86_64架构的linux操作系统。
- 若转换后的离线模型不包含操作系统类型、架构,例如:xxx.om,则说明CANN软件包所支持的操作系统,都支持该模型运行。
产品支持情况:
全量芯片支持。
VIRTUAL_TYPE
是否支持离线模型在昇腾虚拟化实例特性生成的虚拟设备上运行。
当前芯片算力比较大,云端用户或者小企业完全不需要使用这么大算力,昇腾虚拟化实例特性支持对芯片的算力进行切分,可满足用户根据自己的业务按需申请算力的诉求。
虚拟设备是指按照指定算力在芯片上申请的虚拟加速资源。
参数取值:
- 0:(默认值)离线模型不在昇腾虚拟化实例特性生成的虚拟设备上运行。
- 1:离线模型在不同算力的虚拟设备上运行。
配置示例:
{ge::ir_option::VIRTUAL_TYPE, "1"}
使用约束:
- 参数取值为1时,进行模型转换,则转换后离线模型参与计算的逻辑AI Core核数可能比实际aicore_num核数大,为aicore_num支持配置范围的最小公倍数:
- 参数取值为1时,转换后的模型,如果包括如下算子,会默认使用单核,该场景下,将会导致转换后的模型推理性能下降。
- DynamicRNN
- PadV2D
- SquareSumV2
- DynamicRNNV2
- DynamicRNNV3
- DynamicGRUV
产品支持情况:
全量芯片支持。