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. T 721D he library, examples, and all source code are released under Apache 2.0.