お問い合わせ

コース概要

はじめに

  • 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プログラミングの低レベルな仕組みを学び、自らのコード性能を向上させたいプログラマー。
 21 時間

参加者の人数


参加者1人あたりの価格

今後のコース

関連カテゴリー