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 資料類型以提升速度。

相關

  • 專案
  • 專案
  • 專案
  • 專案