Gunrock is a CUDA library for graph-processing designed specifically for the GPU. It uses a high-level, bulk-synchronous, data-centric abstraction focused on operations on vertex or edge frontiers. Gunrock achieves a balance between performance and expressiveness by coupling high-performance GPU computing primitives and optimization strategies, particularly in the area of fine-grained load balancing, with a high-level programming model that allows programmers to quickly develop new graph primitives that scale from one to many GPUs on a node with small code size and minimal GPU programming knowledge. For more details, see Gunrock's Overview.
Service | System | Environment | Status |
---|---|---|---|
Jenkins | Ubuntu 18.04.2 LTS | CUDA 10.1, NVIDIA Driver 418.39, GCC/G++ 7.3 |
Before building Gunrock make sure you have CUDA 7.5 or higher (recommended CUDA 9 or higher) installed on your Linux system. We also support building Gunrock on docker images using the provided docker files under docker
subdirectory. For complete build guide, see Building Gunrock.
git clone --recursive https://github.com/gunrock/gunrock/
cd gunrock
mkdir build && cd build
cmake .. && make -j$(nproc)
make test
- To learn more about Gunrock and its programming model, see Gunrock's Overview.
- For information on building Gunrock, see Building Gunrock.
- Tutorial: How to write a graph primitive within Gunrock?
- Comprehensive list of test applications and primitives for most the functionality of Gunrock.
- API Reference documentation (generated using doxygen).
- Find our publications, presentations, and results and analysis.
Gunrock is copyright The Regents of the University of California, 2013–2019. The library, examples, and all source code are released under Apache 2.0.