Skip to main content

Parallelization, Automatic

  • Reference work entry
Encyclopedia of Parallel Computing
  • 510 Accesses

Synonyms

Parallelization

Definition

Autoparallelization is the translation of a sequential program by a compiler into a parallel form that outputs the same values as the original program. For some authors, autoparallelization means only translation for multiprocessors. However, this definition is more general and includes translation for instruction level, vector, or any other form of parallelism.

Discussion

Introduction

The compilers of most parallel machines are autoparallelizers, and this has been the case since the earliest parallel supercomputers, the Illiac IV and the TI ASC, were introduced in the 1960s. Today, there are autoparallelizers for vector processors, VLIW processors, microprocessor vector extensions, and multiprocessors.

Autoparallelization is for productivity. Autoparallelizers, when they succeed, enable the programming of parallel machines with conventional languages such as Fortran or C. In this programming paradigm, code is not complicated by parallel constructs...

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 1,600.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 1,799.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Bibliography

  1. Allen R, Kennedy K (1987) Automatic translation of FORTRAN programs to vector form. ACM Trans Program Lang Syst 9(4):491–542. DOI= http://doi.acm.org/10.1145/29873.29875

  2. Banerjee UK (1997) Loop transformations for restructuring compilers: dependence analysis. Kluwer Academic, Norwell

    Google Scholar 

  3. Bik AJC (May 2004) The software vectorization handbook. Intel, Hillsboro

    Google Scholar 

  4. Eigenmann R, Hoeflinger J, Padua D (Jan 1998) On the automatic parallelization of the perfect BenchmarksⓇ. IEEE Trans Parallel Distrib Syst 9(1):5–23. DOI=http://dx.doi.org/10.1109/71.655238

  5. Kennedy K, Allen JR (2002) Optimizing compilers for modern architectures: a dependence-based approach. Morgan Kaufmann, San Francisco

    Google Scholar 

  6. Kuck DJ (1976) Parallel processing of ordinary programs. Adv Comput 15:119–179

    Google Scholar 

  7. Kuck DJ, Kuhn RH, Padua DA, Leasure B, Wolfe M (1981) Dependence graphs and compiler optimizations. In: Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on principles of programming languages. POPL ’81. Williamsburg, 26–28 Jan 1981, ACM, New York, pp 207–218. DOI=http://doi.acm.org/10.1145/567532.567555

  8. Levine D, Callahan, D, Dongarra, J (1991) A comparative study of automatic vectorizing compilers. Parallel Comput 17:1223–1244

    Google Scholar 

  9. Paek Y, Hoeflinger J, Padua D (Jan 2002) Efficient and precise array access analysis. ACM Trans Program Lang Syst 24(1) 65–109. DOI=http://doi.acm.org/10.1145/509705.509708

  10. Presberg DL (1975) The Paralyzer: Ivtran’s parallelism analyzer and synthesizer. In: Proceedings of the conference on programming languages and compilers for parallel and vector machines, New York, 18–19 March 1975, pp 9–16. DOI=http://doi.acm.org/10.1145/800026.808396

  11. Scarborough RG, Kolsky HG (March 1986) A vectorizing Fortran compiler. IBM J Res Dev 30(2):163–171

    MathSciNet  Google Scholar 

  12. Wolfe M (1996)High performance compilers for parallel computing. Addison-Wesley, Reading

    Google Scholar 

  13. Zhang G, Unnikrishnan P, Ren J (2004) Experiments with auto-parallelizing SPEC2000FP benchmarks. LCPC, pp 348–362

    Google Scholar 

  14. Zima H, Chapman B (1991) Supercompilers for parallel and vector computers. ACM, New York

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer Science+Business Media, LLC

About this entry

Cite this entry

Padua, D. (2011). Parallelization, Automatic. In: Padua, D. (eds) Encyclopedia of Parallel Computing. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-09766-4_197

Download citation

Publish with us

Policies and ethics