kokkos/kokkos-kernels
Kokkos C++ Performance Portability Programming Ecosystem: Math Kernels - Provides BLAS, Sparse BLAS and Graph Kernels
解決的問題
Kokkos Kernels 提供一組高效率、可移植的線性代數與圖形運算數學內核。它解決了撰寫複雜計算內核(例如稀疏矩陣乘法)的問題,這些內核可在不同硬體架構上高效執行,而無需為每個特定裝置重寫程式碼。
工作原理
基於 Kokkos 共享記憶體平行程式設計模型建構,該函式庫實作「本地」計算內核——亦即在單一 MPI 進程內或完全不使用 MPI 的情況下運作。它將公開介面與內部實作分離,允許對模板參數進行完全特化。此方法透過針對特定資料類型預先編譯內核,減少建置時間並提升編譯器最佳化效果。
適用對象
專為並行線性代數函式庫(如 Tpetra)的開發者,或需要在共享記憶體系統上進行高效能數學運算的應用開發者所設計。
主要特色
- 線性代數支援:包含內積、範數、AXPY 類型的向量更新,以及稀疏矩陣-向量/矩陣-矩陣乘法。
- 圖形運算:提供圖形著色與著色高斯-賽德爾演算法的內核。
- 效能可移植性:利用 Kokkos 確保程式碼在各種硬體後端上高效執行。
- 彈性整合:可作為獨立函式庫使用,也可作為更大平行框架的建構模組。
相關
- 專案
- 專案
- 專案
- 專案
- 專案