Header-only library of GPU-accelerated, concurrent data structures. This is a port of the original CUDA version at https://github.com/NVIDIA/cuCollections to HIP in order to enable support for AMD GPUs.
To get started, please have a look at the build script we use for CI at ci/gpu/build_hip.sh
.
As hipCo is a header-only library, you will usually configure your build system to include the hipCo headers.
In order to build some standalone tests, please run the following from the root directory (to build for AMD GPUs):
mkdir build && cd build && cmake ..
Note: This will per default build the tests for CDNA architectures (gfx9*) and for wave front size 64. If you like to use hipCo on gfx1100 with wavefront size 32, you will currently have to enable the compile time option USE_WARP_SIZE_32
and compile explicitly for this architecture only*:
cmake -DUSE_WARPSIZE_32=1 -DCMAKE_HIP_ARCHITECTURES=gfx1100 .. && make -j
It is presently not possible to compile the unit tests at the same time for multiple architectures that use different default wavefront sizes (e.g., gfx90a and gfx1100).