Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Compiling dynamic mappings with array copies

Published: 21 June 1997 Publication History

Abstract

Array remapping are useful to many applications on distributed memory parallel machines. They are available in High Performance Fortran, a Fortran-based data-parallel language. This paper describes techniques to handle dynamic mappings through simple array copies: array remapping are translated into copies between statically mapped distinct versions of the array. It discusses the language restrictions required to do so. The remapping graph which captures all remapping and liveness information is presented, as well as additional data-flow optimizations that can be performed on this graph, so as to avoid useless remapping at run time. Such useless remapping appear for arrays that are not used after a remapping. Live array copies are also kept to avoid other flow-dependent useless remappings. Finally the code generation and runtime required by our scheme are discussed. These techniques are implemented in our prototype HPF compiler.

References

[1]
Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. Compilers Principles, Techniques, and Tools. Addison- Wesley Publishing Company, 1986.
[2]
Jean-Yves Berthou and Lanrent Colombet. Experiences in Data Parallel Programming on Cray MPP machines. First High Performance Fortran (HPF) Users Group Conference, Santa Fe, NM, USA, February 1997.
[3]
Fabien Coelho. Contributions to High Performance Fortran Compilation. PhD thesis, Ecole des mines de Paris, October 1996.
[4]
Fabien Coelho. Discussing HPF Design Issues. In Euro- Par'96, Lyon, France, pages 1.571-I.578, August 1996. LNCS 1123. Also report EMP CRI A-284, Feb. 1996.
[5]
Fabien Coelho and Corinne Ancourt. Optimal Compilation of HPF Remappings. Jounal of Parallel and Distributed Computing, 38(2):229-236, November 1996. Also TR EMP CRI A-277 (October 1995).
[6]
Fabien Coelho and Henry Zongaro. ltSSUl# directive proposal. TR A 287, CRI, Ecole des mines de Paris, April 1996.
[7]
Charles Consel and Franc;ois Noi#l. A General Approach for Run-Time Specialization and its Application to C. In Symposium on Principles o} Programming Language, pages 145-156, January 1996.
[8]
Bdatrice Creusillet. Array Region Analyses and Applications. PhD thesis, Ecole des mines de Paris, December 1996.
[9]
Bdatrice Creusillet and Fran<#ois Irigoin. Interprocedural array region analyses. Int. J. of Parallel Programming (special issue on LCPC), 24(6):513--546, 1996.
[10]
S.K.S. Gupta, C.-H. Huang, and P. Sadayappan. Implementing Fast Fourier Transforms on Distributed- Memory Multiprocessors using Data Redistributions. Parallel Processing Letters, 4(4):477-488, December 1994.
[11]
Mary W. Hall, Seema Hiranandani, Ken Kennedy, and Chau-Wen Tseng. Interprocedural Compilation of Fortrail D for MIMD Distributed-Memory Machines. In Supercomputing, pages 522-534, 1992.
[12]
HPF Forum. High Performance Fortran Language Specification. Rice University, Houston, Texas, November 1996. version 2.0.
[13]
Ken Kennedy. A survey of data flow analysis techniques. In S. Muchnick and N. Jones, editors, Program Flow Analysis: Theory and Applications, pages 5-54. Prentice-Hall, Inc., Engelwood Cliffs, 1979.
[14]
Gary A. Kildall. A unified approach to global program optimization. In Symposium on Principles of Program. rain9 Language, pages 194-206, 1973.
[15]
Charles Koelbel, David Loveman, Robert Schreiber, Guy Steele, and Mary Zosel. The High Performance Fortran Handbook. MIT Press, Cambridge, MA, 1994.
[16]
Ulrich Kremer. Automatic Data Layout for Distributed Memory Machines. PhD thesis, Rice University, Houston, Texas, October 1995. Available as CRPC-TR95- 559-S.
[17]
Peter G. Meisl, Mabo R. Ito, and Ian G. Cumming. Parallel synthetic aperture radar processing on workstation networks. In International Parallel Processing Symposium, pages 716-723, April 1996.
[18]
Daniel J. Palermo, Eugene W. Hodges IV, and Prithviraj Banerjee. Interprocedural Array Redistribution Data-Flow Analysis. In Language and Compilers for Parallel Computing, pages aa.l-aa.15, August 1996. San Josd, CA.
[19]
Lo'ic Prylli and Bernard Tourancheau. Efficient Block Cyclic Data Redistribution. In Euro-Par'96, Lyon, France, pages 1.155-1.164, August 1996. LNCS 1123. Also INRIA RR 2766.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 32, Issue 7
July 1997
287 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/263767
Issue’s Table of Contents
  • cover image ACM Conferences
    PPOPP '97: Proceedings of the sixth ACM SIGPLAN symposium on Principles and practice of parallel programming
    June 1997
    287 pages
    ISBN:0897919068
    DOI:10.1145/263764
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 June 1997
Published in SIGPLAN Volume 32, Issue 7

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)47
  • Downloads (Last 6 weeks)11
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media