使用前准备
约束
- 性能数据采集时间建议在5min以内,同时推荐用户设置的内存大小在20G以上(例如容器配置:docker run --memory=20g 容器名)。
- 请确保性能数据保存在不含软链接的当前用户目录下,否则可能引起安全问题。
环境准备
- 请参考环境准备,完成相关环境变量的配置。
- 若要使用MindStudio Insight进行查看时,需要单独安装MindStudio Insight软件包,具体下载链接请参见《MindStudio Insight用户指南》的“安装与卸载”章节。
msprof op simulator配置
- 使用msProf工具进行算子仿真调优之前,需执行如下命令配置环境变量。
export LD_LIBRARY_PATH=$HOME/Ascend/ascend-toolkit/latest/tools/simulator/Ascendxxxyy/lib:$LD_LIBRARY_PATH
请根据CANN软件包实际安装路径和昇腾AI处理器的型号对以上环境变量进行修改。
- 算子代码的编译选项需添加 -g,使能代码调用栈和热点图功能。
- 编辑算子工程op_kernel目录下的CMakeLists.txt文件,可参考创建算子工程。
add_ops_compile_options(ALL OPTIONS -g)
- 编辑样例工程目录下的“cmake/npu/CMakeLists.txt”文件,单击LINK参考核函数开发和运行验证的完整样例。
target_compile_options(${smoke_testcase}_npu PRIVATE -g -O2 -std=c++17 )
- 编辑算子工程op_kernel目录下的CMakeLists.txt文件,可参考创建算子工程。
- 仿真器仅支持单卡场景,如果需要配置设备号(deviceid),需要修改为0。
- 8.0.RC2及后续版本的CANN支持了Atlas A2训练系列产品/Atlas 800I A2推理产品仿真器的配置线程提速以及L2Cache仿真增强,可以参照如下配置进行修改:
- 可以通过配置config_stars.json实现仿真器多线程提速,config_stars.json文件的路径为${INSTALL_DIR}/tools/simulator/Ascendxxxyy/lib/config_stars.json。
{ "stars": { "ffts_mode": 1 }, "model_top": { "sim_type": 0, "num_aic": 24, "num_aiv": 48 }, "pem": { "parsim": 1, "parsim_thd_limit": 24 } }
- 可以通过配置config.json实现L2Cache仿真增强,config.json文件的路径为${INSTALL_DIR}/tools/simulator/Ascendxxxyy/lib/config.json。
{ "L2CACHE": { "cache_enable": 1, "cache_set_size": 24, "cache_way_size": 16384, "cache_line_size": 512, "cache_read_latency": 241, "cache_write_latency": 96 } }
- Atlas A2训练系列产品/Atlas 800I A2推理产品和Atlas 推理系列产品使用msProf工具进行算子仿真调优时,需将config.json文件中的flush_level参数修改为info级,也就是将文件中的flush_level = "3"修改为flush_level = "2"。config.json文件的路径为${INSTALL_DIR}/tools/simulator/Ascendxxxyy/lib/config.json。
- 可以通过配置config_stars.json实现仿真器多线程提速,config_stars.json文件的路径为${INSTALL_DIR}/tools/simulator/Ascendxxxyy/lib/config_stars.json。
父主题: 算子调优(msProf)