Computational Science Technical Note CSTN-089


Parallel Graph Component Labelling with GPUs and CUDA

K. A. Hawick, A. Leist and D. P. Playne

Archived May 2009


Graph component labelling, which is a subset of the general graph colouring problem, is a computationally expensive operation that is of importance in many applications and simulations. A number of data-parallel algorithmic variations to the component labelling problem are possible and we explore their use with general purpose graphical processing units (GPGPUs) and with the CUDA GPU programming language. We discuss implementation issues and performance results on GPUs using CUDA. We present results for regular mesh graphs as well as arbitrary structured and topical graphs such as small-world and scale-free structures. We show how different algorithmic variations can be used to best effect depending upon the cluster structure of the graph being labelled and consider how features of the GPU architectures and host CPUs can be combined to best effect into a cluster component labelling algorithm for use in high performance simulations.

Keywords: graph; component label; mesh; GPU; CUDA; data-parallel; simulations.

Full Document Text: PDF version.

Citation Information: BiBTeX database for CSTN Notes.

BiBTeX reference:

  author = {K. A. Hawick and A. Leist and D. P. Playne},
  title = {{Parallel Graph Component Labelling with GPUs and CUDA}},
  journal = {Parallel Computing},
  year = {2010},
  volume = {36},
  pages = {655-678},
  number = {12},
  month = {December},
  doi = {10.1016/j.parco.2010.07.002},
  institution = {Massey University},
  timestamp = {2009.06.18},
  url = {}

[ CSTN Index | CSTN BiBTeX ]