High-Performance Graph Analytics on Manycore Processors
Authors:
- Sivasankaran RajamanickamSRSivasankaran Rajamanickam
- Kamesh MadduriKMKamesh Madduri
- 1 May 2015
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- No. 15302075,p. 17-27
Abstract
The divergence in the computer architecture landscape has resulted in different architectures being considered mainstream at the same time. For application and algorithm developers, a dilemma arises when one must focus on using underlying architectural features to extract the best performance on each of these architectures, while writing portable code at the same time. We focus on this problem with graph analytics as our target application domain. In this paper, we present an abstraction-based methodology for performance-portable graph algorithm design on manicure architectures. We demonstrate our approach by systematically optimizing algorithms for the problems of breadth-first search, color propagation, and strongly connected components. We use Kokkos, a manicure library and programming model, for prototyping our algorithms. Our portable implementation of the strongly connected components algorithm on the NVIDIA Tesla K40M is up to 3.25× faster than a state-of-the-art parallel CPU implementation on a dual-socket Sandy Bridge compute node.Keywords
This publication has 27 references indexed in Scilit:
- PuLP: Scalable multi-objective multi-constraint partitioning for small-world networks2014
- BFS and Coloring-Based Parallel Algorithms for Strongly Connected Components and Related Problems2014
- Using the Intel Many Integrated Core to accelerate graph traversalThe International Journal of High Performance Computing Applications, 2014
- On Graphs, GPUs, and Blind Dating: A Workload to Processor Matchmaking Quest2013
- Medusa: Simplified Graph Processing on GPUsIEEE Transactions on Parallel and Distributed Systems, 2013
- Ligra2013
- The university of Florida sparse matrix collectionACM Transactions on Mathematical Software, 2011
- Efficient Parallel Graph Exploration on Multi-Core CPU and GPU2011
- Accelerating CUDA graph algorithms at maximum warp2011
- On Identifying Strongly Connected Components in Parallel2000