Gunrock: GPU Graph Analytics
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.
|Jenkins||Ubuntu 18.04 LTS||CUDA 10.2, NVIDIA Driver 440.33, GCC/G++ 7.4.0|
Quick Start Guide
Before building Gunrock make sure you have CUDA Toolkit 9 or higher (recommended CUDA 10.2) 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
Getting Started with Gunrock
- 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 performance analysis.
Copyright and License
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.