stotko/stdgpu
stdgpu: Efficient STL-like Data Structures on the GPU
解決的問題
大多數GPU函式庫專注於實現在連續資料上運作的快速演算法。stdgpu透過提供一組STL風格的容器,解決了GPU上缺乏彈性且通用的資料管理問題,讓開發者能像在CPU上一樣,建構更複雜且彈性的GPU演算法。
如何運作
這是一個輕量級的C++17函式庫,可在多個後端(包括CUDA、OpenMP與HIP,實驗性)上實現通用GPU資料結構。它提供兩個層級的互動方式:
- 後端無關函數:高階函數(如
insert),支援共享C++程式碼。 - 原生函數:低階函數(如
find),專為在自訂CUDA內核中使用而設計。
適用對象
需要超越簡單陣列的可靠資料結構之高性能GPU程式開發者,特別是建構自訂內核或使用Thrust等框架的開發者。
主要特色
- STL風格容器:包含
vector、unordered_map、unordered_set、deque、queue、stack與bitset。 - 多後端支援:相容CUDA、OpenMP與HIP。
- 相容性:可與Thrust GPU演算法協同運作。
- 最小依賴:設計為輕量級函式庫,開銷極小。
相關
- 專案
- 專案
- 專案
- 專案