Skip to main content

Bouclettes: A Fortran loop parallelizer

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1067))

Abstract

High Performance Fortran is a dataparallel language that allows the user to specify the parallelism in his program. It is not always easy to extract the parallelism in a given program. To help the user, an automatic loop parallelizer has been developed: Bouclettes.

Bouclettes has been written to validate some scheduling and mapping techniques that are mentioned in this paper. A Fortran 77 loop nest is rewritten into a HPF loop nest with explicit parallel loops (INDEPENDENT loops) and explicit data distribution (DISTRIBUTE and ALIGN directives).

The different stages of parallelization (analysis, dependence analysis, scheduling, mapping and code generation) and their implementation issues are described here.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Pierre Boulet. The bouclettes loop parallelizes Research Report 95-40, Laboratoire de l'Informatique de Paralllisme, Nov 1995.

    Google Scholar 

  2. Pierre Boulet and Michle Dion. Code generation in bouclettes. Research Report 95-43, Laboratoire de l'Informatique du Paralllisme, Nov 1995.

    Google Scholar 

  3. Jean-François Collard, Paul Feautrier, and Tanguy Risset. Construction of do loops from systems of affine constraints. Technical Report 93-15, Laboratoire de l'Informatique du Paralllisme, may 1993.

    Google Scholar 

  4. Alain Darte, Leonid Khachiyan, and Yves Robert. Linear scheduling is nearly optimal. Parallel Processing Letters, 1(2):73–81, 1991.

    Google Scholar 

  5. Alain Darte and Yves Robert. The alignment problem for perfect uniform loop nest: Np-completeness and heuristics. In J.J. Dongarra and B. Tourancheau eds, editors, Environments and Tools for Parallel Scientific Computing II, SIAM Press, pages 33–42, 1994.

    Google Scholar 

  6. Alain Darte and Yves Robert. Constructive methods for scheduling uniform loop nests. IEEE Trans. Parallel Distributed Systems, 5(8):814–822, 1994.

    Google Scholar 

  7. Alain Darte and Frédéric Vivien. Automatic parallelization based on multi-dimensional scheduling. Technical Report 94-24, Laboratoire de l'Informatique du Parallélisme, Ecole Normale Supérieure de Lyon, France, September 1994.

    Google Scholar 

  8. Michèle Dion and Yves Robert. Mapping affine loop nests: New results. In Bob Hertzberger and Guiseppe Serazzi, editors, High-Performance Computing and Networking, International Conference and Exhibition, volume LCNS 919, pages 184–189. Springer-Verlag, 1995. Extended version available as Technical Report 94-30, LIP, ENS Lyon (anonymous ftp to lip.ens-lyon.fr).

    Google Scholar 

  9. Paul Feautrier and Nadia Tawbi. Résolution de systèmes d'inéquations linéaires; mode d'emploi du logiciel PIP. Technical Report 90-2, Institut Blaise Pascal, Laboratoire MASI (Paris), January 1990.

    Google Scholar 

  10. High Performance Fortran Forum. High performance fortran language specification. Technical report, Rice University, January 1993.

    Google Scholar 

  11. Stanford Compiler Group. Suif compiler system. World Wide Web document, URL: http://suif.stanford.edu/suif/suif.html.

    Google Scholar 

  12. The group of Pr. Lengauer. The loopo project. World Wide Web document, URL: http://brahms.fmi.uni-passau.de/cl/loopo/index.html.

    Google Scholar 

  13. Xavier Leroy and Pierre Weis. Manuel de Rfrence du Langage Caml. Inter Editions, 1994.

    Google Scholar 

  14. projet Cristal. The caml language. World Wide Web document, URL: http://pauillac.inria.fr/caml/.

    Google Scholar 

  15. William Pugh and the Omega Team. The omega project. World Wide Web document, URL: http://www.cs.umd.edu/projects/omega/index.html.

    Google Scholar 

  16. PIPS Team. Pips (interprocedural parallelizer for scientific programs). World Wide Web document, URL: http://www.cri.ensmp.frpips/index.html.

    Google Scholar 

  17. PRiSM SCPDP Team. Systematic construction of parallel and distributed programs. World Wide Web document, URL: http://www.prism.uvsq.fr/english/parallel/paf/autom_us.html.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Heather Liddell Adrian Colbrook Bob Hertzberger Peter Sloot

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Boulet, P. (1996). Bouclettes: A Fortran loop parallelizer. In: Liddell, H., Colbrook, A., Hertzberger, B., Sloot, P. (eds) High-Performance Computing and Networking. HPCN-Europe 1996. Lecture Notes in Computer Science, vol 1067. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61142-8_627

Download citation

  • DOI: https://doi.org/10.1007/3-540-61142-8_627

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61142-4

  • Online ISBN: 978-3-540-49955-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics