The examples in this subdirectory showcase the functionality of the hipCUB library. The examples build on both Linux and Windows for both the ROCm (AMD GPU) and CUDA (NVIDIA GPU) backend.
- CMake (at least version 3.21)
- OR GNU Make - available via the distribution's package manager
- ROCm (at least version 5.x.x)
- hipCUB
- ROCm platform:
hipCUB-dev
package available from repo.radeon.com. The repository is added during the standard ROCm install procedure. - CUDA platform: Install hipCUB from source: instructions.
- CUB is a dependency of hipCUB for NVIDIA platforms. CUB is part of the NVIDIA CUDA Toolkit.
- ROCm platform:
- Visual Studio 2019 or 2022 with the "Desktop Development with C++" workload
- ROCm toolchain for Windows (No public release yet)
- The Visual Studio ROCm extension needs to be installed to build with the solution files.
- hipCUB
- ROCm platform: Installed as part of the ROCm SDK on Windows for ROCm platform.
- CUDA platform: Install hipCUB from source: instructions.
- CUB is a dependency of hipCUB for NVIDIA platforms. CUB is part of the NVIDIA CUDA Toolkit.
- CMake (optional, to build with CMake. Requires at least version 3.21)
- Ninja (optional, to build with CMake)
Make sure that the dependencies are installed, or use one of the provided Dockerfiles to build and run the examples in a containerized environment.
All examples in the hipCUB
subdirectory can either be built by a single CMake project or be built independently.
$ cd Libraries/hipCUB
$ cmake -S . -B build
(on ROCm) or$ cmake -S . -B build -D GPU_RUNTIME=CUDA
(on CUDA)$ cmake --build build
All examples can be built by a single invocation to Make or be built independently.
$ cd Libraries/hipCUB
$ make
(on ROCm) or$ make GPU_RUNTIME=CUDA
(on CUDA)
Visual Studio solution files are available for the individual examples. To build all examples for hipCUB open the top level solution file ROCm-Examples-VS2019.sln and filter for hipCUB.
For more detailed build instructions refer to the top level README.md.
All examples in the hipCUB
subdirectory can either be built by a single CMake project or be built independently. For build instructions refer to the top-level README.md.