简介
前提条件
- 安装软件包:准备带有AI处理器的硬件环境,并安装驱动固件和CANN软件包,具体安装步骤请参见《CANN 软件安装》。
- GCC版本:要求9.5.0及以上,建议使用9.5.0版本。
- CMake:要求3.20.0版本及以上,建议使用3.20.0版本。
- 安装mspti,mspti有两种获取方式(开启PGO特性时需要安装该依赖):
- 直接获取编译好的匹配release包,获取链接https://gitcode.com/Ascend/mspti/releases,安装命令如下:
./mindstudio-profiler-tools-interface_{version}_{arch}.run --install --install-path={cann_install_path}--install-path:指定安装路径,需要为上述CANN软件包的安装路径。
- 源码编译:
- 将源码仓clone到本地,命令如下(以使用HTTPS协议为例):
git clone https://gitcode.com/Ascend/mspti.git
- 执行编译,命令如下:
bash script/build.sh
- 替换CANN软件包文件:
编译成功后,将csrc/include头文件目录复制到{cann_install_path}/cann/tools/mspti/include;将build/libmspti.so动态库目录复制到{cann_install_path}/cann/tools/mspti/lib64;cann_install_path需要为上述CANN软件包的安装路径。
- 将源码仓clone到本地,命令如下(以使用HTTPS协议为例):
- 直接获取编译好的匹配release包,获取链接https://gitcode.com/Ascend/mspti/releases,安装命令如下:
- 安装完成后设置环境变量:
安装CANN软件后,使用CANN运行用户进行编译、运行时,需要以CANN运行用户登录环境,执行source ${INSTALL_DIR}/set_env.sh命令设置环境变量。${INSTALL_DIR}请替换为CANN软件安装后文件存储路径。以root用户安装为例,安装后文件默认存储路径为:/usr/local/Ascend/cann。
启用AutoFuse
在TensorFlow图模式流程中,自动融合的开启方式由环境变量控制,包括功能控制与DFX控制,自动融合开箱只需要打开功能控制,DFX控制用于辅助定位或优化。功能控制的环境变量名为AUTOFUSE_FLAGS,DFX控制的环境变量名为AUTOFUSE_DFX_FLAGS,环境变量值以字符串"--key=value"形式配置,每一项不同的key代表一个具体控制点, 多项配置使用英文分号分隔。
自动融合目前支持以下类别算子的融合,具体开启方式如下:
|
融合类型 |
开启方式 |
Auto Tiling求解算法 |
Auto Tiling算法精度 |
融合算子生成时的中间过程文件 |
PGO调优算法 |
|---|---|---|---|---|---|
|
Elemwise |
默认开启 |
默认轴排序算法 |
默认高精度求解 |
默认不保留 |
默认控核算法 |
|
Broadcast |
默认开启 |
默认轴排序算法 |
默认高精度求解 |
默认不保留 |
默认控核算法 |
|
Reduce |
环境变量显式控制 |
默认轴排序算法 |
默认高精度求解 |
默认不保留 |
默认控核算法 |
|
Concat |
环境变量显式控制 |
默认轴排序算法 |
默认高精度求解 |
默认不保留 |
默认控核算法 |
以Reduce和Concat算子为例,开启自动融合功能的配置示例如下:
- 功能控制:
export AUTOFUSE_FLAGS="--enable_autofuse=true;--autofuse_enable_pass=reduce,concat"
- DFX控制:
export AUTOFUSE_DFX_FLAGS="--att_accuracy_level=1;--att_profiling=true"
上述环境变量中每一项的详细解释请参见AUTOFUSE_FLAGS环境变量控制点、AUTOFUSE_DFX_FLAGS环境变量控制点。
支持离线推理静态shape场景开启自动融合功能,方法为:
- 设置环境变量,开启自动融合功能,比如:
export AUTOFUSE_FLAGS="--enable_autofuse=true"
- 模型加载与推理
关于GE图引擎接口使用方法请参见“编译Graph为离线模型 ”。