GPU profiling tool

NVIDIA Nsight Systems

系統層級的效能分析工具
主要用於分析整個應用程式的執行狀況

可以觀察 CPU 執行時間、GPU 活動、記憶體操作、API 呼叫等整體系統行為
用來:

  • 找出程式的效能瓶頸位置
  • 分析 CPU 和 GPU 工作負載的分配情況
  • 觀察系統資源使用狀況
  • 檢視 CUDA API 呼叫的時序

提供時間軸視圖,可以直觀地看到各種事件的發生順序和持續時間

官方教學文件

以下兩者都是用該 tool 執行 .py script 產生 log 檔後再由分析工具 CLI 或是 GUI tool 開啟 log 進行分析

NVIDIA Nsight Compute:

CUDA kernel 層級的效能分析工具
專注於分析單一 CUDA kernel 的執行細節
提供非常詳細的 GPU 硬體計數器資訊和效能指標
用來:

  • 分析特定 CUDA kernel 的效能瓶頸
  • 檢視記憶體存取模式
  • 評估 SM (Streaming Multiprocessor) 使用效率
  • 分析指令執行效率

提供豐富的效能指標和建議,協助最佳化 kernel 程式碼

官方教學文件


實際使用上的情境 :

  • 先使用 Nsight Systems 找出應用程式中的主要效能瓶頸
  • 確認需要優化的 CUDA kernel 後,使用 Nsight Compute 進行深入分析
  • 根據 Nsight Compute 的分析結果進行最佳化
  • 最後再使用 Nsight Systems 確認整體效能改善情況