Efficient Algorithms for Graph Coloring on GPU

被引:0
作者
Nguyen Quang Anh Pham [1 ]
Fan, Rui [2 ]
机构
[1] Nanyang Technol Univ, Sch Comp Sci & Engn, Singapore, Singapore
[2] ShanghaiTech Univ, Sch Informat Sci & Technol, Shanghai, Peoples R China
来源
2018 IEEE 24TH INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS (ICPADS 2018) | 2018年
关键词
graph coloring; parallel; GPU; high performance; randomized algorithm; PARALLEL ALGORITHM;
D O I
10.1109/ICPADS.2018.00066
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Graph coloring is an important problem in computer science and engineering with numerous applications. As the size of data increases today, graphs with millions of nodes are becoming commonplace. Parallel graph coloring algorithms on high throughput graphics processing units (GPUs) have recently been proposed to color such large graphs efficiently. We present two new graph coloring algorithms for GPUs which improve upon existing algorithms both in coloring speed and quality. The first algorithm, counting-based Jones-Plassmann (CJP), uses counters to implement the classic Jones-Plassmann parallel coloring heuristic in a work-efficient manner. The second algorithm, conflict coloring (CC) achieves higher parallelism than CJP, and is based on optimistically coloring the graph using estimates of the chromatic number. We compared CC and CJP with two state-of-the-art GPU coloring algorithms, csrcolor [1] and Deveci et al's [2] vertex/edge-based algorithms (which we call VEB), as well as the sequential CPU algorithm ColPack [3]. In terms of coloring quality, CJP and CC are both far better than csrcolor, while CJP uses 10% fewer colors than VEB on average and CC uses 10% more. Compared to ColPack, CJP and CC use 1.3 x and 1.5x more colors on nonbipartite graphs, resp. In terms of speed, CJP is on average 1.5 - 2x faster than the other algorithms, while CC is 2.7 - 4.3x faster.
引用
收藏
页码:449 / 456
页数:8
相关论文
共 32 条
[1]  
Allwright JR, 1995, SCCS-666, P1
[2]  
[Anonymous], 1995, HDB COMBINATORICS
[3]   NEW METHODS TO COLOR THE VERTICES OF A GRAPH [J].
BRELAZ, D .
COMMUNICATIONS OF THE ACM, 1979, 22 (04) :251-256
[4]   Graph coloring algorithms for multi-core and massively multithreaded architectures [J].
Catalyuerek, Uemit V. ;
Feo, John ;
Gebremedhin, Assefaw H. ;
Halappanavar, Mahantesh ;
Pothen, Alex .
PARALLEL COMPUTING, 2012, 38 (10-11) :576-594
[5]   Graph Coloring on the GPU and Some Techniques to Improve Load Imbalance [J].
Che, Shuai ;
Rodgers, Gregory ;
Beckmann, Brad ;
Reinhardt, Steve .
2015 IEEE 29TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS, 2015, :610-617
[6]  
Chiarandini M., 2002, P COMPUTATIONAL S GR, P112
[7]  
Cohen Jonathan., 2012, GPU Technology Conference, P1
[8]   ESTIMATION OF SPARSE JACOBIAN MATRICES AND GRAPH-COLORING PROBLEMS [J].
COLEMAN, TF ;
MORE, JJ .
SIAM JOURNAL ON NUMERICAL ANALYSIS, 1983, 20 (01) :187-209
[9]   Algorithm 915, SuiteSparseQR: Multifrontal Multithreaded Rank-Revealing Sparse QR Factorization [J].
Davis, Timothy A. .
ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE, 2011, 38 (01)
[10]  
Deveci M., 2016, IEEE INT C PAR DISTR