September 30, 2015
Conference Paper

Optimizing Approximate Weighted Matching on Nvidia Kepler K40

Abstract

Matching is a fundamental graph problem with numerous applications in science and engineering. While algorithms for computing optimal matchings are difficult to parallelize, approximation algorithms on the other hand generally compute high quality solutions and are amenable to parallelization. In this paper, we present efficient implementations of the current best algorithm for half-approximate weighted matching, the Suitor algorithm, on Nvidia Kepler K-40 platform. We develop four variants of the algorithm that exploit hardware features to address key challenges for a GPU implementation. We also experiment with different combinations of work assigned to a warp. Using an exhaustive set of $269$ inputs, we demonstrate that the new implementation outperforms the previous best GPU algorithm by $10$ to $100\times$ for over $100$ instances, and from $100$ to $1000\times$ for $15$ instances. We also demonstrate up to $20\times$ speedup relative to $2$ threads, and up to $5\times$ relative to $16$ threads on Intel Xeon platform with $16$ cores for the same algorithm. The new algorithms and implementations provided in this paper will have a direct impact on several applications that repeatedly use matching as a key compute kernel. Further, algorithm designs and insights provided in this paper will benefit other researchers implementing graph algorithms on modern GPU architectures.

Revised: May 24, 2016 | Published: September 30, 2015

Citation

Naim M., F. Manne, M. Halappanavar, A. Tumeo, and J. Langguth. 2015. Optimizing Approximate Weighted Matching on Nvidia Kepler K40. In IEEE 22nd International Conference on High Performance Computing (HiPC 2015), December 16-19, 2015, Bangalore, India, 105-114. Los Alamitos, California:IEEE Computer Society. PNNL-SA-113350. doi:10.1109/HiPC.2015.15