# NVIDIA Nsight Systems [[NVIDIA]] が提供するプロファイリングツール群のうち、Nsight Systems(`nsys`)はCPUスレッド・GPUカーネル・OSイベント・I/Oを含むシステム全体のタイムラインを統合表示し、Nsight Compute(`ncu`)は個別カーネルのハードウェアメトリクス(占有率・メモリ帯域・SM利用率)を収集してルーフライン分析を行う。両ツールともNVTXマーカーとCUPTI(CUDA Profiling Tools Interface)を介してNVTX区間へGPUの実行時間を「投影(project)」する仕組みを持ち、Python/CPUホスト側で計装したNVTX区間(`train_step`・`forward`・`backward`・`optimizer_step`など)に対して、非同期に実行されるGPUカーネルの実行時間を対応づける。(Source: [[@2025__OReilly__AI Systems Performance Engineering - Chapter 13 Profiling, Tuning, and Scaling PyTorch]], §System Profiling with Nsight Systems and NVTX Timelines) Nsight Systemsは`nsys profile --stats=true -t cuda,nvtx`のようなCLIでプロファイルを取得し、`nsys stats --report=nvtx_gpu_proj_sum`(または`nsys recipe`)でNVTX GPU Projection Summaryを生成することで、CIパイプラインでの性能回帰検知にも利用できる。マルチGPU/マルチノード構成では、NVLinkやInfiniBand/Ethernetの利用状況、GPU間同期の負荷不均衡を可視化する用途でも使われる。Nsight Computeは`ncu --kernel-name-regex "matmul" --metrics ...`のように特定カーネル名を対象にメトリクスを収集し、GEMMカーネルが「メモリバウンド」か「コンピュートバウンド」かを判定するルーフライン分析に使う。第13章の例では、ベースラインGEMM(50%ピークFLOPS・70%ピークメモリ帯域・60%SM占有率、メモリバウンド)が、カーネルフュージョンと演算強度向上の最適化後に85%ピークFLOPS・40%ピークメモリ帯域・80%SM占有率(コンピュートバウンド)へ移行したことを確認するのに使われている。(Source: [[@2025__OReilly__AI Systems Performance Engineering - Chapter 13 Profiling, Tuning, and Scaling PyTorch]], §Kernel Roofline Analysis for General Matrix Multiply (GEMM)) ## 関連 - ソース: [[@2025__OReilly__AI Systems Performance Engineering - Chapter 13 Profiling, Tuning, and Scaling PyTorch]] - エンティティ: [[NVIDIA]] / [[PyTorch]] - 概念: [[GPU最適化]] ## 出典 - [[@2025__OReilly__AI Systems Performance Engineering - Chapter 13 Profiling, Tuning, and Scaling PyTorch]](NVTX計装、Nsight SystemsによるNVTX GPU Projection Summary、Nsight ComputeによるGEMMルーフライン分析)