現行のハイパフォーマンス コンピューティング (HPC) アプリケーションとディープラーニング アプリケーションは、クラスター規模の GPU 計算処理能力の恩恵を受けており、また、それを必要にすることもあります。クラスター全体で GPU を適切かつ効率的に活用できる CUDA® アプリケーションを記述するには、一連の特別なスキルが必要です。このワークショップでは、NVIDIA GPU クラスターに効率的に拡張できる CUDA C++ アプリケーションを記述するためのツールと手法について学習します。 

具体的には講座の中で、複数の NVIDIA GPU でバックアップするインタラクティブ クラウド環境で、複数の CUDA C++ アプリケーションからのコードを操作します。CUDA 対応の Message Passing Interface (MPI) など、マルチ GPU プログラミング手法にいくつか触れ、その後、本コースの主役である NVSHMEM™ に進みます。

NVSHMEM は、CUDA C++ を基盤とし、NVIDIA GPU クラスターに効率的でスケーラブルな通信を提供する並列プログラミング インターフェイスです。NVSHMEM は、マルチ GPU からなるメモリを橋渡しするデータのグローバル アドレス スペースを作成するものであり、GPU で始動する細かな操作、CPU で始動する操作、CUDA ストリーム上の操作でアクセスできます。NVSHMEM の GPU で始動する非同期データ転送によって、CPU と GPU の間の同期で余計な負荷がなくなります。通信と計算の両方を含め、カーネルを長時間実行できます。大規模な拡張時、アプリケーションのパフォーマンスを制限しうる余計な負荷を減らします。NVSHMEM は、Oak Ridge Leadership Computing Facility (OLCF) の Summit スーパーコンピューター、Lawrence Livermore National Laboratory の Sierra スーパーコンピューター、NVIDIA DGX™ A100 などのシステムで利用されています。

 

学習目標
 

本ワークショップの内容:
  • マルチ GPU CUDA C++ アプリケーションを記述するための方法をいくつか学習する
  • さまざまなマルチ GPU 通信パターンを使用し、その兼ね合いを理解する
  • CUDA 対応 MPI と NVSHMEM を利用し、SPMD (Single-Program Multiple-Data) パラダイムで移植性と拡張性に優れた CUDA コードを記述する
  • NVSHMEM の対称メモリ モデルと、GPU でデータ転送を始動する機能でマルチ GPU SPMD コードを改善する
  • 領域分割や Halo Exchange など、一般的なマルチ GPU コーディング パラダイムで練習する

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

ワークショップの概要

はじめに
(15 分)
  • 講師紹介
  • コンテナーによるハイパフォーマンス コンピューティング
  • CUDA の知識を活かして Python を学びたい CUDA C++ プログラマーのための Thank You For Your Submission<\/span><\/h3>\r\n"); })(NVIDIAGDC);

    Contact Us for Questions on
    Deep Learning Training