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 確認整體效能改善情況