stotko/stdgpu
stdgpu: Efficient STL-like Data Structures on the GPU
何を解決するか
ほとんどのGPUライブラリは連続したデータ上で動作する高速なアルゴリズムの実装に焦点を当てています。stdgpuは、GPU上で柔軟で汎用的なデータ管理が不足している問題を解決し、CPU上で行うのと同様に、より複雑で柔軟なGPUアルゴリズムを構築できるSTL風のコンテナ群を提供します。
動作方法
これは軽量なC++17ライブラリで、CUDA、OpenMP、およびHIP(実験的)など複数のバックエンド上で汎用GPUデータ構造を実装しています。2つのレベルのインタラクションを提供します:
- バックエンド非依存関数:
insertのような高レベル関数で、共有可能なC++コードを可能にします。 - ネイティブ関数:
findのような低レベル関数で、カスタムCUDAカーネル内で使用することを目的としています。
対象ユーザー
シンプルな配列を超えた信頼性の高いデータ構造が必要な、高性能GPUコードを書く開発者。特にカスタムカーネルを構築している人や、Thrustのようなフレームワークを使用している人。
特徴
- STL風コンテナ:
vector、unordered_map、unordered_set、deque、queue、stack、bitsetを含む。 - マルチバックエンド対応:CUDA、OpenMP、HIPと互換性があります。
- 相互運用性:Thrust GPUアルゴリズムと連携可能。
- 最小限の依存:軽量なライブラリとして設計され、最小限のオーバーヘッドです。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト