开发者
资源

基础功能

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 NameNPU Name信息,实际配置值为Chip Name_NPU Name。例如Chip Name取值为AscendxxxNPU 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 NameNPU Name信息,实际配置值为Chip Name_NPU Name。例如Chip Name取值为AscendxxxNPU 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. 参数取值为1时,进行模型转换,则转换后离线模型参与计算的逻辑AI Core核数可能比实际aicore_num核数大,为aicore_num支持配置范围的最小公倍数:

    例如aicore_num支持配置范围为{1,2,4,8},参数取值为1转换后的离线模型,NPU运行核数可能为8。

  2. 参数取值为1时,转换后的模型,如果包括如下算子,会默认使用单核,该场景下,将会导致转换后的模型推理性能下降。
    • DynamicRNN
    • PadV2D
    • SquareSumV2
    • DynamicRNNV2
    • DynamicRNNV3
    • DynamicGRUV

产品支持情况:

全量芯片支持。