コース概要

はじめに

  • ROCm とは?
  • HIPとは
  • ROCm vs CUDA vs [2]
  • ROCmとHIPの特徴とアーキテクチャの概要
  • ROCm for WindowsとLinuxのROCmの比較

インストール

  • WindowsへのROCmのインストール
  • インストールの確認とデバイスの互換性の確認
  • Windows版ROCmのアップデートとアンインストール
  • 一般的なインストール問題のトラブルシューティング

はじめに

  • WindowsのVisual Studioコードを使用した新しいROCmプロジェクトの作成
  • プロジェクト構造とファイルの探索
  • プログラムのコンパイルと実行
  • printfとfprintfを使った出力の表示

ROCm API

  • ホストプログラムでの ROCm API の使用
  • デバイス情報と機能のクエリ
  • デバイス・メモリの割り当てと割り当て解除
  • ホストとデバイス間のデータのコピー
  • カーネルの起動とスレッドの同期
  • エラーと例外の処理

HIP言語

  • デバイス・プログラムでのHIP言語の使用
  • 0]上で実行し、データを操作するカーネルの記述
  • データ型、修飾子、演算子、式の使用
  • 組み込み関数、変数、ライブラリの使用

ROCmとHIPメモリ・モデル

  • グローバル、共有、定数、ローカルなど、さまざまなメモリ空間の使用
  • ポインタ、配列、テクスチャ、サーフェスなど、さまざまなメモリ・オブジェクトの使用
  • リードオンリー、ライトオンリー、リードライトなどの異なるメモリアクセスモードの使用
  • メモリ一貫性モデルと同期メカニズムの使用

ROCmとHIP実行モデル

  • スレッド、ブロック、グリッドなどの異なる実行モデルの使用
  • hipThreadIdx_x、hipBlockIdx_x、hipBlockDim_xなどのスレッド関数の使用
  • syncthreads、__threadfence_block などのブロック関数の使用
  • hipGridDim_x、hipGridSync、協調グループなどのグリッド関数の使用

デバッグ

  • Windows 上での ROCm および HIP プログラムのデバッグ
  • 3]コードデバッガを使用した変数、ブレークポイント、コールスタック等の検査
  • ROCm デバッガを使用して AMD デバイス上の ROCm および HIP プログラムをデバッグ
  • ROCm Profiler を使用して AMD デバイス上の ROCm および HIP プログラムを解析

最適化

  • Windows 上での ROCm 及び HIP プログラムの最適化
  • 合体技術によるメモリスループットの向上
  • キャッシュとプリフェッチ技術によるメモリレイテンシの削減
  • 共有メモリとローカルメモリ技術を使用して、メモリアクセスと帯域幅を最適化
  • プロファイリングとプロファイリングツールを使用して、実行時間とリソース使用率を測定し、改善する。

まとめと次のステップ

要求

  • C/C++言語と並列プログラミングの概念の理解
  • コンピュータアーキテクチャとメモリ階層に関する基礎知識
  • コマンドラインツールとコードエディタの使用経験
  • WindowsオペレーティングシステムとPowerShellに精通していること

対象者

  • WindowsにROCmをインストールして使用し、AMD GPUをプログラムし、その並列性を利用する方法を学びたい開発者
  • 異なるAMDデバイス上で実行可能な高性能でスケーラブルなコードを書きたい開発者
  • 1]プログラミングの低レベルの側面を探求し、コードのパフォーマンスを最適化したいプログラマー
 21 時間

参加者の人数



Price per participant

お客様の声 (1)

関連コース

GPU Programming with OpenCL

28 時間

GPU Programming with CUDA

28 時間

GPU Programming - OpenCL vs CUDA vs ROCm

28 時間

AMD GPU Programming

28 時間

Introduction to GPU Programming

21 時間

GPU Programming with OpenACC

28 時間

関連カテゴリー