Fast minimum spanning tree for large graphs on the GPU

@article{Vineet2009FastMS,
  title={Fast minimum spanning tree for large graphs on the GPU},
  author={Vibhav Vineet and Pawan Harish and Suryakant Patidar and P. J. Narayanan},
  journal={Proceedings of the Conference on High Performance Graphics 2009},
  year={2009}
}
Graphics Processor Units are used for many general purpose processing due to high compute power available on them. [] Key Method We implement it using scalable primitives such as scan, segmented scan and split. The irregular steps of supervertex formation and recursive graph construction are mapped to primitives like split to categories involving vertex ids and edge weights. We obtain 30 to 50 times speedup over the CPU implementation on most graphs and 3 to 10 times speedup over our previous GPU…

Figures and Tables from this paper

Some GPU Algorithms for Graph Connected Components and Spanning Tree
TLDR
This paper presents results that show how to use GPUs efficiently for graph algorithms which are known to have irregular data access patterns, and arrives at efficient GPU implementations for the above two problems.
A fast GPU algorithm for graph connectivity
TLDR
This work presents a GPU-optimized implementation for finding the connected components of a given graph, and tries to minimize the impact of irregularity, both at the data level and functional level.
Large Graph Algorithms for Massively Multithreaded Architectures
TLDR
This paper presents fast implementations of common graph operations like breadth-first search, st-connectivity, single-source shortest path, all-pairs shortest Path, minimum spanning tree, and maximum flow for undirected graphs on the GPU using the CUDA programming model.
Fast and memory-efficient minimum spanning tree on the GPU
TLDR
This paper presents a memory-efficient parallel algorithm for finding the minimum spanning tree of very large graphs by introducing a data-parallel implementation of Kruskal's algorithm and demonstrates the performance advantage of the proposed method against the multi-core filter-Kruskal's MST algorithm on a dual quad-core CPU server with Nehalem X5550 processors.
Fast Subgraph Matching on Large Graphs using Graphics Processors
TLDR
This paper presents a simple and GPU-friendly method for subgraph matching, called GpSM, which is designed for massively parallel architectures and shows that Gp SM outperforms the state-of-the-art algorithms and efficiently answers subgraph queries on large graphs.
A Parallel Algorithm for Minimum Spanning Tree on GPU
TLDR
This paper proposes a parallel MST algorithm and implements it on a GPU and proves that the algorithm is correct and it finds the MST after O(log p) iterations (communication and computation rounds), and has a good performance onreal parallel machines.
Graph Coloring on the GPU and Some Techniques to Improve Load Imbalance
TLDR
This paper evaluates the effectiveness of different optimization techniques, including the use of work stealing and the design of a hybrid algorithm, and improves graph coloring performance by approximately 25% compared to a baseline GPU implementation on an AMD Radeon HD 7950 GPU.
On Analyzing Large Graphs Using GPUs
TLDR
This paper proposes and evaluates techniques to efficiently utilize the different levels of the memory hierarchy of GPUs, with the focus being on the larger global memory for triangle counting and combinatorial counting on graphs.
GraphPEG: Accelerating Graph Processing on GPUs
TLDR
Inspired by the observation that many graph algorithms have a common pattern on graph traversal, GraphPEG improves the performance of graph processing by coupling automatic edge gathering with fine-grain work distribution and can also adapt to various input graph datasets.
Scalable parallel minimum spanning forest computation
TLDR
This paper proposes a novel, scalable, parallel MSF algorithm for undirected weighted graphs that leverages Prim's algorithm in a parallel fashion, concurrently expanding several subsets of the computed MSF.
...
...

References

SHOWING 1-10 OF 25 REFERENCES
Large Graph Algorithms for Massively Multithreaded Architectures
TLDR
This paper presents fast implementations of common graph operations like breadth-first search, st-connectivity, single-source shortest path, all-pairs shortest Path, minimum spanning tree, and maximum flow for undirected graphs on the GPU using the CUDA programming model.
Fast scan algorithms on graphics processors
TLDR
This work uses novel data representations that map well to the GPU architecture to exploit shared memory to improve memory performance and improves the performance of algorithms for scan and segmented scan by eliminating shared-memory bank conflicts and reducing the overheads.
A fast, parallel spanning tree algorithm for symmetric multiprocessors (SMPs)
Parallel implementation of Bouvka's minimum spanning tree algorithm
  • Sun Chung, A. Condon
  • Computer Science
    Proceedings of International Conference on Parallel Processing
  • 1996
TLDR
Analysis of a parallel algorithm for the minimum spanning tree problem, based on the sequential algorithm of O. Boruvka (1926), shows that in principle a speedup proportional to the number of processors can be achieved, but that communication costs can be significant.
Scalable Split and Gather Primitives for the GPU
TLDR
The split primitive, a generalization of the binary split, and the gather/scatter primitive, which performs fast, distributed data movement are presented.
Fast parallel GPU-sorting using a hybrid algorithm
Concurrent threads and optimal parallel minimum spanning trees algorithm
This paper resolves a long-standing open problem on whether the concurrent write capability of parallel random access machine (PRAM) is essential for solving fundamental graph problems like connected
Scans as Primitive Parallel Operations
A study of the effects of adding two scan primitives as unit-time primitives to PRAM (parallel random access machine) models is presented. It is shown that the primitives improve the asymptotic
Practical parallel algorithms for minimum spanning trees
  • F. Dehne, S. Götz
  • Computer Science
    Proceedings Seventeenth IEEE Symposium on Reliable Distributed Systems (Cat. No.98CB36281)
  • 1998
TLDR
It is shown that simple algorithms with data-independent communication patterns are efficient both in theory and in practice for computing the minimum spanning tree of a weighted undirected graph G with n vertices and m edges.
GTgraph : A Synthetic Graph Generator Suite
This document details the characteristics, input parameters and suggested usage of the three graph generators included in this suite. 1 SSCA#2 graph generator This generator produces graphs used in
...
...