使用前准备
约束
- 性能数据采集时间建议在5min以内,同时推荐用户设置的内存大小在20G以上(例如容器配置:docker run --memory=20g 容器名)。
- 请确保性能数据保存在不含软链接的当前用户目录下,否则可能引起安全问题。
环境准备
- 请参考环境准备,完成相关环境变量的配置。
- 若要使用MindStudio Insight进行查看时,需要单独安装MindStudio Insight软件包,具体下载链接请参见《MindStudio Insight 用户指南》的“安装与卸载”章节。
msprof op simulator配置
msProf工具的仿真功能需要运行在0卡上。若修改可见卡号,则会导致仿真失败。
- msProf工具使用--config模式进行算子仿真调优之前,需执行如下命令配置环境变量。
export LD_LIBRARY_PATH=${INSTALL_DIR}/tools/simulator/Ascendxxxyy/lib:$LD_LIBRARY_PATH
请根据CANN软件包实际安装路径和昇腾AI处理器的型号对以上环境变量进行修改。
- 编译选项需添加 -g,使能算子代码热点图和代码调用栈功能。
- 添加 -g 编译选项会在生成的二进制文件中附带调试信息,建议限制带有调试信息的用户程序的访问权限,确保只有授权人员可以访问该二进制文件。
- 若不使用llvm-symbolizer组件提供的相关功能,输入msProf的程序编译时不包含-g即可,msProf工具则不会调用llvm-symbolizer组件的相关功能。
- 编辑算子工程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 )
- 仿真器仅支持单卡场景。
- 使用msProf工具对PyTorch脚本的算子进行仿真调优时,不支持Python内置的print函数打印device侧上的变量和值。
- 8.0.RC2及后续版本的CANN支持了Atlas A2训练系列产品/Atlas 800I A2推理产品仿真器的配置线程提速以及L2Cache仿真增强,可以参照如下配置进行修改:
- 可以通过配置Ascendxxxyy_model.toml实现仿真器多线程提速,Ascendxxxyy_model.toml文件的路径为${INSTALL_DIR}/tools/simulator/Ascendxxxyy/lib/Ascendxxxyy_model.toml。
[pem] # Ascendxxxyy cfg default_pem_cfg = "./pem_config_cloud.toml" default_pv_cfg = "./ Ascendxxxyy _pv.toml" parinit = 1 parsim = 1 parsim_thd_limit = 24 parsim_mode = 0 lazy_init = 0 pv_acc_mode = 0
- 可以通过配置pem_config_cloud.toml实现L2Cache仿真增强,pem_config_cloud.toml文件的路径为${INSTALL_DIR}/tools/simulator/Ascendxxxyy/lib/pem_config_cloud.toml。
[L2CACHE] cache_enable = 1 cache_set_size = 24 cache_way_size = 16384 cache_line_size = 512 cache_read_latency = 241 cache_write_latency = 96
- 可以通过配置Ascendxxxyy_model.toml实现仿真器多线程提速,Ascendxxxyy_model.toml文件的路径为${INSTALL_DIR}/tools/simulator/Ascendxxxyy/lib/Ascendxxxyy_model.toml。
- Atlas 推理系列产品使用msProf工具进行算子仿真调优时,需将davinci_mini.spec和davinci_vec_core.spec文件中的flush_level参数修改为info级,也就是将文件中的flush_level = "3"修改为flush_level = "2"。davinci_mini.spec和davinci_vec_core.spec文件的路径为${INSTALL_DIR}/tools/simulator/Ascendxxxyy/lib/ davinci_mini.spec和${INSTALL_DIR}/tools/simulator/Ascendxxxyy/lib/davinci_vec_core.spec。
父主题: msProf