环境变量列表
本手册描述开发者基于CANN构建AI应用和业务过程中可使用的环境变量。
安装配置相关
|
环境变量 |
简介 |
|---|---|
|
若开发者期望编译运行过程中产生的文件落盘到归一路径,可通过此环境变量设置共享文件的存储路径,各组件编译运行过程中产生的可共享文件会存储到此环境变量定义的路径中。 |
|
|
若开发者期望编译运行过程中产生的文件落盘到归一路径,可通过此环境变量设置单机独享文件的存储路径,各组件编译运行过程中产生的单机独享文件会存储到此环境变量定义的路径中。 |
|
|
用户自定义算子包安装路径。开发者编译生成的自定义算子包需要安装到指定路径下时,需要配置该路径。 |
图编译
|
环境变量 |
简介 |
|---|---|
|
把整个流程中各个阶段的图描述信息打印到文件中,此环境变量控制dump图的内容多少。 |
|
|
把整个图编译流程中各个阶段的图描述信息打印到文件中。 |
|
|
控制需要生成的dump文件类型。 |
|
|
指定DUMP图文件的保存路径,可配置为绝对路径或脚本执行目录的相对路径。 |
|
|
计算图在昇腾平台编译的过程中默认采用内存复用形式,在问题定位场景中,如果开发者怀疑是内存复用错误导致计算结果异常,可通过此环境变量指定为某算子单独分配内存。 |
|
|
单算子JSON文件转换成离线模型场景,如果希望模型转换时只使用TBE算子(不查找AI CPU算子,找不到TBE算子则报错),则需要使用该环境变量。 |
|
|
此环境变量用于指定图编译时可用的CPU核数。 |
|
|
此环境变量用于控制模型转换时是否使用单线程编译。 |
|
|
TensorFlow训练场景下,计算图编译失败时默认会终止训练流程,不会继续向Device下发剩余的图。若开发者希望图编译失败时,不终止训练流程,允许TF Adapter持续向Device下发计算图,可通过设置该环境变量实现。 |
算子编译
|
环境变量 |
简介 |
|---|---|
|
网络模型较大时,可通过配置此环境变量开启算子的并行编译功能。 |
|
|
启用算子编译缓存功能时,可通过此环境变量限制某个AI处理器下缓存文件夹的磁盘空间的大小。 |
|
|
启用算子编译缓存功能时,当编译缓存空间大小达到ASCEND_MAX_OP_CACHE_SIZE而需要删除旧的kernel文件时,系统需要保留缓存的空间大小比例,默认为50,单位为百分比。 |
|
|
算子入图时,跳过算子原型交付件校验的开关。交付件包括shape推导等算子入图适配函数的实现。 |
资源配置
|
环境变量 |
简介 |
|---|---|
|
指定当前进程所用的AI处理器的逻辑ID。 |
|
|
指定哪些Device对当前进程可见,支持一次指定一个或多个Device ID。通过该环境变量,可实现不修改应用程序即可调整所用Device的功能。 |
|
|
控制系统是否允许算子搬移数据不经过L2 Cache的功能。 |
|
|
用于设置配置异构资源描述信息文件的存储路径。 |
算子执行
|
环境变量 |
简介 |
|---|---|
|
此环境变量用于配置aclnn API在Host侧缓存的算子信息条目个数。缓存的算子信息包含workspace大小、算子计算的执行器、Tiling信息等。 |
图执行
|
环境变量 |
简介 |
|---|---|
|
计算图执行时,开启多流并发执行功能在一定场景下可提升网络性能。当前多流并发执行功能默认关闭,动态shape图模式场景下,若开发者想开启多流并发执行功能,可通过此环境变量开启。 |
|
|
训练与在线推理场景下,针对动态shape图模式执行的网络,可通过设置此环境变量开启图执行器(Host侧)的多线程任务调度。 |
TFAdapter
|
环境变量 |
简介 |
|---|---|
|
TensorFlow训练与在线推理场景下,可通过此环境变量自定义任务ID。 |
|
|
TensorFlow 1.15训练场景下,如果输入是动态shape,由于tf.case/tf.cond/tf.while_loop这些API对应TensorFlow V1版本的控制流算子(例如Switch、Merge、Enter、LoopCond、NextIteration、Exit、ControlTrigger等)不支持动态shape,仅TensorFlow V2版本的控制流算子(例如If、Case、While、For、PartitionedCall等)支持动态shape,因此,如果用户的训练脚本中使用了这些API,需要将V1版本的控制流算子转换为V2版本,用于支持动态shape功能。另外,如果网络中的分支结构较多,采用V1版本的控制流算子可能导致流数超限,此时也需要将V1版本的控制流算子转换成V2版本算子解决。 |
|
|
针对TensorFlow 1.15网络,是否启用HF32自动代替FP32数据类型的功能,当前版本此环境变量仅针对Conv类算子与Matmul类算子生效。 |
|
|
TensorFlow 2.6.5训练与在线推理场景下,用于开启TF Adapter的Debug级别执行日志。 |
|
|
TensorFlow 2.6.5训练与在线推理场景下,用于开启TF Adapter图Dump功能。 |
|
|
TensorFlow 2.6.5训练与在线推理场景下,用于开启TF Adapter图耗时打印功能。 |
|
|
TensorFlow 2.6.5训练与在线推理场景下,用于设置NPU上循环下沉的次数。 |
|
|
TensorFlow 1.15训练场景下,若通过“experimental_accelerate_train_mode”参数或者“accelerate_train_mode”参数触发了训练加速功能,可通过此环境变量设置NPU上当前的执行步数。 |
|
|
TensorFlow 1.15训练场景下,若通过“experimental_accelerate_train_mode”参数或者“accelerate_train_mode”参数触发了训练加速功能,可通过此环境变量设置NPU上总训练步数。 |
|
|
TensorFlow 1.15训练场景下,若通过“experimental_accelerate_train_mode”参数或者“accelerate_train_mode”参数触发了训练加速功能,可通过此环境变量设置NPU上当前迭代的loss值。 |
|
|
TensorFlow 1.15训练场景下,若通过“experimental_accelerate_train_mode”参数或者“accelerate_train_mode”参数触发了训练加速功能,可通过此环境变量设置NPU上的目标训练loss值。 |
|
|
TensorFlow分布式训练或推理场景下,通过此环境变量指定参与集合通信的AI处理器的rank table资源配置文件,包含rank table文件路径和文件名。 |
|
|
TensorFlow分布式训练或推理场景下,通过此环境变量指定当前进程在集合通信进程组中对应的rank标识。 |
|
|
TensorFlow分布式训练或推理场景下,通过此环境变量指定当前训练进程对应的Device数量。 |
|
|
TensorFlow分布式训练场景下,用户可以选择不使用rank table文件,通过组合使用环境变量的方式自动生成资源信息,完成集合通信初始化。 本环境变量用于配置Master节点的监听Host IP。 |
|
|
本环境变量用于配置Master节点的监听端口。 |
|
|
本环境变量用于指定Master节点中统计Server端集群信息的Device逻辑ID。 |
|
|
本环境变量用于配置本次业务通信域Device的数量。 |
|
|
本环境变量用于配置当前Device和Master节点进行信息交换时所用的网卡IP。 |
集合通信
AOE调优
|
环境变量 |
简介 |
|---|---|
|
可通过此环境变量指定调优后自定义知识库的存储路径。 |
|
|
是否重新发起调优,此环境变量在开启子图调优或算子调优的场景下生效。 |
|
|
在线推理与训练场景下,可通过此环境变量指定AOE调优模式。 |
AMCT模型压缩
|
环境变量 |
简介 |
|---|---|
|
控制日志文件(PyTorch框架:amct_pytorch.log;Caffe框架:amct_caffe.log;ONNX:amct_onnx.log)的信息级别以及生成精度仿真模型时,对应量化层生成的日志文件信息级别。 |
|
|
控制屏幕输出的信息级别。该环境变量仅适用于PyTorch框架、Caffe框架、ONNX网络模型的量化。 |
|
|
控制是否生成权重和数据的量化因子。该环境变量仅适用于MindSpore框架的模型压缩。 |
|
|
控制训练后量化过程中日志落盘等信息的环境变量。该环境变量仅适用于调用aclgrphCalibration接口进行的量化。 |
性能数据采集
|
环境变量 |
简介 |
|---|---|
|
该环境变量用于控制是否开启Profiling功能。 |
|
|
训练或在线推理场景下,开发者可通过PROFILING_OPTIONS环境变量配置Profiling配置选项。 |
日志
|
环境变量 |
简介 |
|---|---|
|
设置日志落盘路径。 |
|
|
是否开启日志打印。开启后,日志将不会保存在log文件中,而是将产生的日志直接打印显示。 |
|
|
设置应用类日志的日志级别及各模块日志级别,仅支持调试日志。 |
|
|
设置应用类日志的各模块日志级别,仅支持调试日志。 |
|
|
设置应用类日志是否开启Event日志。 |
|
|
指定Device侧应用类日志回传到Host侧的延时时间。 |
|
|
|
|
|
设置trace处理的core dump信号量。 |
|
|
指定日志拥塞处理方式。 |
|
|
设置trace日志文件的老化规格,取值范围[10, 1000]。 |
故障信息收集
|
环境变量 |
简介 |
|---|---|
|
在复现问题场景下,使用该环境变量指定故障信息(包括dump图、AI Core算子异常数据、算子编译信息等)的保存路径,可配置为绝对路径或相对路径(此处是相对执行程序或命令的路径),执行用户需对该路径具有读、写、可执行权限,若路径不存在,系统会自动创建该路径中的目录。 |
|
|
在复现问题场景时,使用该环境变量开启异常算子Dump,导出异常算子的输入输出数据、workspace信息和Tiling信息。 |
|
|
指定异常算子Dump信息的存储路径,可配置为绝对路径或执行程序的相对路径。指定的路径支持大小写字母(a-z,A-Z)、数字(0-9)、下划线(_)、中划线(-)、句点(.)、中文字符,执行用户需具有读、写、执行权限,若路径不存在,系统会自动创建该路径中的目录。不指定路径时,异常算子Dump信息默认存放在应用程序的当前执行目录。 |
后续版本废弃环境变量
|
环境变量 |
简介 |
|---|---|
|
此环境变量用于配置网络运行时使用的内存分配方式。 |
|
|
图编译时,通过设置该环境变量,可以决定在图执行时是否调用算子注册的host执行函数来实现host执行逻辑及kernel下发。 |