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-examplesA collection of examples and tutorials for the ROCm platform, providing code for HIP runtime functionality, GPU-accelerated applications, and AI model execution.
- プロジェクト
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アクセラレーションを統合できるようにします。
- プロジェクト