Single-Source Shortest Paths
Problem Description
This benchmark computes the shortest path from a source node to all nodes in a directed graph with non-negative edge weights by using a modified near-far algorithm [1]. This program is generated by the IrGL compiler [2].
[1] https://people.csail.mit.edu/jshun/6886-s18/papers/DBGO14.pdf
[2] https://users.ices.utexas.edu/~sreepai/sree-oopsla2016.pdf
Algorithm
The computation is implemented in a delta-stepping based SSSP algorithm. Worklists are created and managed by Pipe.The Pipe statement implements the invocation of a pipeline of kernels each of which produces a worklist for the next kernel.Kernel sssp (...) { ... if (dst.dsitance <= delta) Respawn(dst) else WL.push(dst) ... } Pipe Once { Invoke initialize(graph, src) Pipe { Invoke sssp(graph, curdelta); Invoke remove_dups(); curdelta += DELTA; } }
Performance
Graph | Time (ms) |
---|---|
USA-road-d.NY | 146 |
USA-road-d.USA | 29315 |
The above performance is observed on a 1733.500 Mhz GeForce GTX 1080 6000 with 8119 MB of main memory.