kpet/clvk
Implementation of OpenCL 3.0 on Vulkan
何を解決するか
clvk は OpenCL 3.0 標準の適合実装を提供し、Vulkan をサポートするすべてのハードウェア上で OpenCL アプリケーションを実行できるようにします。これにより、OpenCL フレームワークと Vulkan ベースの GPU の間のギャップが埋められ、コンピューティングワークロードのためのより広範なハードウェア互換性が実現されます。
動作方法
clvk は翻訳レイヤーとして機能します。clspv コンパイラを使用して OpenCL カーネルを SPIR-V にコンパイルし、Vulkan で使用されるバイナリ形式に変換します。その後、OpenCL API 呼び出しを対応する Vulkan コマンドにマッピングして、GPU 上でこれらのカーネルを実行します。
対象ユーザー
- ネイティブ OpenCL ドライバが不足または不十分なプラットフォームで OpenCL ベースのソフトウェアを実行したい 開発者。
- Android や Raspberry Pi など、Vulkan サポートが OpenCL よりも一般的なプラットフォームをターゲットとする システム統合者。
主な特徴
- OpenCL 3.0 に適合: 標準を実装することで、幅広いアプリケーションとの互換性を確保します。
- クロスプラットフォーム対応: Linux、macOS、Windows、Android でビルド可能です。
- パフォーマンスチューニング: コマンドのバッチ処理やグループ化をカスタマイズ可能で、レイテンシーやスループットを最適化できます。
- 観測性: Perfetto トレースとグローバルなタイミング情報の統合サポートにより、パフォーマンス分析が可能になります。
- ICDローダー対応:
cl_khr_icd拡張機能と互換性があり、OpenCL ICD ローダーとスムーズに連携できます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト