arXiv · 2404.11591
The EDGE Language: Extended General Einsums for Graph Algorithms
Abstract
In this work, we propose a unified abstraction for graph algorithms: the Extended General Einsums language, or EDGE. The EDGE language expresses graph algorithms in the language of tensor algebra, providing a rigorous, succinct, and expressive mathematical framework. EDGE leverages two ideas: (1) the well-known foundations provided by the graph-matrix duality, where a graph is simply a 2D tensor, and (2) the power and expressivity of Einsum notation in the tensor algebra world. In this work, we describe our design goals for EDGE and walk through the extensions we add to Einsums to support more complex operations common in graph algorithms. Additionally, we provide a few examples of how to express graph algorithms in our proposed notation. We hope that a single, mathematical notation for graph algorithms will (1) allow researchers to more easily compare different algorithms and different implementations of a graph algorithm; (2) enable developers to factor complexity by separating the concerns of what to compute (described with the extended Einsum notation) from the lower level details of how to compute; and (3) enable the discovery of different algorithmic variants of a problem through algebraic manipulations and transformations on a given EDGE expression.
Explore related subjects
Keep this discovery
Toluwanimi O. Odemuyiwa, Serban D. Porumbescu, Nandeeka Nayak, Michael Pellauer, Joel S. Emer, John D. Owens. 2024-04-17. The EDGE Language: Extended General Einsums for Graph Algorithms. https://arxiv.org/abs/2404.11591
Cite the original work for its findings. Save a collection to share your selection of sources.