Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2020373.2020386acmotherconferencesArticle/Chapter ViewAbstractPublication PagespgasConference Proceedingsconference-collections
research-article

An open-source compiler and runtime implementation for Coarray Fortran

Published: 12 October 2010 Publication History

Abstract

Coarray Fortran (CAF) comprises a set of proposed language extensions to Fortran that are expected to be adopted as part of the Fortran 2008 standard. In contrast to prior open-source implementation efforts, our approach is to use a single, unified compiler infrastructure to translate, optimize and generate binaries from CAF codes. In this paper, we will describe our compiler and runtime implementation of CAF using an Open64-based compiler infrastructure. We will detail the process by which we generate a high-level intermediate representation from the CAF code in our compilers front-end, how our compiler analyzes and translate this IR to generate a binary which makes use of our runtime system, and how we support the runtime execution model with our runtime library. We have carried out experiments using both an ARMCI- and GASNet-based runtime implementation, and we present these results.

References

[1]
High Performance Fortran language specification. version 2.0. Technical report, Rice University, Rice University, Houston, TX, January 1997.
[2]
R. Barrett. Co-Array Fortran Experiences with Finite Differencing Methods. http://users.nccs.gov/rbarrett/PAPERS/cug06_caf.pdf, 2006.
[3]
A. Beddall. The g95 project. url:http://www.g95.org/coarray.shtml.
[4]
D. Buntinas. Designing a common communication subsystem. In In Proceedings of the 12th European Parallel Virtual Machine and Message Passing Interface Conference, Euro PVM MPI, pages 156--166. Springer Verlag, 2005.
[5]
R. S. S. Charles H. Koelbel, David B. Loveman. The High Performance Fortran Handbook. The MIT Press, November 1993.
[6]
Y. Dotsenko, C. Coarfa, and J. Mellor-Crummey. A multi-platform co-array fortran compiler. In PACT '04: Proceedings of the 13th International Conference on Parallel Architectures and Compilation Techniques, pages 29--40, Washington, DC, USA, 2004. IEEE Computer Society.
[7]
Y. Dotsenko, C. Coarfa, J. Mellor-crummey, and D. Chavarra-mir. Experiences with co-array fortran on hardware shared memory platforms. In In Proceedings of the 17th International Workshop on Languages and Compilers for Parallel Computing, 2004.
[8]
D. Eachempati, L. Huang, and B. M. Chapman. Strategies and implementation for translating OpenMP code for clusters. In R. H. Perrott, B. M. Chapman, J. Subhlok, R. F. de Mello, and L. T. Yang, editors, HPCC, volume 4782 of Lecture Notes in Computer Science, pages 420--431. Springer, 2007.
[9]
T. V. Eicken, D. E. Culler, S. C. Goldstein, and K. E. Schauser. Active messages: a mechanism for integrated communication and computation. In In Proceedings of the 19th Annual International Symposium on Computer Architecture, pages 256--266, 1992.
[10]
GASNet. Global-address space networking. home page. url: http://gasnet.cs.berkeley.edu (Nov. 2009).
[11]
GASNet. GASNet: GASNet Specification Version 1.8, October 11th 2008. url: http://gasnet.cs.berkeley.edu/dist/docs/gasnet.html (Oct. 2008).
[12]
K. A. Huck, O. Hernandez, V. Bui, S. Chandrasekaran, B. Chapman, A. D. Malony, L. C. McInnes, and B. Norris. Capturing performance knowledge for automated analysis. Submitted to SC'08.
[13]
O. H. H. Jin, and B. Chapman. Compiler support for efficient instrumentation. In PARCO, 2007.
[14]
John Mellor-Crummey, Laksono Adhianto, William Scherer. CAF: A Critique of Co-array Features in Fortran 2008, Feb. 10. 2008 2008. available at: www.j3-fortran.org/doc/meeting/183/08-126.pdf (Feb. 10. 2008).
[15]
C. Liao, O. Hernandez, B. Chapman, W. Chen, and W. Zheng. OpenUH: An optimizing, portable OpenMP compiler. In 12th Workshop on Compilers for Parallel Computers, January 2006.
[16]
J. Mellor-Crummey, L. Adhianto, G. Jin, and W. N. S. III. A New Vision for Coarray Fortran. In The Third Conference of Partitioned Global Address Space Programming Models, 2009.
[17]
T. Moene. Towards an implementation of Coarrays in GNU Fortran. http://ols.fedoraproject.org/GCC/Reprints-2008/moene.reprint.pdf.
[18]
J. Nieplocha and B. Carpenter. ARMCI: A portable remote memory copy library for distributed array libraries and compiler run-time systems. In Proceedings of the 11 IPPS/SPDP'99 Workshops Held in Conjunction with the 13th International Parallel Processing Symposium and 10th Symposium on Parallel and Distributed Processing, pages 533--546. Springer-Verlag, 1999.
[19]
J. Nieplocha, V. Tipparaju, M. Krishnan, and D. K. Panda. High performance remote memory access communication: The armci approach. Int. J. High Perform. Comput. Appl., 20(2):233--253, 2006.
[20]
R. W. Numrich and S. Graphics. Co-array fortran for parallel programming. ACM Fortran Forum, 17:1--31, 1998.
[21]
OpenMP: Simple, Portable, Scalable SMP Programming. url: http://www.openmp.org, 2006.
[22]
R. Rabenseifner. Optimization of collective reduction operations. In Computational Science - ICCS 2004, Springer-Verlag LNCS 3036, pages 1--9. Springer Berlin, Heidelberg, 2004.
[23]
J. Reid. The new features of Fortran 2008. SIGPLAN Fortran Forum, 27(2):8--21, 2008.
[24]
J. Reid and R. W. Numrich. Co-arrays in the next Fortran Standard. Sci. Program., 15(1):9--26, 2007.

