Caution
This release is an early-access software technology preview. Running production workloads is not recommended.
hipCOMP CORE is a library for fast lossless compression/decompression on AMD GPUs.
The code is based on nvCOMP
release branch branch-2.2
.
GPU implementations of algorithms like DEFLATE, GDEFLATE, ANS, and zSTD that have been later introduced as part of nvCOMP's proprietary
releases are not part of this repo (yet).
Note
If you experience compiler errors related to cooperative_groups
with ROCm versions <=6.0.X
, additionally specify the CMake
build option -D CG_WORKAROUND=1
.
cd hipcomp-core/
mkdir build/
cd build/
CMAKE_PREFIX_PATH=/opt/rocm/lib/cmake cmake ../
# To build with tests, append `-D BUILD_TESTS=1`:
# CMAKE_PREFIX_PATH=/opt/rocm/lib/cmake cmake ../ -D BUILD_TESTS=1
make
Like HIP/AMD but with additional -D CUDA_BACKEND=1
option:
cd hipcomp-core/
mkdir build/
cd build/
CMAKE_PREFIX_PATH=/opt/rocm/lib/cmake cmake ../ -D CUDA_BACKEND=1
# To build with tests, append `-D BUILD_TESTS=1`:
# CMAKE_PREFIX_PATH=/opt/rocm/lib/cmake cmake ../ -D BUILD_TESTS=1 -D CUDA_BACKEND=1
make
To create debug builds append the following option:
-D CMAKE_BUILD_TYPE=Debug
After completing the build, run:
cd hipcomp-core/
cd build/
make test
Tips:
- Select a particular GPU by setting the environment variable
HIP_VISIBLE_DEVICES=<id>
(orCUDA_VISIBLE_DEVICES=<id>
with CUDA backend) before runningmake test
.