A GPU accelerated networkX backend

Brad Rees, Rick Ratzel, and Joseph Nke

Nvidia

Abstract

NetworkX is easily the most popular graph analytics library available, not just among other graph analytics libraries in Python, but quite possibly any language. With monthly downloads in the tens of millions, a large and friendly community, a wealth of documentation and examples, and a wide breadth of algorithms behind an easy-to-use API, NetworkX has earned its household name status among data scientists. Despite these advantages, NetworkX has struggled to keep up with the demands of many modern workloads resulting from our world's growing appetite for large data, which forces users to rewrite their code for a harder-to-use but more performant library. However, NetworkX recently added support for third party backends to accelerate its popular API, and NVIDIA has responded with nx-cugraph, a NetworkX backend that uses cuGraph for extremely fast and scalable graph analytics. This talk will provide the background and details covering the features that allow NetworkX to leverage third-party backends such as nx-cugraph, and demonstrate how users can run their NetworkX code on CPU-only systems, then without code modifications, migrate to a GPU-enabled environment to realize huge performance increases.

About the Speakers

Brad Rees is a Sr. Manager in the AI Infrastructure group at NVIDIA and lead of the RAPIDS cuGraph team. Brad specializes in complex analytic systems, primarily using graph analytic techniques for social and cyber network analysis.

Rick Ratzel is an engineering manager for RAPIDS cuGraph - a library of GPU-accelerated graph algorithms. Rick joined NVIDIA in January 2019, bringing several years of experience as a technical lead for teams in industries that include test and measurement, electronic design automation, and scientific computing.

Joseph Nke is a senior software engineer working on improving the user experience across single and multi-GPUs configuration.