TecoHotSpots

TecoHotSpots插件可以用鼠标和快捷键,设置算子程序性能分析起始和终止位置,TecoHotSpots插件提供了可视化的分析结果,可以帮助用户更直观地了解程序的性能状况。
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和TecoHotSpots扩展,点击安装
- 安装时需注意,不要安装在本地,选择已连接的远程服务器安装

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

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

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