/gunrock

High-Performance Graph Primitives on GPUs

Primary LanguageCudaApache License 2.0Apache-2.0


Build Status
Apache 2 Issues Open
NVIDIA Accelerated Libraries RAPIDS

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.

Service System Environment Status
Jenkins Ubuntu 18.04.2 LTS CUDA 10.1, NVIDIA Driver 418.39, GCC/G++ 7.3 Build Status

Quick Start Guide

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

Getting Started with Gunrock

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.