Cited By

View all
  • (2024)Towards a Scalable and Efficient PGAS-Based Distributed OpenMPAdvancing OpenMP for Future Accelerators10.1007/978-3-031-72567-8_5(64-78)Online publication date: 23-Sep-2024
  • (2022)Caffeine: CoArray Fortran Framework of Efficient Interfaces to Network Environments2022 IEEE/ACM Eighth Workshop on the LLVM Compiler Infrastructure in HPC (LLVM-HPC)10.1109/LLVM-HPC56686.2022.00009(34-42)Online publication date: Nov-2022
  • (2020)Coarrays in the Context of XcalableMPXcalableMP PGAS Programming Language10.1007/978-981-15-7683-6_3(97-122)Online publication date: 20-Nov-2020
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
PGAS '10: Proceedings of the Fourth Conference on Partitioned Global Address Space Programming Model
October 2010
134 pages
ISBN:9781450304610
DOI:10.1145/2020373
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: 12 October 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Fortran
  2. PGAS
  3. coarrays
  4. compilers

Qualifiers

  • Research-article

Conference

PGAS '10

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)2
Reflects downloads up to 10 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Towards a Scalable and Efficient PGAS-Based Distributed OpenMPAdvancing OpenMP for Future Accelerators10.1007/978-3-031-72567-8_5(64-78)Online publication date: 23-Sep-2024
  • (2022)Caffeine: CoArray Fortran Framework of Efficient Interfaces to Network Environments2022 IEEE/ACM Eighth Workshop on the LLVM Compiler Infrastructure in HPC (LLVM-HPC)10.1109/LLVM-HPC56686.2022.00009(34-42)Online publication date: Nov-2022
  • (2020)Coarrays in the Context of XcalableMPXcalableMP PGAS Programming Language10.1007/978-981-15-7683-6_3(97-122)Online publication date: 20-Nov-2020
  • (2019)A variable high-order shock-capturing finite difference method with GP-WENOJournal of Computational Physics10.1016/j.jcp.2018.12.028381:C(189-217)Online publication date: 15-Mar-2019
  • (2019)GASNet-EX: A High-Performance, Portable Communication Library for ExascaleLanguages and Compilers for Parallel Computing10.1007/978-3-030-34627-0_11(138-158)Online publication date: 13-Nov-2019
  • (2018)A Source-to-Source Translation of Coarray Fortran with MPI for High PerformanceProceedings of the International Conference on High Performance Computing in Asia-Pacific Region10.1145/3149457.3155888(86-97)Online publication date: 28-Jan-2018
  • (2018)One-Sided Communication in Coarray Fortran: Performance Tests on TH-1AAlgorithms and Architectures for Parallel Processing10.1007/978-3-030-05063-4_3(21-33)Online publication date: 7-Dec-2018
  • (2017)MPI to Coarray FortranScientific Programming10.1155/2017/34096472017Online publication date: 1-Jan-2017
  • (2015)Preliminary Implementation of Coarray Fortran Translator Based on Omni XcalableMPProceedings of the 2015 9th International Conference on Partitioned Global Address Space Programming Models10.1109/PGAS.2015.15(70-75)Online publication date: 16-Sep-2015
  • (2015)An Evaluation of Anticipated Extensions for Fortran CoarraysProceedings of the 2015 9th International Conference on Partitioned Global Address Space Programming Models10.1109/PGAS.2015.13(47-58)Online publication date: 16-Sep-2015
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media