AMD HIP プログラミングガイド
AMDのホモジニアスコンピュートインターフェース(HIP)用の包括的な技術マニュアル。このマニュアルは、C++ランタイムAPIおよびカーネル言語を提供し、1つのソースコードからAMDとNVIDIAのGPU向けにポータブルなアプリケーションを開発できるようにします。ガイドでは、インストール、環境設定、プログラミングモデル、メモリ割り当て、そしてCUDAコードをHIPに移行するためのツールについて解説しています。
コース概要
コンテンツ概要
ホモジニアスコンピューティングインターフェース for Portability(HIP)に関する包括的な技術マニュアル。このマニュアルでは、1つのソースコードからAMDおよびNVIDIA GPU向けのポータブルアプリケーションを構築できる、C++ランタイムAPIとカーネル言語を提供している。ガイドには、インストール手順、環境設定、プログラミングモデル、メモリ割り当て、およびCUDAコードからHIPへの移行に必要なツールについて網羅的に記載されている。
ポータブルなGPUプログラミングの習得:AMDとNVIDIAの両プラットフォームで同一のソースを使用。
著者: Advanced Micro Devices, Inc. (AMD)
謝辞: AMD、AMD Arrowロゴ、AMD Instinct、Radeon、ROCmおよびその組み合わせは、Advanced Micro Devices, Inc.の登録商標です。LinuxはLinus Torvaldsの登録商標です。PCIeはPCI-SIG Corporationの登録商標です。
学習目標
- HIPフレームワークの主な機能と価値提案を定義する。
- システムツールを用いてHIP環境にアクセスし照会する方法を示す。
- HIPのポータビリティとそのコンパイラ技術とのアーキテクチャ的関係を説明する。
- NVIDIAおよびAMD環境向けのプラットフォーム固有のインストールを実行する。
- 複数リポジトリのビルドプロセスを調整して、ソースコードからHIPをコンパイルする。
- システム構成および検証ツールを用いて正常なインストールを検証する。
- HIPの割り当て、コヒーレンシ制御、ゼロコピーホストメモリの可視性を用いてGPUメモリを設定・管理する。
- HIP特有の関数/変数修飾子、ベクトル型、同期プリミティブを使用して高性能カーネルを開発する。
- ワープシャッフル、ボート、ボールォット、協調グループ関数を利用して高度な並列アルゴリズムを実装する。
- HIPIFYツールを用いたCUDAコードからHIPへの自動翻訳を行い、プロジェクトのインプレース変換を管理する。