Computer

Performance Analysis Tools

Performance Analysis Tools

2 分钟阅读1000 字

Performance Analysis Tools

在 Linux 性能观测中,Tracing 侧重于捕捉事件的因果顺序与详细流程,而 Profiling 侧重于统计资源的宏观消耗热点。二者相辅相成。

以下工具为工作中接触和使用过的。参考阅读中提供了更多工具和资源,供进一步探索。

内核与系统级工具

  • perf: CPU 硬件计数器采样,perf record -e <tracepoint> 亦可做事件追踪。
  • jemalloc: 内存分配器,支持堆内存剖析与泄漏检测。
  • Intel VTune: 全平台 CPU/GPU 性能剖析器。
  • Valgrind: 内存调试、内存泄漏检测和性能分析工具。
  • AddressSanitizer: Google 开发的快速内存错误检测器。

Python 性能分析

  • memray: Bloomberg 出品的 Python 内存剖析器,支持火焰图与时间线追踪。

PyTorch 性能分析

HPC 性能分析

  • HPCToolkit: HPC 性能分析工具,支持多语言和多平台。
  • Caliper: HPC 性能分析库,支持事件追踪与性能计数器。

MPI 事件追踪器

GPU 性能分析(ROCm / NVIDIA)

AMD ROCm 生态

NVIDIA 生态

  • NVIDIA tools: NVIDIA 官方性能分析工具集合介绍。
  • Nsight Systems: 系统级性能分析工具,支持 CPU/GPU 事件捕捉与时间线分析。
  • Nsight Compute: GPU 内核级性能分析工具,支持 CUDA 内核性能剖析与优化。
  • Compute Sanitizer: CUDA 内核错误检测工具,支持内存错误、数据竞争等问题的分析与调试。
  • Nsight Copilot: 基于 AI 的性能分析助手。
  • CUPTI: CUDA 性能工具接口,提供对 CUDA 应用程序的性能分析和事件追踪功能。
  • NVTX: NVIDIA 运行时追踪库,支持在 CUDA 应用程序中插入自定义事件和范围,以便进行性能分析和调试。

国产 GPU 生态

厂商工具文档链接
海光 DCUhipprofDCU-DTK 文档
燧原科技TopsProf燧原支持中心
寒武纪CNPerf寒武纪文档
华为昇腾msprof / msprof-analyze昇腾社区
昆仑芯XProfilervLLM-Kunlun Pluginxpu_profiler
摩尔线程Moore Perf System摩尔线程 MUSA 工具
沐曦mcTracer/mcProfiler沐曦文档

天数智芯-ixprof瀚博半导体-VAProfiler灵汐科技-LynPA壁仞-suProfiler

芯动科技、登临科技、景嘉微、芯原股份、红山微电子、格兰菲、砺算科技、深流微、芯瞳半导体、象帝先

参考阅读

0%