Gunrock for Linux#
This page covers the process of getting Essentials for Linux and how one may run the provided examples. We do not provide a compiled binary of Essentials/Gunrock for any environment.
Minimum Requirements#
NVIDIA CUDA Supported Linux Distros, our development is on Ubuntu 18.04 and 20.04.
Supported GCC, G++ (also listed in Table 1. Native Linux Distribution Support).
CUDA 11.2 or higher, the latest CUDA version is recommended.
CMake version 3.20.1 or higher.
Thrust, CUB, ModernGPU, and CXXOpts (automatically downloaded using cmake).
Optional Dependencies#
GoogleTest (automatically downloaded when using cmake with flag
-DESSENTIALS_BUILD_TESTS=ON
)NVBench (automatically downloaded when using cmake with flag
-DESSENTIALS_BUILD_BENCHMARKS=ON
)
Download#
Clone using
git
git clone https://github.com/gunrock/gunrock.git
Download ZIP
wget --no-check-certificate https://github.com/gunrock/gunrock/archive/refs/heads/master.zip
unzip master.zip
Building Essentials#
Once you have the correct
cmake
version installed, which can be checked bycmake --version
, follow the following steps:
cd gunrock
mkdir build && cd build
cmake [{-D <var>=<value>}...] ..
[🌟] Using
cmake
with a variable/option:
cmake -DESSENTIALS_BUILD_TESTS=ON ..
You can now build all applications using:
make
[🌟] Or build a specific application by specifying its name after
make
:
make sssp
[🌟] All binaries are found in
bin
in yourbuild
directory, to run an application:
./bin/sssp ../datasets/chesapeake/chesapeake.mtx
[🌟] Sample output:
./bin/sssp ../datasets/chesapeake/chesapeake.mtx
Single Source = 0
GPU distances[:40] = 0 2 2 2 2 2 1 1 2 2 1 1 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 1
CPU Distances[:40] = 0 2 2 2 2 2 1 1 2 2 1 1 1 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 1 1 2 1 2 1
GPU Elapsed Time : 2.20403 (ms)
CPU Elapsed Time : 0.003 (ms)
Number of errors : 0
[🌟] Example command usage.