CNugteren/CLBlast
Tuned OpenCL BLAS
解決的問題
CLBlast 為 OpenCL 裝置提供高效率的基本線性代數子程序(BLAS)實作。它解決了在多樣化硬體(包括不同廠商的 GPU、嵌入式加速器與 CPU)上,實現向量與矩陣運算最大計算效率的問題,且無需被鎖定於單一廠商的專有生態系(如 CUDA)中。
工作原理
此函式庫以 C++11 編寫,實作可在 OpenCL 裝置緩衝區上運作的標準 BLAS 函式。採用可調校的架構,允許使用者執行特定的調校工具,以針對其特定硬體設定或矩陣大小優化核心,若開箱即用的效能不足時。支援 C 與 C++ API,並提供半精度(fp16)資料類型支援,以提升效能。
適用對象
專為需要在非 NVIDIA 硬體上進行高效能線性代數運算的開發者設計,或偏好開源、跨平台函式庫,而非 cuBLAS 等專有替代方案的開發者。尤其適用於目標為 Intel CPU/GPU、嵌入式裝置或特殊 OpenCL 硬體的開發者。
主要特色
- 跨廠商支援:可在桌面/筆電 GPU、嵌入式 GPU 及其他 OpenCL 相容加速器上運作。
- 可調校效能:提供工具以針對特定硬體與設定優化核心。
- 彈性 API:提供 C 與 C++ API,設計上與 Netlib BLAS 及 clBLAS 兼容。
- 半精度支援:利用 fp16 資料類型以提升速度。
相關
- 專案
- 專案
- 專案
- 專案