お問い合わせ

コース概要

GPUコンピューティングとCUDAアーキテクチャ

  • CPUとGPUのアーキテクチャの違い
  • NVIDIA GPU ストリーミングマルチプロセッサモデル
  • CUDAプログラミングモデル概要
  • ヘテロジェナスコンピューティングおよびホスト-デバイスパラダイム

CUDA開発環境のセットアップ

  • CUDAツールキット13.xのインストール
  • NVCCコンパイラおよびビルドワークフロー
  • デバイス照会による環境の確認
  • IDE統合および開発ツール

CUDAカーネルの作成と起動

  • カーネル関数の構文および修飾子
  • 起動設定と実行
  • ベクトル足し算と基本的なデータ並列パターン
  • CUDAエラーチェックマクロ

CUDAスレッド階層と実行モデル

  • グリッド、ブロック、スレッドの構成
  • スレッドインデックスおよびグローバルIDの計算
  • ワープの実行およびSIMTモデル
  • オーカパンシィおよびリソース利用率

GPUメモリアーキテクチャと管理

  • メモリの種類:グローバル、シャード、コンスタント、レジスタ
  • デバイスメモリの確保と解放
  • ホストからデバイスへ、およびデバイスからホストへの転送
  • ブロック内協調のための共有メモリ

ユニファイドメモリとデータ移行

  • ユニファイドメモリモデルおよびマネージドアロケーション
  • ページ移行およびオンデマンド paging
  • cudaMemPrefetchAsyncを用いた非同期プリフェッチ
  • アクセスパターンに応じたメモリアドバイスヒント

Nsight Systemsによるシステムワイドプロファイリング

  • Nsight Systemsのタイムライン分析
  • CPU-GPU同期ポイントの特定
  • カーネル実行およびメモリ転送の可視化
  • システムレベルのパフォーマンスデータの解釈

Nsight Computeによるカーネル最適化

  • Nsight Computeインタラクティブカーネルプロファイリング
  • メモリスループットおよび帯域幅の分析
  • 計算利用率およびワープ状態統計
  • ガイダンス付き分析および最適化ルール

同時実行ストリームと非同期操作

  • CUDAストリームおよびデフォルトストリーム
  • データ転送とのオーバーラップによるカーネル実行
  • ストリームの同期およびCUDAイベント
  • マルチストリームパイプライン設計パターン

エラーハンドリングとデバッグツール

  • CUDA APIのエラーコードおよび回復戦略
  • メモリアクセスチェック用のCompute-sanitizer
  • カーネルデバッグ用のcuda-gdb
  • アサートおよび同期エラー検出

プロファイリング駆動型最適化ワークフロー

  • 反復的プロファイリング手法
  • ボトルネックの特定と優先順位付け
  • パフォーマンス回帰テスト
  • 最適化決定の文書化

エンドツーエンドのアクセラレーションアプリケーションプロジェクト

  • 完全なGPU加速ソリューションの設計
  • 開発全体でのプロファイリングの統合
  • パフォーマンスベンチマークおよびレポート
  • 本番環境へのデプロイメントに関する考慮事項

要求

  • 変数型、ループ、条件分岐、関数、配列操作を含む基本的なC/C++プログラミングの知識
  • コマンドラインからのプログラムコンパイルおよび実行への習熟
  • GPUまたはCUDAプログラミングの事前経験は不要

対象者

  • GPUを用いてC/C++アプリケーションを高速化したいソフトウェア開発者およびエンジニア
  • CPU専用からヘテロジェnousコンピューティングへ移行したい科学研究者およびHPC実務者
  • 本番環境でのワークロードに対するGPU加速を検討している技術リーダー
 8 時間

参加者の人数


参加者1人あたりの価格

今後のコース

関連カテゴリー