kpet/clvk
Implementation of OpenCL 3.0 on Vulkan
解決的問題
clvk 提供符合 OpenCL 3.0 標準的實作,讓 OpenCL 應用程式能在任何支援 Vulkan 的硬體上執行。這有效彌補了 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 加載器無縫搭配使用。
相關
- 專案
- 專案
- 專案
- 專案
- 專案