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.
Features of Gunrock include: - Best of class performance among GPU graph analytics frameworks - A large number of graph applications (28 at last count) - A data-centric programming model targeted at GPUs that offers advantages over other programming models - A programming model that scales to multiple GPUs with high performance while still using the same code as a single-GPU primitive
Gunrock began in 2013 as a project under DARPA's XDATA program and is currently the performance reference in DARPA's HIVE program. Gunrock is also in development as a component in NVIDIA's RAPIDS platform for data analytics. The Gunrock team actively develops and improves Gunrock under an Apache 2.0 license.
https://gunrock.github.io/
Speakers: Muhammad Osama