编译套件
闭源工具¶
Intel¶
弃用的工具
Intel Trace Analyzer and Collector 和 Amplifier 是已经弃用的工具。
VTune Profiler¶
AMD¶
AOCC AOCL¶
与 Intel 相同,AMD 也提供了一组优化的编译器和工具链(AOCC)以及一些优化的库(AOCL)。按照官方文档使用即可。
AOCC 基于 Clang,没有别名:
AOCL 可以用于替代 BLAS、LAPACK 等库。AOCL 包含了所有子库,各子库也可以单独安装。
uProf¶
# Hotspots with callstack collection
AMDuProfCLI collect --config hotspots -g -o <output-dir> -- <application>
除了最泛用的 hotspots,还支持并行分析(MPI、OpenMP 等)、微架构分析(如 IPC、Cache 等)。
远程调试:
- 在本地启动
AMDuProf
GUI 获取 client ID。 -
在远端启动服务:
-
通过 GUI 连接。
NVIDIA¶
弃用的工具
nvprof 和 NVIDIA Visual Profiler 是已经弃用的工具。
nvhpc¶
Nsight Systems¶
Quote
对 CPU 应用的分析并不详细,只有占用情况、栈帧和系统运行时库的调用信息,不能识别热点。对 GPU 的分析又不如 Nsight Compute。
Nsight Compute¶
华为¶
开源工具¶
POP¶
参考资料
Performance Optimisation and Productivity(POP)是欧洲的一个 HPC 项目,开发了一系列性能监测和优化工具。该项目通过组合多个工具,提供了一个完整的性能分析工作流。
Extrae + Paraver¶
- Extrae:编译、注入
- Paraver:分析、可视化
Score-P + Scalasca + Cube¶
- Score-P:编译、注入
- [Scalasca]:运行、跟踪
- Cube:分析、可视化
export CC="scorep mpicc" CXX="scorep nvc++" MPIF77="scorep mpifort" ...
scalasca -analyze mpiexec ...
scalasca -examine -s <dir>
在 CMake 中使用时,应当使用 scorep-wrapper
创建编译器别名:
使用记录
- NVIDIA 套件(
nvcc
等)参数匹配问题严重,不建议使用。