skip to main content
10.1145/3149457.3155888acmotherconferencesArticle/Chapter ViewAbstractPublication PageshpcasiaConference Proceedingsconference-collections
research-article

A Source-to-Source Translation of Coarray Fortran with MPI for High Performance

Published:28 January 2018Publication History

ABSTRACT

Coarray Fortran (CAF) is a partitioned global address space (PGAS) language that is a part of standard Fortran 2008. We have implemented it as a source-to-source translator as a part of the Omni XcalebleMP compiler. Since the output is written in Fortran standard, the translator must utilize Fortran conventions such as the assumed-shape array and generic function in order to reduce both development costs and runtime overhead. The runtime library uses either GASNet, MPI-3, or Fujitsu's low-level Remote Direct Memory Access (RDMA) interface (FJ-RDMA) for one-sided communication.

The Omni CAF translator and the runtime library support three types of memory managers that allocate coarray variables and register them to the communication library. The runtime library for the PUT/GET communication detects how contiguous and periodic the source and destination data are and performs communication aggregation.

We measured fundamental performance levels by using EPCC Fortran Coarray microbenchmark and found our implementation of PUT/GET communication provides bandwidth as high as MPI_Send/Recv on two supercomputers. Although the small data latency was larger than the one of MPI_Send/Recv, we found that it could be reduced by using non-blocking communication for multiple coarray variables. As a result, when using 1024 processes, we achieved 27% and 42% higher performance than the original MPI code in the Himeno Benchmark classes L and XL, respectively.

References

  1. John Reid. 2010. Coarrays in the next Fortran Standard. ISO/IEC JTC1/SC22/WG5 N1824, (Apr. 21, 2010)Google ScholarGoogle Scholar
  2. ISO/IEC 2015. Information technology -- Additional Parallel Features in Fortran. ISO/IEC TS 18508:2015(E). (Dec. 2015)Google ScholarGoogle Scholar
  3. Rice University. Coarray Fortran 2.0. http://caf.rice.edu/download.htmlGoogle ScholarGoogle Scholar
  4. HPCTools Research Group at the University of Houston. OpenUH Open-source UH Compiler. http://web.cs.uh.edu/~openuh/Google ScholarGoogle Scholar
  5. OpenCoarrays. http://www.opencoarrays.orgGoogle ScholarGoogle Scholar
  6. XcalableMP Specification Working Group. 2014. XcalableMP Language Specification Version 1.2.1. http://www.xcalablemp.org/specification.htmlGoogle ScholarGoogle Scholar
  7. Omni Compiler Project. http://omni-compiler.orgGoogle ScholarGoogle Scholar
  8. Hidetoshi Iwashita, Masahiro Nakao, Mitsuhisa Sato. 2015. Preliminary Implementation of Coarray Fortran Translator Based on Omni XcalableMP. Proc. of 9th International Conference on PGAS Programming Models (PGAS2015), P. 70--75, Washington, D.C. USA (Sep. 2015). Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Naoyuki Shida, Shinji Sumimoto, and Atsuya Uno. 2012. MPI Library and Low-Level Communication on the K computer, FUJITSU Scientific & Technical Journal, Vol. 48, No. 3, pp. 324--330Google ScholarGoogle Scholar
  10. David Henty. 2012. A Parallel Benchmark Suite for Fortran Coarrays. In Applications, Tools and Techniques on the Road to Exascale Computing, Advances in Parallel Computing, Vol. 22, pp. 281--288.Google ScholarGoogle Scholar
  11. Himeno Benchmark. http://accc.riken.jp/en/supercom/himenobmt/Google ScholarGoogle Scholar
  12. Cristian Coarfa. 2007. Portable High Performance and Scalability of Global Address Space Languages. Ph.D. Thesis, Rice University (Jan. 2007). Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. John Mellor-Crummey, Laksono Adhianto, William N. Scherer III, and Guohua Jin. 2009. PGAS '09, Proc. of 3rd Conference on Partitioned Global Address Space Programming Models. Ashburn, VA, (Oct. 2009)Google ScholarGoogle Scholar
  14. Deepak Eachempati, Hyoung Joon Jun, and Barbara Chapman. 2010. An Open-Source Compiler and Runtime Implementation for Coarray Fortran. PGAS '10, 4th Int'l Conf. on PGAS Programming Models, No.13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Shiyao Ge, Deepak Eachempati, Dounia Khaldi, and Barbara Chapman. 2015. An Evaluation of Anticipated Extensions for Fortran Coarrays, PGAS'15, 9th International Conference on Partitioned Global Address Space Programming Models, P47-58, Washington, D.C. USA (Sep. 2015). Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Alessandro Fanfarillo, Tobias Burnus, Valeria Cardellini, Salvatore Filippone, Dan Nagle, and Damian Rouson. 2014. OpenCoarrays: Open-source Transport Layers Supporting Coarray Fortran Compilers, PGAS '14, Proc. of 8th International Conference on Partitioned Global Address Space Programming Models, No. 4. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A Source-to-Source Translation of Coarray Fortran with MPI for High Performance

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Other conferences
          HPCAsia '18: Proceedings of the International Conference on High Performance Computing in Asia-Pacific Region
          January 2018
          322 pages
          ISBN:9781450353724
          DOI:10.1145/3149457

          Copyright © 2018 ACM

          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: 28 January 2018

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed limited

          Acceptance Rates

          HPCAsia '18 Paper Acceptance Rate30of67submissions,45%Overall Acceptance Rate69of143submissions,48%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader