Communication pre-evaluation in HPF

  • Pierre Boulet
  • Xavier Redon
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1470)


Parallel computers are difficult to program efficiently. We believe that a good way to help programmers write efficient programs is to provide them with tools that show them how their programs behave on a parallel computer. Data distribution is the major performance factor of data-parallel programs and so automatic data layout for High Performance Fortran programs has been studied by many researchers recently. The communication volume induced by a data distribution is a good estimator of the efficiency of this data distribution.

We present here a symbolic method to compute the communication volume generated by a given data distribution during the program writing phase (before compilation). We stay machine-independent to assure portability. Our goal is to help the programmer understand the data movements its program generates and thus find a good data distribution. Our method is based on parametric polyhedral computations. It can be applied to a large class of regular codes.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Jennifer M. Anderson and Monica S. Lam. Global optimizations for parallelism and locality on scalable parallel machines. ACM Sigplan Notices, 28(6):112–125, June 1993.CrossRefGoogle Scholar
  2. 2.
    Vincent Bouchitte, Pierre Boulet, Alain Darte, and Yves Robert. Evaluating array expressions on massively parallel machines with communication/computation overlap. International Journal of Supercomputer Applications and High Performance Computing, 9(3):205–219, 1995.Google Scholar
  3. 3.
    S. Chatterjee, J. R. Gilbert, R. S. Schreiber, and S.-H. Tseng. Automatic array alignment in data-parallel programs. In ACM Press, editor, Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 16–28, Charleston, South Carolina, January 1993.Google Scholar
  4. 4.
    Philippe Clauss, Vincent Loechner, and Doran Wilde. Deriving formulae to count solutions to parameterized linear systems using ehrhart polynomials: Applications to the analysis of nested-loop programs. Technical Report RR 97-05, ICPS, apr 1997.Google Scholar
  5. 5.
    Fabien Coelho. Contributions to HPF Compilation. PhD thesis, Ecole des mines de Paris, October 1996.Google Scholar
  6. 6.
    Jean-Luc Dekeyser and Christian Lefebvre. Hpf-builder: A visual environment to transform fortran 90 codes to hpf. International Journal of Supercomputing Applications and High Performance Computing, 11(2):95–102, 1997.Google Scholar
  7. 7.
    Thomas Fahringer. Compile-time estimation of communication costs for data parallel programs. Journal of Parallel and Distributed Computing, 39(1):46–65, November 1996.MATHCrossRefGoogle Scholar
  8. 8.
    Paul Feautrier. Parametric integer programming. RAIRO Recherche Opérationnelle, 22:243–268, September 1988.MATHMathSciNetGoogle Scholar
  9. 9.
    Paul Feautrier. Towards automatic distribution. Parallel Processing Letters, 4(3):233–244, 1994.CrossRefGoogle Scholar
  10. 10.
    M. Gupta. Automatic Data Partitioning on Distributed Memory Multicomputers. PhD thesis, College of Engineering, University of Illinois at Urbana-Champaign, September 1992.Google Scholar
  11. 11.
    Manish Gupta and Prithviraj Banerjee. Compile-time estimation of communication costs of programs. Journal of Programming Languages, 2(3):191–225, September 1994.MATHGoogle Scholar
  12. 12.
    Ken Kennedy and Ulrich Kremer. Automatic data layout for High Performance Fortran. In Sidney Karin, editor, Proceedings of the 1995 ACM/IEEE Supercomputing Conference, December 3–8, 1995, San Diego Convention Center, San Diego, CA, USA, New York, NY 10036, USA and 1109 Spring Street, Suite 300, Silver Spring, MD 20910, USA, 1995. ACM Press and IEEE Computer Society Press.Google Scholar
  13. 13.
    Kathleen Knobe, Joan D. Lukas, and Guy L. Steele. Data optimization: Allocation of arrays to reduce communication on SIMD machines. Journal of Parallel and Distributed Computing, 8:102–118, 1990.CrossRefGoogle Scholar
  14. 14.
    Jingke Li and Marina Chen. Index domain alignment: Minimizing cost of cross-referencing between distributed arrays. In Frontiers 90: The 3rd Symposium on the Frontiers of Massively Parallel Computation, College Park, MD, October 1990.Google Scholar
  15. 15.
    S. Wholey. Automatic data mapping for distributed-memory parallel computers. In ACM, editor, Conference proceedings / 1992 International Conference on Supercomputing, July 19–23, 1992, Washington, DC, INTERNATIONAL CONFERENCE ON SUPERCOMPUTING 1992; 6th, pages 25–34, New York, NY 10036, USA, 1992. ACM Press.Google Scholar
  16. 16.
    Doran Wilde. A library for doing polyhedral operations. Master’s thesis, Oregon State University, Corvallis, Oregon, dec 1993.Google Scholar

Copyright information

© Springer-Verlag 1998

Authors and Affiliations

  • Pierre Boulet
    • 1
  • Xavier Redon
    • 2
  1. 1.LIPÉcole Normale Supérieure de LyonLyon cedex 07France
  2. 2.LIFLUniveristé des Sciences et Technologies de LilleVilleneuve d’Ascq cedexFrance

Personalised recommendations