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風格容器:包含 vectorunordered_mapunordered_setdequequeuestackbitset
  • 多後端支援:相容CUDA、OpenMP與HIP。
  • 相容性:可與Thrust GPU演算法協同運作。
  • 最小依賴:設計為輕量級函式庫,開銷極小。

相關

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