This talk is meant to be an hitchhickers guide to **Dungeons and Dragons** (`D&D`

) *for programmers*.

We will leverage on our wit and intelligence to explore a very perilious dungeon 🧙 , where a venomous dragon is hiding in the shadows 🐉 .

Thanks to a magical potion in an ancient flask, our wizardly skills have been enhanced with Pythonic capabilities 🐍 making us the most powerful and geeky magician of the realm.

These new acquired power revealed *unprecedented strategies* (i.e. algorithms 🙃) that will guide us through the maze avoiding all the traps and pitfalls ⚔️, and will help us maximising the power of our *fire magic* ☄️ to finally slay the dragon.

If you would like to know more about this new Pythonic spell, and the secrets it unveiled, or if you're simply interested in **new graph algorithms** that can run balzingly *fast* maximising your CPU capabilities, **this is the talk for you!**

Description

I am playing D&D since I was 13, and that is indeed a fantastic game for so many reasons. Even more fantastic if you could combine your geeky programming skills to it, whenever you have to explore hidden dungeons.

In facts, **graphs** are the most versatile, and fascinating data abstraction that could help us handling these challenges in a very programmatic way.

In Python we would have many solutions to work with Graph problems: from `scipy.sparse`

to `networkx`

.

However, none of these solutions are generally known to be fast and efficient, and this can represent a huge impediment when the size of the graph in question (in terms of nodes, and edges) increases.

But *What if* **graph** algorithms could be expressed as **linear algebraic** operations ? And *what if* this *translation* would make graph algorithms super efficient so that this would represent a viable and scalable alternative for high-performance graph analytics ?

And *what if* we could leverage on these new and blanzingly fast algiorithms, while still using the **same** libraries (and abstractions) we would normally use with `networkx`

?

In this talk, we will introduce `python-graphblas`

, i.e. the official Python API to GraphBLAS: a powerful framework for creating graph algorithms expressed as linear algebra sparse matrix operations.We will explore two practical examples (working on our D&D use case) showcasing performance, and how `python-graphblas`

with `graphblas-algorithms`

integrate with `networkX`

.

July 21, 2023