コース一覧へ戻る
AI022 プロフェッショナル

AMD HIP プログラミングガイド

AMDのホモジニアスコンピュートインターフェース(HIP)用の包括的な技術マニュアル。このマニュアルは、C++ランタイムAPIおよびカーネル言語を提供し、1つのソースコードからAMDとNVIDIAのGPU向けにポータブルなアプリケーションを開発できるようにします。ガイドでは、インストール、環境設定、プログラミングモデル、メモリ割り当て、そしてCUDAコードをHIPに移行するためのツールについて解説しています。

4.9
12.0h
841 受講者
4 lessons
0 いいね
人工知能
学習を開始

コース概要

📚 コンテンツ概要

ホモジニアスコンピューティングインターフェース 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の登録商標です。

🎯 学習目標

  1. HIPフレームワークの主な機能と価値提案を定義する。
  2. システムツールを用いてHIP環境にアクセスし照会する方法を示す。
  3. HIPのポータビリティとそのコンパイラ技術とのアーキテクチャ的関係を説明する。
  4. NVIDIAおよびAMD環境向けのプラットフォーム固有のインストールを実行する。
  5. 複数リポジトリのビルドプロセスを調整して、ソースコードからHIPをコンパイルする。
  6. システム構成および検証ツールを用いて正常なインストールを検証する。
  7. HIPの割り当て、コヒーレンシ制御、ゼロコピーホストメモリの可視性を用いてGPUメモリを設定・管理する。
  8. HIP特有の関数/変数修飾子、ベクトル型、同期プリミティブを使用して高性能カーネルを開発する。
  9. ワープシャッフル、ボート、ボールォット、協調グループ関数を利用して高度な並列アルゴリズムを実装する。
  10. HIPIFYツールを用いたCUDAコードからHIPへの自動翻訳を行い、プロジェクトのインプレース変換を管理する。

レッスン

Lesson

This lesson introduces the multi-vendor dilemma in high-performance computing, where hardware heterogeneity and proprietary APIs create software fragmentation and maintenance debt. Students will learn how the HIP framework addresses these challenges by enabling performance portability and simplifying the transition between different GPU architectures.

This lesson covers the installation and configuration of the Heterogeneous-compute Interface for Portability (HIP) environment, focusing on the single-source paradigm for cross-platform GPU development. Students will learn how to manage environment variables like CUDA_PATH and HIP_PATH to enable the hipcc compiler to route code effectively across NVIDIA and AMD hardware architectures.

AI022: HIP Programming Model and API Deep Dive (Lesson 3) explores the architectural foundations of the HIP ecosystem, focusing on the ROCm stack, hardware discovery, and the porting workflow from CUDA to AMD architectures. Students will learn to utilize the hipify-perl and hipcc toolchains, manage low-level HSA runtime initialization, and implement effective memory mapping for GPU resource orchestration.

This lesson explores the Heterogeneous-compute Interface for Portability (HIP), a C++ runtime API designed to enable cross-platform GPU development by abstracting hardware layers for both NVIDIA and AMD systems. Students will learn how to configure the HIP environment, utilize the hipcc compiler, and apply functional mappings to migrate legacy CUDA applications to a unified, portable codebase.