Skip to content

Salonijain27/cugraph

 
 

Repository files navigation

 cuGraph - GPU Graph Analytics

Build Status Documentation Status

The RAPIDS cuGraph library is a collection of graph analytics that process data found in GPU Dataframes - see cuDF. cuGraph aims to provide a NetworkX-like API that will be familiar to data scientists, so they can now build GPU-accelerated workflows more easily.

For examples on how to use cuGraph browse our complete API documentation, or check out our detailed notebooks.

NOTE: For the latest stable README.md ensure you are on the master branch.

Getting cuGraph

Intro

There are 4 ways to get cuGraph :

  1. Quick start with Docker Demo Repo
  2. Conda Installation
  3. Build from Source

Quick Start

Please see the Demo Docker Repository, choosing a tag based on the NVIDIA CUDA version you’re running. This provides a ready to run Docker container with example notebooks and data, showcasing how you can utilize all of the RAPIDS libraries: cuDF, cuML, and cuGraph.

Conda

It is easy to install cuGraph using conda. You can get a minimal conda installation with Miniconda or get the full installation with Anaconda.

Install and update cuGraph using the conda command:

# CUDA 9.2
conda install -c nvidia -c rapidsai -c numba -c conda-forge -c defaults cugraph cudatoolkit=9.2

# CUDA 10.0
conda install -c nvidia -c rapidsai -c numba -c conda-forge -c defaults cugraph cudatoolkit=10.0

Note: This conda installation only applies to Linux and Python versions 3.6/3.7.


Open GPU Data Science

The RAPIDS suite of open source software libraries aim to enable execution of end-to-end data science and analytics pipelines entirely on GPUs. It relies on NVIDIA® CUDA® primitives for low-level compute optimization, but exposing that GPU parallelism and high-bandwidth memory speed through user-friendly Python interfaces.

nvGraph

The nvGraph library is now open source and part of cuGraph. It can be build as a stand alone by following nvgraph's readme.

Apache Arrow on GPU

The GPU version of Apache Arrow is a common API that enables efficient interchange of tabular data between processes running on the GPU. End-to-end computation on the GPU avoids unnecessary copying and converting of data off the GPU, reducing compute time and cost for high-performance analytics common in artificial intelligence workloads. As the name implies, cuDF uses the Apache Arrow columnar data format on the GPU. Currently, a subset of the features in Apache Arrow are supported.

Packages

No packages published

Languages

  • Cuda 42.3%
  • C++ 42.1%
  • Python 8.9%
  • C 3.3%
  • CMake 2.0%
  • Shell 1.3%
  • Other 0.1%