Fast NetworkX and How Accelerated Backends Are Changing Graph Analytics
09-26, 09:45–10:15 (Europe/Paris), Louis Armand 1 - Est

NetworkX is arguably the most popular graph analytics library available today, but one of its greatest strengths - the pure-python implementation - is also possibly its biggest weakness. If you're a seasoned data scientists or a new student of the fascinating field of graph analytics, you're probably familiar with NetworkX and interested in how to make this extremely easy-to-use library powerful enough to handle realistically large graph workflows that often exceed the limitations of its pure-python implementation.

This talk will describe a relatively new capability of NetworkX; support for accelerated backends, and how they can benefit NetworkX users by allowing it to finally be both easy to use and fast. Through the use of backends, NetworkX can also be incorporated into workflows that take advantage of similar accelerators, such as Accelerated Pandas (cudf.pandas), to finally make these easy to use solutions scale to larger problems.

Attend this talk to learn about how you can leverage the various backends available to NetworkX today to seamlessly run graph analytics on GPUs, use GraphBLAS implementations, and more, all without leaving the comfort and convenience of the most popular graph analytics library available.


NetworkX is arguably the most popular graph analytics library available today; it's extremely easy to install and use, supports a huge assortment of popular analytics, and has excellent support via its community and documentation, and the number of PyPI downloads - typically around 47 million every month - support this. But despite these benefits, many users are forced to move on to another graph analytics library when the limitations of NetworkX's pure-python implementation prevents them from using it for larger workloads.

Will NetworkX users ever be able to have the ubiquity and ease-of-use they've grown accustomed to without the limitations of a pure-python implementation?

The answer is yes! Graph analytics that are fast and scalable but still easy to use and well-documented are possible simply by using NetworkX with an accelerated backend. The backends available to NetworkX today enable support for running analytics on GPUs, leveraging linear algebra through GraphBLAS, and more, all without requiring users to change their existing NetworkX code. This changes the state of graph analytics by making it accessible to more users and more use cases than ever before.

This talk will describe how you can take advantage of the several NetworkX backends available today as well as how you can incorporate your own custom backend to handle graph-related problems that simply weren't feasible before. Examples, benchmark comparisons, and descriptions of the underlying dispatching mechanism that makes alternate backends possible will be provided to illustrate how ease of use and performance can finally coexist in NetworkX. This talk will also show how NetworkX with backend acceleration can be incorporated into workflows that take advantage of similar accelerators, such as Accelerated Pandas (cudf.pandas), to finally make these easy to use solutions scale to larger problems. Attend this talk to hear just how easy it is to use NetworkX to unlock the hidden secrets in your large, real-world data that only fast graph analytics can reveal. Detailed background knowledge of NetworkX and graph analytics is not required.

An approximate time breakdown is as follows:
5 mins - Brief introduction to graph analytics and NetworkX, why it's the most popular graph analytics library, and what its limitations are.
15 mins - How do accelerated backends work, what's available, and how can they make NetworkX work for workloads both big and small?
5 mins - NetworkX's bright future, and how you can help!
5 mins - Q&A

Erik Welch is a senior system software engineer on the RAPIDS cuGraph team at NVIDIA and a core NetworkX developer. He has 20 years' experience using Python as a scientist, engineer, and open-source developer on a wide range of data and high-performance computing problems. He primarily works on nx-cugraph, an accelerated backend to NetworkX, and is the primary maintainer of the popular toolz library.

Rick Ratzel is a member of the RAPIDS team at NVIDIA, working on 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.