Evaluating graph coloring on GPUs
School of Computing, University of Utah, Salt Lake City, Utah, USA
Proceedings of the 16th ACM symposium on Principles and practice of parallel programming (PPoPP ’11), 2011
@inproceedings{grosset2011evaluating,
title={Evaluating graph coloring on GPUs},
author={Grosset, A.V.P. and Zhu, P. and Liu, S. and Venkatasubramanian, S. and Hall, M.},
booktitle={Proceedings of the 16th ACM symposium on Principles and practice of parallel programming},
pages={297–298},
year={2011},
organization={ACM}
}
This paper evaluates features of graph coloring algorithms implemented on graphics processing units (GPUs), comparing coloring heuristics and thread decompositions. As compared to prior work on graph coloring for other parallel architectures, we find that the large number of cores and relatively high global memory bandwidth of a GPU lead to different strategies for the parallel implementation. Specifically, we find that a simple uniform block partitioning is very effective on GPUs and our parallel coloring heuristics lead to the same or fewer colors than prior approaches for distributed-memory cluster architecture. Our algorithm resolves many coloring conflicts across partitioned blocks on the GPU by iterating through the coloring process, before returning to the CPU to resolve remaining conflicts. With this approach we get as few color (if not fewer) than the best sequential graph coloring algorithm and performance is close to the fastest sequential graph coloring algorithms which have poor color quality.
December 11, 2011 by hgpu