Essentials For Linux - gunrock/essentials GitHub Wiki
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.
- 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).
-
GoogleTest (automatically downloaded when using cmake with flag
-DESSENTIALS_BUILD_TESTS=ON) -
NVBench (automatically downloaded when using cmake with flag
-DESSENTIALS_BUILD_BENCHMARKS=ON)
- Clone using
git
git clone https://github.com/gunrock/essentials.git- Download ZIP
wget --no-check-certificate https://github.com/gunrock/essentials/archive/refs/heads/master.zip
unzip master.zip- Once you have the correct
cmakeversion installed, which can be checked bycmake --version, follow the following steps:
cd essentials
mkdir build && cd build
cmake [{-D <var>=<value>}...] ..- [🌟] Using
cmakewith 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
binin yourbuilddirectory, 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.