コース概要

概要

  • ROCmとは?
  • HIPとは?
  • ROCm vs CUDA vs OpenCL
  • ROCmとHIPの特徴とアーキテクチャの概要
  • ROCm for Windows vs ROCm for Linux

インストール

  • WindowsでROCmをインストールする。
  • インストールの確認とデバイス互換性のチェック。
  • WindowsでROCmを更新またはアンインストールする。
  • 一般的なインストール問題のトラブルシューティング。

開始

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

ROCm API

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

HIP言語

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

ROCmとHIPメモリモデル

  • グローバル、共有、定数、ローカルなどの異なるメモリスペースの使用。
  • ポインタ、配列、テクスチャ、サーフェイスなどの異なるメモリオブジェクトの使用。
  • 読み取り専用、書き込み専用、読み書き可能など異なるメモリアクセスモードの使用。
  • メモリの一貫性モデルと同期メカニズムの使用。

ROCmとHIP実行モデル

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

デバッグ

  • WindowsでROCmとHIPプログラムをデバッグする。
  • 変数、ブレークポイント、コールスタックなどを検査するためにVisual Studio Codeデバッガーを使用する。
  • AMDデバイスでのROCmとHIPプログラムのデバッグのためにROCmデバッガーを使用する。
  • AMDデバイスでのROCmとHIPプログラムの分析のためにROCmプロファイラを使用する。

最適化

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

まとめと次なるステップ

要求

  • C/C++言語と並列プログラミング概念の理解。
  • コンピュータアーキテクチャとメモリ階層の基本的な知識。
  • コマンドラインツールとコードエディタの使用経験。
  • WindowsオペレーティングシステムとPowerShellに馴染みがあること。

対象者

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

参加者の人数


参加者1人あたりの価格

今後のコース

関連カテゴリー