CUDA Academy · レッスン

Nsight Systemsのタイムライン表示

空き時間、コピー、オーバーラップを確認します。

レッスン 1/413 ステップ

「Nsight Systemsのタイムライン表示」はCoddyKit上の無料CUDA Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCUDA Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 CUDA Academyコースには全4レッスンが含まれています。

Nsight Systems の紹介

Nsight Systemsは、全体を見渡せるプロファイラです。プログラム全体のタイムラインを表示し、GPU がアイドル状態になっている場所を見つけられます。🔭

タイムラインを使う理由

タイムラインでは、すべての操作が時間軸に沿って配置されます。何がいつ実行され、それぞれにどれだけ時間がかかったのかを、並べてすぐに確認できます。

トレースの取得

コマンドラインでnsysを使って実行を記録します。GPU と CPU の活動が1つのレポートに収集され、後から開いて確認できます。

nsys profile -o report ./my_cuda_app

表示される行

各行は、CPU スレッド、CUDA API 呼び出し、カーネル、メモリコピーといった活動のストリームを表します。これらを一緒に読むことで、処理全体の流れが分かります。

空白を見つける

GPU の行にある空白はギャップ、つまり GPU が何もしていなかった時間です。ギャップは、何かが待機していることを示す最大の手がかりです。⏳

コピーとカーネルの比較

タイムラインでは、メモリコピーとカーネルが別々のレーンに表示されます。コピーが大半を占めているなら、実際のコストはデータ移動にあります。

オーバーラップの確認

コピーとカーネルが同時に実行されると、異なるストリーム上のバーがオーバーラップします。オーバーラップは良い状態です。GPU が稼働し続けているからです。

拡大して実態を見る

全体表示では詳細が隠れるため、遅い領域を拡大します。近くで見ると、1つのカーネルやコピーにかかった時間を正確に測定できます。

ホバーして数値を確認する

任意のバーにカーソルを合わせると、正確な実行時間と名前が表示されます。これにより、漠然とした遅さの感覚を、対策に使える具体的な数値へ変えられます。

CPU の停止も影響する

GPU が待機する原因は、CPUが処理の準備で忙しいこともあります。タイムラインを使えば、このホスト側の停止も同じように明確に確認できます。

カーネル単位ではなくシステム全体

Nsight Systems は、アプリ全体で時間がどこに費やされているかを明らかにします。カーネル単位の詳しい分析には、別のツールを使います。

クイックチェック

GPU の行に、長い空白が表示されています。

まとめ

Nsight Systems では、タイムライン上のギャップ、コピー、カーネル、オーバーラップを一目で確認できます。まずここから始めて、実際に時間が費やされている場所を見つけてください。👏

無料で開始

AI チューターと学ぶ C++ — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「Nsight Systemsのタイムライン表示」レッスンは無料ですか?

はい。「Nsight Systemsのタイムライン表示」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、CUDA Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 CUDA Academyコースには全4レッスンが含まれています。

「Nsight Systemsのタイムライン表示」で何を学びますか?

空き時間、コピー、オーバーラップを確認します。 ブラウザで直接実行するハンズオンコードでCUDA Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

CUDA Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCUDA Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「Nsight Systemsのタイムライン表示」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCUDA Academyレッスンでコードを書いて実行できますか?

はい。すべてのCUDA Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Nsight Systemsのタイムライン表示
  2. Nsight Computeのカーネルメトリクス
  3. 計算バウンドとメモリバウンド
  4. NVTXでコードに注釈を付ける
← CUDA Academyに戻る