ハイパフォーマンス コンピューティング、データ サイエンス、生命情報科学、ディープラーニングにおいて大量の計算処理能力を必要とする CUDA® C++ アプリケーションは、複数の GPU を利用することで高速化できます。これにより、スループットが向上し、総実行時間が短縮されます。計算とメモリ転送の同時オーバーラップと組み合わせることで、メモリ転送のコストを増やすことなく、複数の GPU をまたいで計算をスケールできます。クラウド内でも、NVIDIA DGX システム上でも、マルチ GPU サーバーを使用している組織の場合、これらの技術によって GPU 対応アプリケーションから、最高のパフォーマンスを達成することができます。また、複数のノードにまたがるアプリケーションをスケールする前に、これらのシングルノード、マルチGPU 技術を実装することが重要です。

このワークショップでは、シングル ノードで利用できるすべての GPU を効率的かつ正しく活用する CUDA C++ アプリケーションの記述方法を取り上げます。アプリケーションのパフォーマンスが劇的に上がり、複数の GPU を持つシステムから最大限の費用対効果を得ることができます。

 

学習目標


このワークショップでは、次のことを行います。
  • 同時 CUDA ストリームを使用し、メモリ転送と GPU 計算をオーバーラップさせる
  • シングル ノードで利用できるすべての GPU を活用し、利用できるすべての GPU をまたいでワークロードをスケールする
  • コピー/計算オーバーラップの使用を複数の GPU と組み合わせる
  • NVIDIA Nsight Systems Visual Profiler タイムラインを利用し、改善機会と、ワークショップで取り上げる手法の影響を観察する

ワークショップ データシートをダウンロードする (PDF 243 KB)

ワークショップの概要

序論
(15 分)
  • インストラクターの紹介。
  • courses.nvidia.com/join でアカウントを作成する
JupyterLab の使用
(15 分)
  • GPU で高速化するインタラクティブ JupyterLab 環境に慣れる。
アプリケーション概要
(15 分)
  • コースの出発点となるシングル GPU CUDA C++ アプリケーションに慣れる。
  • Nsight Systems を利用し、シングル GPU CUDA C++ アプリケーションの現在のパフォーマンスを観察する。
CUDA Streams 入門
(90 分)
  • 同時 CUDA ストリームの動作を制御するルールを知る。
  • 複数の CUDA ストリームを使用し、ホストからデバイスへの同時メモリ転送とデバイスからホストへの同時メモリ転送を実行する。
  • GPU カーネルを起動する目的で複数の CUDA ストリームを活用する。
  • Nsight Systems Visual Profiler タイムライン ビューで複数のストリームを観察する。
休憩 (60 分)
CUDA Streams によるコピー/計算オーバーラップ
(90 分)
  • コピー/計算オーバーラップを効果的に実行するための主要な概念を知る。
  • アプリケーションでコピー/計算オーバーラップを柔軟に使用するための堅牢なインデックス作成方針を学習する。
  • シングル GPU CUDA C++ アプリケーションをリファクタリングし、コピー/計算オーバーラップを実行する。
  • Nsight Systems Visual Profiler タイムラインでコピー/計算オーバーラップを確認する。
CUDA C++ によるマルチ GPU
(60 分)
  • CUDA C++ を利用し、シングル ノード上で複数の GPU を効果的に使用するための主要な概念を知る。
  • アプリケーションで複数の GPU を柔軟に使用するための堅牢なインデックス作成方針を学習する。
  • シングル GPU CUDA C++ アプリケーションをリファクタリングし、複数の GPU を使用する。
  • Nsight Systems Visual Profiler タイムラインでマルチ GPU の利用状況を確認する。
休憩 (15 分)
マルチ GPU によるコピー/計算オーバーラップ
(60 分)
  • マルチ GPU でコピー/計算オーバーラップを効果的に実行するための主要な概念を知る。
  • マルチ GPU でコピー/計算オーバーラップを柔軟に使用するための堅牢なインデックス作成方針を学習する。
  • シングル GPU CUDA C++ アプリケーションをリファクタリングし、マルチ GPU でコピー/計算オーバーラップを実行する。
  • マルチ GPU でコピー/計算オーバーラップのパフォーマンス面での長所を観察する。
  • Nsight Systems Visual Profiler タイムラインでマルチ GPU のコピー/計算オーバーラップを確認する。
コース評価 (30 分)
最終確認 休憩
(30 分)
  • 主な学習内容をおさらいする。
  • DLI ベース環境コンテナーから独自のトレーニング環境を構築する方法を学習する。
  • ワークショップ アンケートに回答する。
 

ワークショップの詳細

時間: 8 時間

価格: 価格についてはお問い合わせください

参加条件:

  • nvcc コンパイラ、カーネル起動、grid-stride ループ、ホストからデバイスへのメモリ転送、デバイスからホストへのメモリ転送、CUDA エラー処理など、プロフェッショナルとして CUDA C/C++ アプリケーションをプログラミングした経験
  • Linux コマンド ラインの知識
  • makefile で C/C++ コマンドをコンパイルした経験

前提条件を満たすためのおすすめリソース: CUDA C/C++ によるアクセラレーテッド コンピューティングの基礎初心者のための Ubuntu コマンド ライン (セクション 1 ~ 5)、Makefile チュートリアル (Simple Examples セクションまで)

テクノロジ: CUDA C++、Nsight Systems

証明書: 評価の正常完了後、NVIDIA DLI 証明書が参加者に贈られます。これは内容領域の能力を証明するものであり、プロフェッショナルとしてのキャリア育成を助けます。

ハードウェア要件: 最新版の Chrome または Firefox を実行できるデスクトップ コンピューターまたはノート PC。参加者は全員、完全に設定が終わっている状態でクラウドに置かれている GPU 対応サーバーに専用アクセスできます。

言語: 英語、中国語 (簡体字)

Upcoming Workshops

お客様の組織が、AI、アクセラレーテッド データ サイエンス、アクセラレーテッド コンピューティングの主要なスキルの向上と開発にご興味をお持ちの場合、NVIDIA Deep Learning Institute (DLI) にインストラクターによるワークショップをリクエストしていただけます。

NVIDIA に問い合わせる