100x Faster NetworkX: Dispatching to GraphBLAS
summary
NetworkX adds an opt in plugin layer that dispatches decorated algorithms to compiled back ends so Python code runs orders of magnitude faster. It wires via a new dispatch decorator and Python entry points, requires plugin methods plus convert_from/convert_to adapters, and benchmarks show 100x faster or often hundreds to thousands of times faster for PageRank, centralities and triangle counts. The implementation targets GraphBLAS back ends like SuiteSparse GraphBLAS and can also dispatch to GPU libraries such as cuGraph.
AI-written summary · about
chapters (13)
- 0:00NetworkX and GraphBLAS intro
- 1:51Why NetworkX is slow
- 3:16Hardware limits and rewrites
- 3:58Dispatching to GraphBLAS
- 6:45Dispatching example
- 8:08How dispatching works
- 9:33What plugin developers need to implement for dispatching
- 11:17GraphBLAS overview
- 14:01Benchmarking GraphBLAS against NetworkX performance
- 18:59RAPIDS AI integration
- 20:06Future of dispatching
- 22:33Key takeaways
- 25:22Q&A
related talks
28mNetworkX is Fast Now: Graph Analytics Unleashed
29mUnderstanding API Dispatching in NetworkX
07mUnderstanding API dispatch in Scientific Python eco-systems
28mFaster than Google? Optimization lessons in Python.
39mAccelerated Data Science Libraries
34mAccelerating GPU Algorithms in pure Python
38mThe NetworkL python package
30mCUDA in Your Python: Effective Parallel Programming on the GPU
