使用前准备
了解使用约束
- 权限约束
- 用户须自行保证使用最小权限原则(如禁止other用户可写,常见如禁止666、777)。
- 使用性能分析工具前请确保执行用户的umask值大于等于0027,否则会导致获取的性能数据所在目录和文件权限过大。
- 请确保性能数据保存在不含软链接的当前用户目录下,否则可能引起安全问题。
- 执行约束
- 不支持在同一个Device同时拉起多个采集任务。
- 不建议性能数据的采集功能与Dump功能同时使用。Dump操作会影响系统性能,如果同时开启采集功能与Dump功能,会造成采集的性能数据指标不准确,启动采集前请关闭数据Dump。
- 数据落盘约束
- 性能数据采集时间建议在5min以内,并且预留至少20倍于性能原始数据大小的内存和磁盘空间。原始数据大小指采集落盘后的data目录下数据总大小。
- 执行单个采集任务采集性能数据并落盘时,在打开所有采集项的情况下,需要保证磁盘读写速度,具体规格如下:
- 仅使用单Device进行推理时,磁盘读写速度不低于50MB/s。
- 仅使用单个Device进行训练时,磁盘读写速度不低于60MB/s。
- 多个Device场景下,磁盘读写速度不低于:单个Device磁盘读写速度规格 * Device数。
- 采集性能数据过程中如果配置的落盘路径磁盘空间已满,会出现性能数据无法落盘情况,须保证足够的磁盘空间。落盘的性能原始数据可以通过配置--storage-limit参数来预防磁盘空间被占满。对于
Atlas 200/300/500 推理产品 ,落盘的性能原始数据需要用户自行清理。 - 解析性能数据过程中如果配置的落盘路径磁盘或用户目录空间已满,会出现解析失败或文件无法落盘的情况,须自行清理磁盘或用户目录空间。
- 兼容性和场景约束
- 工具要求Python3.7.5及以上版本。
- 应用工程开发务必遵循《AscendCL应用软件开发指南(C&C++) 》手册,调用aclInit()接口完成AscendCL初始化和调用aclFinalize()接口完成AscendCL去初始化,才能获取到完整的性能数据。
如果应用程序已调用aclInit()接口而未调用aclFinalize()接口导致工具采集流程未正常结束,采集数据会不完整。最后1秒内已采集的数据可能因未及时落盘而丢失,但丢失的数据不大于2M,不影响已落盘的性能数据分析。
- 使用pyACL API开发的应用工程在通过msprof命令行方式采集性能数据时,不支持在工程Python脚本中打开相对路径文件。Python脚本中包含打开相对路径文件的操作会导致采集性能数据报错。
- 昇腾虚拟化实例场景,支持的性能数据采集开关请参见昇腾虚拟化实例场景性能数据采集开关支持情况。
环境准备
- 请参见《CANN软件安装指南》根据实际环境安装CANN相关软件包。
Ascend EP场景下msprof工具路径为:${INSTALL_DIR}/tools/profiler/bin,${INSTALL_DIR}请替换为CANN软件安装后文件存储路径。若安装的Ascend-cann-toolkit软件包,以root安装举例,则安装后文件存储路径为:/usr/local/Ascend/ascend-toolkit/latest。
Ascend RC场景下msprof工具路径为:/var
如果运行环境仅安装了Ascend-cann-nnae深度学习引擎包或Ascend-cann-nnrt离线推理引擎包,则需要使用AscendCL C&C++接口采集性能数据,然后将采集后的结果上传到安装Ascend-cann-toolkit开发套件包的开发环境,并参考解析并导出性能数据执行解析和导出操作。
- 设置公共环境变量。
安装CANN软件后,使用CANN运行用户进行编译、运行时,需要以CANN运行用户登录环境,执行source ${install_path}/set_env.sh命令设置环境变量。其中${install_path}为CANN软件的安装目录,例如:/usr/local/Ascend/ascend-toolkit。
- 设置Python相关环境变量。存在多个Python3版本时,以指定python3.7.5为例,请根据实际修改。
export PATH=/usr/local/python3.7.5/bin:$PATH #设置python3.7.5库文件路径 export LD_LIBRARY_PATH=/usr/local/python3.7.5/lib:$LD_LIBRARY_PATH

上述环境变量只在当前窗口生效,用户可以将上述命令写入~/.bashrc文件,使其永久生效,操作如下:
- 以安装用户在任意目录下执行vi ~/.bashrc,在该文件最后添加上述内容。
- 执行:wq!命令保存文件并退出。
- 执行source ~/.bashrc使环境变量生效。