Skip to main content
Log in

The Design of the PROMIS Compiler—Towards Multi-Level Parallelization

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

Most systems that are under design and likely to be built in the future will employ hierarchical organization with many levels of memory hierarchy and parallelism. In order to efficiently utilize the multiple levels of parallelism available in the target architecture, a parallelizing compiler must orchestrate the interactions of fine-grain and coarse-grain program transformations. This article describes issues of multi-grain parallelization and how they are addressed in the PROMIS compiler design. PROMIS is a multilingual, parallelizing, and retargetable compiler with an integrated frontend and backend operating on a single unified and universal intermediate representation. PROMIS exploits multiple levels of static and dynamic parallelism, ranging from task- and loop-level parallelism to instruction-level parallelism, based on a target architecture description. The frontend and the backend are integrated through a unified internal representation common to the high-level, the low-level, and the instruction-level analyses and transformations.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

REFERENCES

  1. Constantine D. Polychronopoulos, Milind Girkar, Mohammad Reza Haghighat, Chia Ling Lee, Bruce Leung, and Dale Schouten, Parafrase-2: An Environment for Parallelizing, Partitioning, Synchronizing, and Scheduling Programs on Multiprocessors, Int'l. J. High Speed Computing 1(1):45–72 (1989).

    Google Scholar 

  2. Bill Blume, Rudolf Eigenmann, Keith Faigen, John Grout, Jay Hoeflinger, David Padua, Paul Petersen, Bill Pottenger, Lawrence Rauchwerger, Peng Tu, and Stephen Weatherford, Polaris: The Next Generation in Parallelizing Compilers. Technical Report 1375, Center for Supercomputing Research and Development, University of Illinois at Urbana-Champaign (1994).

    Google Scholar 

  3. Kuck and Associates, Inc. Kuck and Associates, Inc. Home Page. http://www.kai.com.

  4. Hideki Saito, On the Design of High-Performance Compilers. Technical Report, Center for Supercomputing Research and Development, University of Illinois at Urbana-Champaign, Ph.D. Thesis Proposal (May 1999).

    Google Scholar 

  5. Hideki Saito, Nicholas Stavrakos, Steve Carroll, Constantine Polychronopoulos, and Alex Nicolau, The Design of the PROMIS Compiler, Proc. Int'l. Conf. Compiler Construction (CC) (March 1999).

  6. Milind Girkar and Constantine D. Polychronopoulos, The Hierarchical Task Graph as a Universal Intermediate Representation, IJPP 22(5):519–551 (1994).

    Google Scholar 

  7. Carrie Brownhill, Alex Nicolau, Steve Novack, and Constantine Polychronopoulos, The PROMIS Compiler Prototype, Proc. Int'l. Conf. Parallel Architectures and Compilation Techniques (PACT) (1997).

  8. Mohammad R. Haghighat, Symbolic Analysis for Parallelizing Compilers, Kluwer Academic Publishers (1995).

  9. Carrie Brownhill, Alex Nicolau, Steve Novack, and Constantine Polychronopoulos, Achieving Multi-Level Parallelization, Proc. Int'l. Symp. High Performance Computing (ISHPC) (1997).

  10. Hideki Saito, Nicholas Stavrakos, and Constantine Polychronopoulos, Multithreading Runtime Support for Loop and Functional Parallelism, Proc. Int'l. Symp. High Performance Computing (ISHPC) (May 1999).

  11. Xavier Martorell, Eduard Ayguadé, Nacho Navarro, Julita Corbalán, Marc González, and Jesus Labarta, Thread Fork-Join Techniques for Multi-Level Parallelism Exploitation in Numa Multiprocessors, Proc. Int'l. Conf. Supercomputing (1999).

  12. Donald Yeung, The Scalability of Multigrain Systems, Proc. Int'l. Conf. Supercomputing (1999).

  13. Steve Novack, The EVE Mutation Scheduling Compiler: Adaptive Code Generation for Advanced Microprocessors, Ph.D. thesis, University of California at Irvine (1997).

    Google Scholar 

  14. The National Compiler Infrastructure Project. The National Compiler Infrastructure Project. http://www-suif.stanford.edu/suif/NCI (January 1998). [Also at http://www.cs.virginia.edu-nci.]

  15. Mary W. Hall, Jennifer M. Anderson, Saman P. Amarasinghe, Brian R. Murphy, Shih-Wei Liao, Edouard Bugnion, and Monica S. Lam, Maximizing Multiprocessor Performance with the SUIF Compiler, IEEE Computer (December 1996).

  16. Robert P. Wilson, Robert S. French, Christopher S. Wilson, Saman P. Amarasinghe, Jennifer M. Anderson, Steve W. K. Tjiang, Shih-Wei Liao, Chau-Wen Tseng, Mary W. Hall, Monica S. Lam, and John L. Hennessy, SUIF: An Infrastructure for Research on Parallelizing and Optimizing Compilers. Technical Report, Computer Systems Laboratory, Stanford University [http://suif.stanford.edu/suif/suif1/suif-overview/suif.html].

  17. Randy Allen, Unifying Vectorization, Parallelization, and Optimization: The Ardent Compiler, Proc. Int'l. Conf. Supercomputing (1988).

  18. Randy Allen, Exploiting Multiple Granularities of Parallelism in a Compiler, Proc. COM-PCON, pp. 634–640 (1990).

  19. Sangyeun Cho, Jenn-Yuan Tsai, Yonghong Song, Bixia Zheng, Stephan J. Schwinn, Xin Wang, Qing Zhao, Zhiyuan Li, David J. Lilja, and Pen-Chung Yew, High-Level Information?An Approach for Integrating Front-End and Back-End Compilers, Proc. Int'l. Conf. Parallel Processing (ICPP) (1998).

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Saito, H., Stavrakos, N.J., Polychronopoulos, C.D. et al. The Design of the PROMIS Compiler—Towards Multi-Level Parallelization. International Journal of Parallel Programming 28, 195–212 (2000). https://doi.org/10.1023/A:1007500300397

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1007500300397

Navigation