Vectorization and parallelization of irregular problems via graph coloring

Efficient implementations of irregular problems on vector and parallel architectures are generally hard to realize. An important class of problems are Gaus-Seidel iteration schemes applied to irregular data sets. The unstructured data dependences arising there prevent restructuring compilers from generating efficient code for vector or parallel machines. It is shown, how to structure the data dependences by decomposing the underlying data set using graph coloring techniques and by specifying a particular execution order already on the algorithm level. Methods to master the irregularities originating from different types of tasks are proposed. An application is given and some open issues and future developments are discussed.

[1]  Debasis Mitra,et al.  Asynchronous relaxations for the numerical solution of differential equations by parallel processors , 1985, PPSC.

[2]  Constantine D. Polychronopoulos,et al.  Parallel programming and compilers , 1988 .

[3]  Constantine D. Polychronopoulos Loop Coalesing: A Compiler Transformation for Parallel Machines , 1987, ICPP.

[4]  Janez Zerovnik A parallel variant of a heuristical algorithm for graph colouring , 1990, Parallel Comput..

[5]  Jih-Kwon Peir,et al.  Minimum Distance: A Method for Partitioning Recurrences for Multiprocessors , 1989, IEEE Trans. Computers.

[6]  Dennis Gannon,et al.  Applying AI Techniques to Program Optimization for Parallel Computers , 1987 .

[7]  G. Unter Rote Path Problems in Graphs , 1989 .

[8]  L. Lovász,et al.  Polynomial Algorithms for Perfect Graphs , 1984 .

[9]  David A. Padua,et al.  Dependence graphs and compiler optimizations , 1981, POPL '81.

[10]  Utpal Banerjee,et al.  Dependence analysis for supercomputing , 1988, The Kluwer international series in engineering and computer science.

[11]  Arvind,et al.  Executing a Program on the MIT Tagged-Token Dataflow Architecture , 1987, IEEE Trans. Computers.

[12]  G. C. Fox,et al.  Solving Problems on Concurrent Processors , 1988 .

[13]  Michael G. Burke An interval-based approach to exhaustive and incremental interprocedural data-flow analysis , 1990, TOPL.

[14]  Milind Girkar,et al.  Parafrase-2: an Environment for Parallelizing, Partitioning, Synchronizing, and Scheduling Programs on Multiprocessors , 1989, Int. J. High Speed Comput..

[15]  D. de Werra,et al.  Heuristics for graph coloring , 1989 .

[16]  Arvind,et al.  Executing a Program on the MIT Tagged-Token Dataflow Architecture , 1990, IEEE Trans. Computers.

[17]  Leslie Lamport,et al.  The parallel execution of DO loops , 1974, CACM.

[18]  Ernst W. Mayr,et al.  Computational Graph Theory , 2002, Computing Supplementum.

[19]  Kai Hwang,et al.  Parallel processing for supercomputers and artificial intelligence , 1989 .

[20]  Ken Kennedy,et al.  Automatic translation of FORTRAN programs to vector form , 1987, TOPL.

[21]  Michel Dubois,et al.  Parallel asynchronous algorithms for discrete data , 1990, JACM.

[22]  Geoffrey C. Fox,et al.  Solving Problems on Concurrent Processors: General Techniques and Regular Problems , 1988 .

[23]  J. Ortega,et al.  Solution of Partial Differential Equations on Vector and Parallel Computers , 1987 .

[24]  Geoffrey C. Fox,et al.  Solving problems on concurrent processors: vol. 2 , 1990 .

[25]  Mark A. Johnson,et al.  Solving problems on concurrent processors. Vol. 1: General techniques and regular problems , 1988 .

[26]  Gérard M. Baudet,et al.  Asynchronous Iterative Methods for Multiprocessors , 1978, JACM.

[27]  H. Hege,et al.  The nonlinear O(3)-σ-model on random lattices with different topology , 1990 .

[28]  Constantine D. Polychronopoulos Compiler Optimizations for Enhancing Parallelism and Their Impact on Architecture Design , 1988, IEEE Trans. Computers.