お問い合わせを送信いただきありがとうございます!当社のスタッフがすぐにご連絡いたします。
予約を送信いただきありがとうございます!当社のスタッフがすぐにご連絡いたします。
期間 21 時間
コース概要
はじめに
- ROCmとは何か?
- HIPとは何か?
- ROCm、CUDAおよびOpenCLの比較について
- ROCmとHIPの特徴およびアーキテクチャ概要
- Windows用ROCmとLinux用ROCmの違い
インストール手順
- Windows上でのROCm導入方法
- 導入状況確認およびデバイスの互換性検証
- Windows環境下でのROCmの更新・アンインストール手順
- 一般的なインストールトラブルの解決法
基本操作の習得
- Visual Studio Codeを用いたWindows上での新規ROCmプロジェクト作成方法
- プロジェクト構成およびファイル管理について学ぶ
- コンパイルから実行までの流れを体験する
- printfやfprintfにより結果出力を行う方法
ROCm APIの活用
- ホスト側プログラムでのAPI利用法
- デバイス情報および機能特性の照会手法
- メモリ領域の確保・解放方法
- ホストとデバイスの間でのデータ転送方法
- カーネル起動処理やスレッド同期化の実装例
- エラーおよび例外事象への対処法
HIP言語の使い方
- デバイス側プログラムにおけるHIP記述手法
- GPU上で実行可能なカーネルコード作成およびデータ操作方法
- データ型や演算子、式に関する基本的なルール
- 組み込み関数・変数・ライブラリの使い方
メモリモデルの概要
- グローバル・共有・定数・ローカルといった各種メモリスペースの適用例
- ポインタや配列、テクスチャ等の記憶領域制御方法
- 読み込み専用/書き込み専用などのアクセス形態の管理手法
- メモリ整合性モデルおよび同期化機構の活用方法
実行モデルの仕組みパ>
- スレッド・ブロック・グリッドといった基本構成要素の使い方
- hipThreadIdx_xやhipBlockIdx_x、hipBlockDim_xなどのスレッド関数利用法
- __syncthreadsや__threadfence_blockなどのブロック関数活用例
- hipGridDim_xや協調グループ機構などのグリッド単位の操作法
デバッグ技術
- Windows環境下でのROCmおよびHIPプログラムのデバッグ手法
- Visual Studio Codeデバッガーによる変数検査やブレークポイント設定方法
- AMDデバイス向けに利用可能なROCmデバッガーの使い方
- AMDデバイス上でのプログラム動作を分析するためのROCmプロファイラー使用方法
性能最適化策
- Windows環境下で開発したログラムの高速化手法
- コアレス化によるメモリ帯域の有効活用方法
- キャッシュやプリフェッチングによる遅延低減手段
- 共有/ローカルメモリを活用したデータ処理効率向上手法
- プロファイラーツールを用いた実行時間短縮およびリソース配分改善方法
まとめと今後の取り組み方向性
要求
- C/C++言語および並列プログラミングに関する基礎知識が必要。
- コンピュータアーキテクチャとメモリ階層についての理解があること。
- コマンドラインツールやコードエディタの使用経験があること。
- WindowsオペレーティングシステムおよびPowerShellに慣れていること。
対象者
- Windows上でROCmを導入しAMD GPU向けのプログラミングを行いたい開発者。
- 多様なAMDデバイス上で実行可能な高速かつ拡張性に富むコードを作成したい開発者。
- GPUプログラミングの低レベルな仕組みを学び、自らのコード性能を向上させたいプログラマー。