参见《CANN软件安装指南》 进行开发环境搭建,并确保开发套件包Ascend-cann-toolkit安装完成。该场景下ATC工具安装在“Ascend-cann-toolkit安装目录/ascend-toolkit/latest/bin”下。
若算子实现时用户引入了TBE模块外的其他Python依赖,请自行添加PYTHONPATH的环境变量,配置引入的Python依赖所在路径,如下所示:
export PYTHONPATH=xxxx:$PYTHONPATH
. /usr/local/Ascend/ascend-toolkit/set_env.sh #若开发套件包Ascend-cann-toolkit在非昇腾设备上安装,则如下环境变量必须执行,用于设置动态链接库所在路径,否则无需执行 export LD_LIBRARY_PATH=/usr/local/Ascend/ascend-toolkit/latest/<arch>-linux/devlib:$LD_LIBRARY_PATH
. ${HOME}/Ascend/ascend-toolkit/set_env.sh #若开发套件包Ascend-cann-toolkit在非昇腾设备上安装,则如下环境变量必须执行,用于设置动态链接库所在路径,否则无需执行 export LD_LIBRARY_PATH=${HOME}/Ascend/ascend-toolkit/latest/<arch>-linux/devlib:$LD_LIBRARY_PATH
<arch>请替换为操作系统具体架构。
上述环境变量只在当前窗口生效,用户可以将上述命令写入~/.bashrc文件,使其永久生效,方法如下:
调试日志场景,由于--log默认值为null,即不输出日志,若上述路径存在日志信息,则为atc进程之外的其他日志信息,比如依赖Python相关信息;若想要日志体现atc进程相关信息,则--log设置为除null以外的其他取值。
pid代表进程ID,“*”表示该日志文件创建时的时间戳。
关于日志的更多信息请参见《日志参考》。若设置上述环境变量后,仍旧未打屏有效信息,则请在atc命令设置--log参数(不能设置为null)显示相应的日志级别。
如果不想日志落盘,而是重定向到文件,则模型转换前需要设置上述的日志打屏环境变量,并且atc命令需要设置--log参数(不能设置为null),样例如下:
atc xxx --log=debug >log.txt
export TE_PARALLEL_COMPILER=xx
TE_PARALLEL_COMPILER的值代表算子编译进程数(配置为整数),取值范围为1~32,默认值为8,当取值大于1时开启算子的并行编译功能。建议不超过:CPU核数*80%/昇腾AI处理器个数。
export DUMP_GE_GRAPH=1
上述环境变量控制dump图的内容多少:
设置上述环境变量后,还可以设置如下环境变量,控制dump图的个数。
export DUMP_GRAPH_LEVEL=1
设置上述变量后,在执行atc命令的当前路径会生成如下文件:
上述每个文件对应模型编译过程中的一个步骤,比如以ge_onnx_00000001_graph_0_PreRunBegin.pbtxt开始,以ge_onnx_00000078_graph_0_PreRunAfterBuild.pbtxt结尾。每个文件中包括完成该步骤所涉及的所有算子,关于dump图的详细信息请参见dump图详细信息。