2009 · 118 citations · 10 references
ComputingComputer ScienceHigh-performance ComputingAlgorithmsParallel AlgorithmsParallel ComputingComputer Graphics HardwareData ParallelismGraph AlgorithmsGraphics Processing Unit ArchitectureGraphics Processing Unit ComputingGraphics Processing UnitsData-parallel AlgorithmsGpu AcceleratorsGpu ArchitectureGpu Parallel AlgorithmsGraph ProcessingMinimum Spanning Tree AlgorithmsMinimum Spanning Tree ConstructionSimd Architectures
Graphics Processor Units are used for many general purpose processing due to high compute power available on them. Regular, data-parallel algorithms map well to the SIMD architecture of current GPU. Irregular algorithms on discrete structures like graphs are harder to map to them. Efficient data-mapping primitives can play crucial role in mapping such algorithms onto the GPU. In this paper, we present a minimum spanning tree algorithm on Nvidia GPUs under CUDA, as a recursive formulation of Borůvka's approach for undirected graphs. 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 implementation. We construct the minimum spanning tree on a 5 million node and 30 million edge graph in under 1 second on one quarter of the Tesla S1070 GPU.
10
Scan Primitives for GPU Computing
eScholarship (California Digital Library) · 2007 · 513 citations · Full text
Fast scan algorithms on graphics processors
Yuri Dotsenko, Naga K. Govindaraju, Peter‐Pike Sloan et al. · 2008 · 129 citations