a2flo/floor
A C++ Compute/Graphics Library and Toolchain enabling same-source CUDA/Host/Metal/OpenCL/Vulkan C++ programming and execution.
解決的問題
透過提供統一的 API 和設備語言,消除為不同硬體加速器撰寫獨立程式碼的需求。這讓開發者能撰寫單一的 C++ 源碼,可在 CUDA、Metal、OpenCL、Vulkan 及主機 CPU 等多種後端上執行。
運作方式
本專案由統一的計算與圖形主機 API 和專用的 C++ 設備語言組成。為實現跨平台相容性,使用修改過的 clang/LLVM/libc++ 14.0 工具鏈。該函式庫提供可在主機與設備上共用的數學與 constexpr 工具函式,並針對支援的硬體提供特定的後端實作。
適用對象
需要在多個 GPU 與 CPU 架構上部署高效能核心,但又不願維護多個程式碼庫版本的系統程式員與圖形/計算工程師。
主要特色
- 跨後端支援:支援 CUDA、主機、Metal、OpenCL 與 Vulkan 的單源程式設計。
- 統一語言:使用修改過的 LLVM 工具鏈提供一致的設備語言。
- 廣泛計算覆蓋:所有支援的後端目前皆提供計算能力。
- 圖形整合:專為 Metal 與 Vulkan 提供圖形支援。
相關
- 專案
- 專案
- 專案
- 專案
- 專案