• DocumentCode
    3664224
  • Title

    Graph Coloring on the GPU and Some Techniques to Improve Load Imbalance

  • Author

    Shuai Che;Gregory Rodgers;Brad Beckmann;Steve Reinhardt

  • fYear
    2015
  • fDate
    5/1/2015 12:00:00 AM
  • Firstpage
    610
  • Lastpage
    617
  • Abstract
    Graphics processing units (GPUs) have been increasingly used to accelerate irregular applications such as graph and sparse-matrix computation. Graph coloring is a key building block for many graph applications. The first step of many graph applications is graph coloring/partitioning to obtain sets of independent vertices for subsequent parallel computations. However, parallelization and optimization of coloring for GPUs have been a challenge for programmers. This paper studies approaches to implementing graph coloring on a GPU and characterizes their program behaviors with different graph structures. We also investigate load imbalance, which can be the main cause for performance bottlenecks. We evaluate the effectiveness of different optimization techniques, including the use of work stealing and the design of a hybrid algorithm. We are able to improve graph coloring performance by approximately 25% compared to a baseline GPU implementation on an AMD Radeon HD 7950 GPU. We also analyze some important factors affecting performance.
  • Keywords
    "Graphics processing units","Instruction sets","Color","Labeling","Arrays","Image color analysis","Algorithm design and analysis"
  • Publisher
    ieee
  • Conference_Titel
    Parallel and Distributed Processing Symposium Workshop (IPDPSW), 2015 IEEE International
  • Type

    conf

  • DOI
    10.1109/IPDPSW.2015.74
  • Filename
    7284366