AdaptiveCpp/AdaptiveCpp
Compiler for multiple programming models (SYCL, C++ standard parallelism, HIP/CUDA) for CPUs and GPUs from all vendors: The independent, community-driven compiler for C++-based heterogeneous programming models. Lets applications adapt themselves to all the hardware in the system - even at runtime!
何を解決するか
AdaptiveCpp は、C++ を基盤とする異種プログラミングの統一プラットフォームを提供し、開発者が Intel、NVIDIA、AMD、Apple などの主要ベンダーの CPU および GPU で動作するコードを記述できるようにします。各特定のハードウェアターゲット用にアプリケーションを再書き換えする必要がなく、ベンダー固有のロックインを回避できます。単一のバイナリで複数のハードウェアタイプを同時にターゲットにできます。
動作方法
AdaptiveCpp は、柔軟な SYCL 実装、C++ 標準並列化(オフロード並列 STL アルゴリズム)の実験的サポート、および PCUDA(ポータブル CUDA)を実装しています。PCUDA により、CUDA/HIP コードをさまざまなバックエンドにコンパイルできます。デフォルトの処理フローとして強力な LLVM JIT コンパイラを使用しており、唯一、ホストおよびデバイスコンパイルの両方でソースコードを一度だけ解析する SYCL コンパイラです。
対象ユーザー
高性能計算(HPC)および異種システムで作業する開発者や研究者向けです。スーパーコンピュータを含む多様なハードウェア環境でアプリケーションを実行する必要がある方々に最適です。
特徴
- マルチベンダー対応:Intel、NVIDIA、AMD、Apple の CPU および GPU をターゲットにします。
- ワンパスコンパイル:ホストおよびデバイスの両方でソースコードを一度だけ解析する独自の SYCL コンパイラを備えています。
- クロスプラットフォームバイナリ:すべての対応デバイスにオフロード可能な単一のバイナリを生成できる機能があります。
- ベンダーツール互換性:既存のベンダー提供のプロファイラーおよびデバッガーと互換性があります。
- C++ 標準並列化:NVIDIA、AMD、Intel GPU のすべてで C++ 標準並列化のパフォーマンスを実証できる唯一のソリューションです。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト