Euler Meets GPU: Practical Graph Algorithms with Theoretical Guarantees

03/28/2021
by   Adam Polak, et al.
0

The Euler tour technique is a classical tool for designing parallel graph algorithms, originally proposed for the PRAM model. We ask whether it can be adapted to run efficiently on GPU. We focus on two established applications of the technique: (1) the problem of finding lowest common ancestors (LCA) of pairs of nodes in trees, and (2) the problem of finding bridges in undirected graphs. In our experiments, we compare theoretically optimal algorithms using the Euler tour technique against simpler heuristics supposed to perform particularly well on typical instances. We show that the Euler tour-based algorithms not only fulfill their theoretical promises and outperform practical heuristics on hard instances, but also perform on par with them on easy instances.

READ FULL TEXT
research
02/15/2021

Approximating viscosity solutions of the Euler system

Applying the concept of S-convergence, based on averaging in the spirit ...
research
05/26/2022

The Babylonian Graph

The Babylonian graph B has the positive integers as vertices and connect...
research
03/16/2019

A Partition-centric Distributed Algorithm for Identifying Euler Circuits in Large Graphs

Finding the Eulerian circuit in graphs is a classic problem, but inadequ...
research
05/11/2021

Compact Euler Tours of Trees with Small Maximum Degree

We show how an Euler tour for a tree on n vertices with maximum degree d...
research
02/18/2018

Solving Large-Scale Minimum-Weight Triangulation Instances to Provable Optimality

We consider practical methods for the problem of finding a minimum-weigh...
research
07/24/2018

Revisiting the Challenges of MaxClique

The MaxClique problem, finding the maximum complete subgraph in an E-R G...
research
03/17/2022

GPU Computation of the Euler Characteristic Curve for Imaging Data

Persistent homology is perhaps the most popular and useful tool offered ...

Please sign up or login with your details

Forgot password? Click here to reset