TecoProfiler

TecoProfiler插件可以用鼠标和快捷键,设置算子程序性能分析起始和终止位置,TecoProfiler插件提供了可视化的分析结果,可以帮助用户更直观地了解程序的性能状况。
Windows/Mac端环境部署
- 打开Visual Studio Code工具,点击工具左侧的**扩展(Ctrl+Shift+X)**按钮
- 在应用商城中搜索Remote - SSH扩展,点击安装,此时,先别尝试连接远程服务器
远程服务器端环境部署
- 在服务器端的
~/.bashrc 文件里增加source /opt/tecoai/tecocc/tecoccenv ,保存退出后执行source ~/.bashrc
- 根据Remote - SSH操作介绍,连接远程服务器(如果在未配置tecoccenv之前连接vscode,会导致vscode不能识别tecocc编译器,解决办法:删掉远程服务器~目录下的.vscode-server文件夹,tecoccenv配置成功后,重新连接远程服务器)
- 在远程服务器端,执行
rm -rf ~/.vscode-server ,删除原因是VSCode缓存了连接到远程服务器时使用的环境变量,删除.vscode-server 目录后,再连接到远程服务器 ,会重新加载所有设置和配置信息,从而解决vscode环境里识别不到tecocc问题
- 在应用商城中搜索CMake Tools和TecoProfiler扩展,点击安装
- 安装时需注意,不要安装在本地,选择已连接的远程服务器安装

操作步骤
- 连接远程服务器
- 打开工作目录,已tecoal项目为例,打开后需要在工作目录下找到CMakeLists.txt文件,在
set(CMAKE_CXX_COMPILER "tecocc") 后面追加下面语句,为了支持快捷键插桩后编译产生perf数据
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/data.json)
add_compile_options(-perf-mock)
endif()

- 通过
TecoProfiler Create Project 命令或者左侧的创建新工程 按钮,可以创建新工程
- 通过
TecoProfiler Switch Mark Flag 或者TecoProfiler Mark 命令或者开启连续插桩 按钮,进行插桩
- 通过
TecoProfiler Build+Perf 命令或者工程编译 && 性能数据可视化展示 按钮,进行一键编译
- 如果遇到不能插桩情况,请找到【文件】->【首选项】->【设置】,将【允许在任何文件中设置断点】设置为勾选状态
- 在对swcu文件进行插桩时,需要加上
#include <sdaa_runtime.h> 和#include <sdaa_perf.h> 两个头文件,否则,perf数据会收集不到,甚至会影响编译

TecoProfiler插件命令说明
TecoProfiler Create Project : 创建工程命令,在VS Code工具中,按F1,输入该关键字会有匹配的关键字,点击后根据提示进行工程创建(使用创建工程命令前,须指定工作目录,且该工作目录没有CMakeLists.txt文件,保证该工作目录干净)
TecoProfiler Mark : 按F1使用该命令,可以在编辑器窗口鼠标停留位置进行插桩动作,插桩动作只触发一次
TecoProfiler Switch Mark Flag 按F1使用该命令,可以在编辑器窗口连续插桩,插桩须成队(start和end)出现,按F1再次使用该命令关闭连续插桩
TecoProfiler Edit 鼠标停留在插桩start/end位置(停留在区间无效),按F1使用该命令,可以修改当前插桩参数
TecoProfiler Delete 鼠标停留在插桩start/end位置(停留在区间无效),按F1使用该命令,删除当前插桩队
TecoProfiler Delete All Mark 按F1使用该命令,可以删除所有插桩队
TecoProfiler modify init parameters 按F1使用该命令,可以对插桩初始化参数进行配置
TecoProfiler Build+Perf : TecoProfiler一键编译命令,按F1使用该命令,会进行程序编译并有Perf数据产生(有插桩队才会产生perf数据,无插桩队,无perf数据生成)
| |