ROCm/hip
HIP: C++ Heterogeneous-Compute Interface for Portability
何を解決するか
異なるハードウェアベンダー間でのGPUアクセラレーション用の統一されたプログラミングインターフェースの欠如という問題に対処します。特に、既存のNVIDIA CUDAコードをAMD GPU上で実行できるように移行するプロセスを簡素化し、開発者の作業負荷を軽減し、ハードウェアに縛られない環境を実現します。
動作方法
HIPは、NVIDIA CUDAプログラミングインターフェースを模倣するC++ランタイムAPIとカーネル言語を提供します。類似した構文とAPIを提供することで、開発者は異なるGPUアーキテクチャ間でポータブルなコードを記述できます。
対象ユーザー
ポータブルなGPUアクセラレーテッドアプリケーションを開発したい開発者、または既存のCUDAベースのソフトウェアをAMDハードウェアに移行したい開発者。
主な特徴
- AMD GPU専用のC++ランタイムAPIとカーネル言語。
- ポータビリティを意識して設計されており、AMDおよびNVIDIAの両方のハードウェアで実行可能。
- NVIDIA CUDAと高い互換性を備えており、移行が容易。
関連
- プロジェクト
ROCm/rocm-examplesROCm と HIP 用のコード例とチュートリアルのコレクションで、ユーザーがアプリケーションを高速化し、CUDA コードを AMD GPU に移植できるように支援します。
- プロジェクト
ROCm/HIPIFYHIPIFYは、CUDA C++コードを移植性の高いHIPコードに自動的に翻訳するコマンドラインツール(主に`hipify-clang`)を提供し、同じソースコードをAMDおよびNVIDIA GPUで実行できるようにします。また、サポートされているCUDAからHIPへのAPIマッピングのMarkdownまたはCSVドキュメントを生成することも可能です。
- プロジェクト
AdaptiveCpp/AdaptiveCppCPU および主要ベンダー(Intel、NVIDIA、AMD、Apple)の GPU を対象とする、C++ 異種プログラミングのコミュニティ主導のプラットフォームです。単一のバイナリで複数のハードウェア上で実行可能です。
- プロジェクト
kunzmi/managedCudaNVIDIAのCUDA Driver APIおよびライブラリ用の.NETラッパーで、C#およびVisual Basic開発者がアプリケーションにGPUアクセラレーションを統合できるようにします。
- プロジェクト
ROCm/legacy-rocm-buildROCm / legacy‑rocm‑build は、AMDのオープンソースGPUコンピューティングスタック(ドライバ、HIPランタイム、数学ライブラリ、プロファイリングツールなど)を構成する(現在非推奨の)リポジトリです。開発者はAMD GPU上でAI/MLワークロードを実行できます。このリポジトリは、インストールガイドや新しいTheRockモノレポへの移行を案内しています。