Advertisement

A Compiler Framework to Detect Parallelism in Irregular Codes

  • Manuel Arenaz
  • Juan Touriño
  • Ramón Doallo
Conference paper
  • 293 Downloads
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2624)

Abstract

This paper describes a compiler framework that enhances the detection of parallelism in loops with complex irregular computations. The framework is based on the static analysis of the Gated Single Assignment (GSA) program representation. A taxonomy of the strongly connected components (SCCs) that appear in GSA dependence graphs is presented as the basis of our framework. Furthermore, an algorithm for classifying the set of SCCs associated with loops is described. We have implemented a prototype of the SCC classification algorithm using the infrastructure provided by the Polaris parallelizing compiler. Experimental results for a suite of real irregular programs are shown.

Keywords

Assignment Statement Program Representation Array Variable Loop Body Array Reference 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Blume, W., Doallo, R., Eigenmann, R., Grout, J., Hoeflinger, J., Lawrence, T., Lee, J., Padua, D.A., Paek, Y., Pottenger, W.M., Rauchwerger, L., Tu, P.: Parallel Programming with Polaris. IEEE Computer 29(12) (1996) 78–82Google Scholar
  2. 2.
    Cytron, R., Ferrante, J., Rosen, B.K., Wegman, M.N., Zadeck, F.K.: Efficiently Computing Static Single Assignment Form and the Control Dependence Graph. ACM Transactions on Programming Languages and Systems 13(4) (1991) 451–490CrossRefGoogle Scholar
  3. 3.
    Gerlek, M.P., Stoltz, E., Wolfe, M.: Beyond Induction Variables: Detecting and Classifying Sequences Using a Demand-Driven SSA Form. ACM Transactions on Programming Languages and Systems 17(1) (1995) 85–122CrossRefGoogle Scholar
  4. 4.
    Glassner, A.S.: Graphics Gems. Academic Press (1993)Google Scholar
  5. 5.
    Gutiérrez, E., Plata, O., Zapata, E.L.: A Compiler Method for the Parallel Execution of Irregular Reductions in Scalable Shared Memory Multiprocessors. Proceedings of the 14th ACM International Conference on Supercomputing (2000) 78–87Google Scholar
  6. 6.
    Han, H., Tseng, C.-W.: Efficient Compiler and Run-Time Support for Parallel Irregular Reductions. Parallel Computing 26(13–14) (2000) 1861–1887zbMATHCrossRefGoogle Scholar
  7. 7.
    Keßbler, C.W.: Applicability of Automatic Program Comprehension to Sparse Matrix Computations. Proceedings of the 7th International Workshop on Compilers for Parallel Computers (1998) 218–230Google Scholar
  8. 8.
    Knobe, K., Sarkar, V.: Array SSA Form and Its Use in Parallelization. Proceedings of the 25th ACM SIGACT-SIGPLAN Symposium on the Principles of Programming Languages (1998) 107–120Google Scholar
  9. 9.
    Knobe, K., Sarkar, V.: Enhanced Parallelization via Analyses and Transformations on Array SSA Form. Proceedings of the 8th International Workshop on Compilers for Parallel Computers (2000) 199–212Google Scholar
  10. 10.
    Lin, Y., Padua, D.A.: On the Automatic Parallelization of Sparse and Irregular Fortran Programs. In: David R. O’Hallaron (Ed.): Languages, Compilers, and Run-Time Systems for Scalable Computers. Lecture Notes in Computer Science, Vol. 1511, Springer-Verlag (1998) 41–56CrossRefGoogle Scholar
  11. 11.
    Pottenger, W.M., Eigenmann, R.: Idiom Recognition in the Polaris Parallelizing Compiler. Proceedings of the 9th ACM International Conference on Supercomputing (1995) 444–448Google Scholar
  12. 12.
    Saad, Y.: SPARSKIT: A Basic Tool Kit for Sparse Matrix Computations. http://www.cs.umn.edu/Research/darpa/SPARSKIT/sparskit.html (1994)
  13. 13.
    Suganuma, T., Komatsu, H., Nakatani, T.: Detection and Global Optimization of Reduction Operations for Distributed Parallel Machines. Proceedings of the 1996 ACM International Conference on Supercomputing, Philadelphia, PA, USA (1996) 18–25Google Scholar
  14. 14.
    Tu, P., Padua, D.: Gated SSA-Based Demand-Driven Symbolic Analysis for Parallelizing Compilers. Proceedings of the 9th ACM International Conference on Supercomputing, Barcelona, Spain (1995) 414–423Google Scholar
  15. 15.
    Turek, S., Becker, Chr.: Featflow: Finite Element Software for the Incompressible Navier-Stokes Equations. User Manual. http://www.feat.ow.de (1998)

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Manuel Arenaz
    • 1
  • Juan Touriño
    • 1
  • Ramón Doallo
    • 1
  1. 1.Computer Architecture Group, Department of Electronics and SystemsUniversity of A CoruñaSpain

Personalised recommendations