stdgpu: Efficient STL-like Data Structures on the GPU
This release of stdgpu introduces a new experimental HIP backend adding support for AMD GPUs, significant improvements to the API documentation as well as many new code examples, the integration of clang-tidy and cppcheck in the CI, as well as a tremendous amount of warning fixes to enable clean builds at very high warning levels.
New Features & Enhancements
ceil2
and floor2
functions #105
sizedivPow2
#161
construct_at
function #95
allocate
/deallocate
logic #104
construct*
and destroy*
unit tests #175
size()
and empty()
functions as well as additional constructors #122
index64_t
constructor and deprecate index_t
version #102
Bug Fixes
uint8_t
#142
STDGPU_HAS_CXX_17
to compiler #146
Deprecated Features
ispow2()
, log2pow2()
, mod2()
sizedivPow2(std::size_t, std::size_t)
, sizediv_t
safe_pinned_host_allocator
, default_allocator_traits
mutex_ref
device_range(T*, index_t)
, host_range(T*, index_t)
, non-const begin()
and end()
member functionscreateDeviceObject(index_t, index_t)
, excess_count()
, total_count()
STDGPU_ENABLE_AUXILIARY_ARRAY_WARNING
, STDGPU_ENABLE_MANAGED_ARRAY_WARNING
, STDGPU_USE_FAST_DESTROY
, STDGPU_USE_FIBONACCI_HASHING
This version of stdgpu introduces a lightweight backend system including CUDA and OpenMP backends, the integration of Azure Pipelines CI as well as codecov CI, support for the Clang compiler, removal of unnecessary requirements to the container's value types, as well as significant improvements to the test coverage and the documentation.
New Features & Enhancements
DefaultConstructible
requirement from template type #58
get_allocator()
function #56
at()
, shrink_to_fit()
and remove CopyAssignable
requirement from type T
#45
safe_host_allocator
and deprecate safe_pinned_host_allocator
#36
destroy*
functions #60
allocator_traits
and deprecate old specialized version #61 #66
mutex_array::reference
class and deprecate mutex_ref
#55 #63
createDeviceObject()
function #46 #52
at()
, shrink_to_fit()
and remove CopyAssignable
requirement from type T
#44
Bug Fixes
device_range()
#67
Deprecated Features
safe_pinned_host_allocator
, default_allocator_traits
mutex_ref
createDeviceObject(index_t, index_t)
, excess_count()
, total_count()
After a stabilization and cleanup phase, the next version of stdgpu is available.
New Features & Enhancements
STDGPU_BUILD_SHARED_LIBS
to build the project as a shared library #14STDGPU_DEVICE_ONLY
annotation macro #7Bug Fixes
This is the first public version of stdgpu, an open-source C++ library providing generic STL-like GPU data structures for fast and reliable data management. The main components of the library are: