Overview of stdgpu features and design philosophy
masterstdgpu is a lightweight C++17 library providing generic GPU data structures designed for fast and reliable data management. Unlike libraries that focus primarily on algorithms (like Thrust or ArrayFire), stdgpu focuses on providing STL-like containers that enable the development of flexible GPU algorithms.
Key Features
- Multi-backend support: Works with CUDA, OpenMP, and HIP (experimental).
- Dual-level API:
- High-level, agnostic functions: e.g.,
insert(begin, end)for writing shared C++ code across different backends. - Low-level, native functions: e.g.,
find(key)for writing custom CUDA kernels.
- High-level, agnostic functions: e.g.,
- Interoperability: Compatible with thrust GPU algorithms.
- Minimal dependencies: Lightweight C++17 implementation.