Encyclopedia of Parallel Computing

2011 Edition
| Editors: David Padua


  • Rudolf Eigenmann
Reference work entry
DOI: https://doi.org/10.1007/978-0-387-09766-4_273



Polaris is the name of a parallelizing compiler and research compiler infrastructure. Polaris performs source-to-source translation; programs written in the Fortran language are converted into restructured Fortran programs – typically annotated with directives that express parallelism. Polaris was created in the mid-1990s at the University of Illinois and was one of the most advanced freely available tools of its kind.



Polaris aimed at pushing the forefront of automatic parallelization (see  Parallelization, Automatic) and, at the same time, providing the research community with an infrastructure for exploring program analysis and transformation techniques. Polaris followed several earlier projects with similar goals, a key distinction being that the development of this new compiler was driven by real applications. While the benchmarks that prompted earlier parallelizing compiler research were typically small, challenging...

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


  1. 1.
    Blume W, Doallo R, Eigenmann R, Grout J, Hoeflinger J, Lawrence T, Lee J, Padua D, Paek Y, Pottenger B, Rauchwerger L, Tu P (December 1996) Parallel programming with Polaris. IEEE Comput 29(12):78–82Google Scholar
  2. 2.
    Dave C, Bae H, Min S-J, Lee S, Eigenmann R, Midkiff S (2009) Cetus: a source-to-source compiler infrastructure for multicores. IEEE Comput 42(12):36–42Google Scholar
  3. 3.
    Eigenmann R, Hoeflinger J, Padua D (January 1998) On the automatic parallelization of the perfect benchmarks. IEEE Trans Parallel Distrib Syst 9(1):5–23Google Scholar
  4. 4.
    Quinlan DJ et al Rose compiler project. http://www.rosecompiler.org/
  5. 5.
    Berry M et al (1989) The perfect club benchmarks: effective performance evaluation of supercomputers. Int J Supercomput Appl 3(3):5–40Google Scholar
  6. 6.
    Hall MW, Anderson JM, Amarasinghe SP, Murphy BR, Liao S-W, Bugnion E, Lam MS (December 1996) Maximizing multiprocessor performance with the SUIF compiler. Computer, pp 84–89Google Scholar
  7. 7.
    Hoeflinger J, Paek Y, Yi K (2001) Unified interprocedural parallelism detection. Int J Parallel Program 29(2):185–215zbMATHGoogle Scholar
  8. 8.
    Lattner C, Adve V (2004) Llvm: a compilation framework for lifelong program analysis & transformation. In: CGO’04: Proceedings of the international symposium on code generation and optimization. IEEE Computer Society, Washington, DC, p 75Google Scholar
  9. 9.
    Pottenger B, Eigenmann R (1995) Idiom recognition in the polaris parallelizing compiler. In: Proceedings of the 9th ACM international conference on supercomputing, BarcelonaGoogle Scholar
  10. 10.
    Rauchwerger L, Padua D (1995) The LRPD test: speculative run-time parallelization of loops with privatization and reduction parallelization. In: PLDI’95: Proceedings of the ACM SIGPLAN 1995 conference on programming language design and implementation. ACM, New York, pp 218–232Google Scholar
  11. 11.
    Tu P, Padua D (August 1993) Automatic array privatization. In: Proceedings of the 6th workshop on languages and compilers for parallel computing, vol 768, Lecture notes in computer science, pp 500–521Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  • Rudolf Eigenmann
    • 1
  1. 1.School of Electrical and Computer EngineeringPurdue UniversityWest LafayetteUSA