How to reproduce benchmarks

These are example command lines as used on the Ryzen 3900X / RTX 2070 system. Please adapt to your system as needed.

Build system requirements

Hardware: Software:

Build and install hipSYCL

This is a custom version to support kernel profiling.
    git clone https://github.com/fknorr/hipSYCL --branch rt-profiling
    cd hipSYCL
    cmake -B build -DCMAKE_INSTALL_PREFIX=../hipSYCL-rt-profiling -DHIPSYCL_WITH_CUDA_BACKEND=YES -DCMAKE_BUILD_TYPE=Release
    cmake --build build --target install -j

Build benchmark binary

    git clone git@github.com:fknorr/ndzip.git --tag sc21-revision
    cd ndzip
    git submodule update --init --recursive
    cmake -B build -DCMAKE_PREFIX_PATH='../hipSYCL-rt-profiling/lib/cmake' -DHIPSYCL_PLATFORM=cuda -DCMAKE_CUDA_ARCHITECTURES=75 -DHIPSYCL_GPU_ARCH=sm_75 -DCMAKE_BUILD_TYPE=Release -DCMAKE_CUDA_COMPILER=$(which clang++) -DCMAKE_CUDA_FLAGS="-U__FLOAT128__ -U__SIZEOF_FLOAT128__" -DCMAKE_CXX_FLAGS="-U__FLOAT128__ -U__SIZEOF_FLOAT128__ -march=native"
    cmake --build build --target benchmark -j
See which compressors are active in the benchmark binary:
    build/benchmark --help
The following compressors are relevant for the paper. GPU compressors (for all evaluated systems): CPU compressors (for the Ryzen 3900X / RTX 2070 system reference benchmark) If any of those is missing, make sure all library prerequisites are present and Git submodules are checked out.

Run benchmarks

Download benchmark datasests and run
    build/benchmark path/to/scidata.csv -r 5 -a (list of algoritms) > bench.csv

Collect logs for kernel runtime distribution

    NDZIP_VERBOSE=1 build/benchmark path/to/scidata.csv -r 5 -a (list of algoritms) > runtimes.log
Then proceed with the CSV files as shown here.