Title :
Parallel graph coloring algorithms on the GPU using OpenCL
Author :
Sengupta, Sabyasachi
Author_Institution :
Dept. of Comput. Sci. & Eng., JSSATE, Noida, India
Abstract :
GPUs (Graphics Processing Units) are designed to solve large data-parallel problems encountered in the fields of image processing, scene rendering, video playback, and gaming. GPUs are therefore designed to handle a higher degree of parallelism as compared to conventional CPUs. GPGPU (General Purpose computing on Graphics Processing Units) enables users to do parallel computing on the graphics hardware commonly available on current personal computers. These days´ systems are available with multi-core GPUs that provide the necessary hardware infrastructure, thereby enabling high performance computing on personal computers. NVIDIA´s CUDA (Compute Unified Device Architecture) and the industry standard OpenCL (Open Computing Language) provides the software platform required to utilize the graphics hardware to solve computational problems using parallel algorithms, otherwise solvable mostly in supercomputing environments. This paper presents two parallel CREW (Concurrent Read Exclusive Write) PRAM algorithms for optimal coloring of general graphs on stream processing architectures such as the GPU. The algorithms are implemented using OpenCL. The first algorithm presents the techniques for computing vertex independent sets on the GPU and then assigns colors to them. The second algorithm focuses on the optimization of the vertex independent set computation for edge-transitive graphs by taking advantage of the structures of such graphs and then assigns color to each of the normalized independent sets.
Keywords :
graph colouring; graphics processing units; parallel algorithms; programming languages; CREW PRAM algorithms; GPGPU; NVIDIA CUDA; OpenCL; compute unified device architecture; concurrent read exclusive write; data-parallel problems; edge-transitive graphs; gaming; general purpose graphics processing units; image processing; multicore GPU; open computing language; parallel computing; parallel graph coloring algorithms; parallelism degree; scene rendering; stream processing architectures; vertex independent set; video playback; Algorithm design and analysis; Computer architecture; Graphics processing units; Image color analysis; Kernel; Parallel algorithms; Random access memory; GPU; OpenCL; VIS; graph; vertex color;
Conference_Titel :
Computing for Sustainable Global Development (INDIACom), 2014 International Conference on
Conference_Location :
New Delhi
Print_ISBN :
978-93-80544-10-6
DOI :
10.1109/IndiaCom.2014.6828158