1;3409;0c Computing Strongly Connected Components in Parallel on CUDA

Computing Strongly Connected Components in Parallel on CUDA

2011 IEEE International Parallel & Distributed Processing Symposium, 2011
Pages: 544-555DOI: 10.1109/IPDPS.2011.59



The problem of decomposing a directed graph into its strongly connected components is a fundamental graph problem inherently present in many scientific and commercial applications. In this paper we show how some of the existing parallel algorithms can be reformulated in order to be accelerated by NVIDIA CUDA technology. In particular, we design a new CUDA-aware procedure for pivot selection and we adapt selected parallel algorithms for CUDA accelerated computation. We also experimentally demonstrate that with a single GTX 480 GPU card we can easily outperform the optimal serial CPU implementation by an order of magnitude in most cases, 40 times on some sufficiently big instances. This is an interesting result as unlike the serial CPU case, the asymptotic complexity of the parallel algorithms is not optimal.