aclgrphBuildInitialize支持的配置参数
基础功能
参数 |
说明 |
---|---|
SOC_VERSION |
图编译时使用的昇腾AI处理器型号。
<soc_version>查询方法为:
配置示例: {ge::ir_option::SOC_VERSION, "<soc_version>"} 产品支持情况: |
ENABLE_SINGLE_STREAM |
静态shape场景下,是否使能模型推理顺序单流串行执行。 其中,流(Stream)用于维护一些异步操作的执行顺序,确保按照应用程序中的代码调用顺序在Device上执行。 参数取值:
参数值约束: 模型中存在Cmo算子和如下控制类算子时,不能使用单Stream特性,只能使用默认值false。
配置示例: {ge::ir_option::ENABLE_SINGLE_STREAM, "true"} 产品支持情况: |
DETERMINISTIC |
是否开启确定性计算。 默认情况下,不开启确定性计算,算子在相同的硬件和输入下,多次执行的结果可能不同。这个差异的来源,一般是因为在算子实现中,存在异步的多线程执行,会导致浮点数累加的顺序变化。当开启确定性计算功能时,算子在相同的硬件和输入下,多次执行将产生相同的输出。 通常建议不开启确定性计算,因为确定性计算往往会导致算子执行变慢,进而影响性能。当发现模型多次执行结果不同,或者是进行精度调优时,可开启确定性计算,辅助模型调试、调优。 参数取值:
配置示例: {ge::ir_option::DETERMINISTIC, "1"} 产品支持情况: |
OPTION_HOST_ENV_OS |
若模型编译环境的操作系统及其架构与模型运行环境不一致时,则需使用本参数设置模型运行环境的操作系统类型。如果不设置,则默认取模型编译环境的操作系统类型。 与OPTION_HOST_ENV_CPU参数配合使用,通过OPTION_HOST_ENV_OS参数设置操作系统类型、通过OPTION_HOST_ENV_CPU参数设置操作系统架构。 参考取值:"linux" 配置示例: {ge::ir_option::OPTION_HOST_ENV_OS, "linux"} {ge::ir_option::OPTION_HOST_ENV_CPU, "x86_64"} 产品支持情况: |
OPTION_HOST_ENV_CPU |
若模型编译环境的操作系统及其架构与模型运行环境不一致时,则需使用本参数设置模型运行环境的操作系统架构。如果不设置,则默认取模型编译环境的操作系统架构。 与OPTION_HOST_ENV_OS参数配合使用。 参考取值:
配置示例: {ge::ir_option::OPTION_HOST_ENV_OS, "linux"} {ge::ir_option::OPTION_HOST_ENV_CPU, "x86_64"}
产品支持情况: |
VIRTUAL_TYPE |
是否支持离线模型在昇腾虚拟化实例特性生成的虚拟设备上运行。 当前芯片算力比较大,云端用户或者小企业完全不需要使用这么大算力,昇腾虚拟化实例特性支持对芯片的算力进行切分,可满足用户根据自己的业务按需申请算力的诉求。 虚拟设备是指按照指定算力在芯片上申请的虚拟加速资源。 参数取值:
配置示例: {ge::ir_option::VIRTUAL_TYPE, "1"} 使用约束:
产品支持情况: |
内存管理
参数 |
说明 |
---|---|
EXEC_DISABLE_REUSED_MEMORY |
内存复用开关。 内存复用是指按照生命周期和内存大小,把不冲突的内存重复使用,来降低网络内存占用。 参数取值:
配置示例: {ge::ir_option::EXEC_DISABLE_REUSED_MEMORY, "0"} 产品支持情况: |
EXTERNAL_WEIGHT |
生成om模型文件时,是否将原始网络中的Const/Constant节点的权重外置,同时将节点类型转换为FileConstant类型。 离线场景,如果模型权重较大且环境对om大小有限制,建议开启外置权重将权重单独保存,来减小om大小。 参数取值:
配置示例: {ge::ir_option::EXTERNAL_WEIGHT, "1"} 使用约束:
产品支持情况: |
动态shape
参数 |
说明 |
---|---|
AC_PARALLEL_ENABLE |
动态shape图中,是否允许AI CPU算子和AI Core算子并行运行。 动态shape图中,开关开启时,系统自动识别图中可以和AI Core并发的AI CPU算子,不同引擎的算子下发到不同流上,实现多引擎间的并行,从而提升资源利用效率和动态shape执行性能。 参数取值:
配置示例: {ge::ir_option::AC_PARALLEL_ENABLE, "1"} 产品支持情况: |
算子编译与图编译
大模型分布式编译切分
功能调试
精度调优
精度比对
性能调优
参数 |
说明 |
---|---|
ENABLE_SMALL_CHANNEL |
是否使能small channel的优化,使能后在channel<=4的卷积层会有性能收益。建议用户在推理场景下打开此开关。 参数取值:
配置示例: {ge::ir_option::ENABLE_SMALL_CHANNEL, "1"} 产品支持情况: |
OPTYPELIST_FOR_IMPLMODE |
设置optype列表中算子的实现模式。 参数值约束:
配置示例: {ge::ir_option::OPTYPELIST_FOR_IMPLMODE, "Pooling,SoftmaxV2"} 产品支持情况: |
TILING_SCHEDULE_OPTIMIZE |
Tiling下沉调度优化开关。 由于NPU中AI Core内部存储无法完全容纳算子输入输出的所有数据,需要每次搬运一部分输入数据进行计算然后搬出,再搬运下一部分输入数据进行计算,该过程称之为Tiling;根据算子的shape等信息来确定数据切分算法相关参数(比如每次搬运的块大小,以及总共循环多少次)的计算程序,称之为Tiling实现。由于Tiling实现中完成的均为标量计算,AI Core并不擅长,故一般在Host侧CPU上执行,但是满足下述条件Tiling实现会下沉到Device侧执行:
参数取值:
配置示例: {ge::ir_option::TILING_SCHEDULE_OPTIMIZE, "1"} 产品支持情况: |
量化压缩
参数 |
说明 |
---|---|
ENABLE_COMPRESS_WEIGHT |
使能全局weight压缩。 AICore支持Weight压缩功能,通过使能该参数,可以对Weight进行数据压缩,在进行算子计算时,对Weight进行解压缩,从而达到减少带宽、提高性能的目的。 该参数使能全局weight压缩,不能与COMPRESS_WEIGHT_CONF同时使用。 参数取值:
配置示例: {ge::ir_option::ENABLE_COMPRESS_WEIGHT, "true"} 产品支持情况: |
COMPRESS_WEIGHT_CONF |
要压缩的node节点列表配置文件路径及文件名,node节点主要为conv算子、fc算子。该参数不能与ENABLE_COMPRESS_WEIGHT参数同时使用。 参数值格式:路径和文件名支持大小写字母、数字,下划线;文件名支持大小写字母、数字,下划线和点(.)。 参数值约束:Weight压缩配置文件由AMCT输出,文件内容即为node名称列表,node名称之间以“;”间隔开。例如,compress_weight_nodes.cfg文件内容为:conv1; fc1; conv2_2/x1; fc2; conv5_32/x2;fc6。 配置示例: {ge::ir_option::COMPRESS_WEIGHT_CONF, "$HOME/module/compress_weight_nodes.cfg"} 产品支持情况: |
SPARSITY |
使能全局稀疏特性。 AMCT(昇腾模型压缩工具)4选2结构化稀疏后输出的模型,可能存在weight连续4个Cin维度元素中至少有2个为0的场景,模型转换时通过使能全局稀疏开关,将该场景下的元素筛选成2个,从而节省后续推理的计算量,提高推理性能。 由于硬件约束,该参数不能与ENABLE_COMPRESS_WEIGHT、COMPRESS_WEIGHT_CONF同时使用。 参数取值:
配置示例: {ge::ir_option::SPARSITY, "1"} 使用约束:使用该参数时,请确保模型是稀疏的模型,建议用户使用AMCT(TensorFlow)或AMCT(PyTorch)的组合压缩功能获取,且组合压缩只能是4选2结构化稀疏+量化感知训练模式。 产品支持情况: |
COMPRESSION_OPTIMIZE_CONF |
压缩优化功能配置文件路径以及文件名,通过该参数使能配置文件中指定的压缩优化特性,从而提升网络性能。例如:/home/test/compression_optimize.cfg。 文件内容配置示例如下: enable_first_layer_quantization:true
产品支持情况: |
试验参数
后续版本废弃配置
参数 |
说明 |
---|---|
OP_SELECT_IMPL_MODE |
昇腾AI处理器部分内置算子有高精度和高性能实现方式,用户可以通过该参数配置模型编译时算子选择哪种实现方式。 高精度是指在float16输入场景,通过泰勒展开/牛顿迭代等手段进一步提升算子的精度;高性能是指在float16输入的情况下,不影响网络精度前提的最优性能实现。 参数取值:
上述实现模式,根据算子的dtype进行区分。${INSTALL_DIR}请替换为CANN软件安装后文件存储路径。若安装的Ascend-cann-toolkit软件包,以root安装举例,则安装后文件存储路径为:/usr/local/Ascend/ascend-toolkit/latest。 参数默认值:high_performance 配置示例: {ge::ir_option::OP_SELECT_IMPL_MODE, "high_performance"} 产品支持情况: |