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

被引:4
|
作者
Iwashita, Hidetoshi [1 ]
Nakao, Masahiro [1 ]
Murai, Hitoshi [1 ]
Sato, Mitsuhisa [1 ]
机构
[1] RIKEN AICS, Kobe, Hyogo, Japan
来源
PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING IN ASIA-PACIFIC REGION (HPC ASIA 2018) | 2018年
关键词
Coarray; Fortran; Compiler; Translator; PGAS; HPC;
D O I
10.1145/3149457.3155888
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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.
引用
收藏
页码:86 / 97
页数:12
相关论文
共 50 条
  • [1] Source-to-Source Translation: Impact on the performance of High Level Synthesis
    Belwal, Meena
    Sudarshan, T. S. B.
    2017 IEEE INTERNATIONAL CONFERENCE ON COMPUTING, COMMUNICATION AND AUTOMATION (ICCCA), 2017, : 951 - 956
  • [2] ATTRIBUTE GRAMMAR INVERSION AND SOURCE-TO-SOURCE TRANSLATION
    YELLIN, DM
    LECTURE NOTES IN COMPUTER SCIENCE, 1988, 302 : 1 - 176
  • [3] Source-to-source translation for code-optimization
    Chowdhary, K. R.
    Purohit, Rajendra
    Purohit, Sunil Dutt
    JOURNAL OF INFORMATION & OPTIMIZATION SCIENCES, 2023, 44 (03): : 407 - 416
  • [4] Source-to-source translation: Ada to Pascal and Pascal to Ada
    Albrecht, Paul F.
    Garrison, Philip E.
    Graham, Susan L.
    Hyerle, Robert H.
    Ip, Patricia
    Krieg-Brückner, Bernd
    ACM SIGPLAN Notices, 1980, 15 (11): : 183 - 193
  • [5] Macro and file structure preservation in source-to-source translation
    Andrews, K
    DelVigna, P
    Molloy, M
    SOFTWARE-PRACTICE & EXPERIENCE, 1996, 26 (03): : 281 - 292
  • [6] Reducing Library Overheads through Source-to-Source Translation
    King, Alden
    Baden, Scott
    PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE, ICCS 2012, 2012, 9 : 1930 - 1939
  • [7] A source-to-source translation method with type restoration in a compiler
    Mi, Wei
    Li, Yuxiang
    Chen, Li
    Feng, Xiaobing
    Zhang, Zhaoqing
    Jisuanji Yanjiu yu Fazhan/Computer Research and Development, 2010, 47 (07): : 1145 - 1155
  • [8] Portable, MPI-Interoperable Coarray Fortran
    Yang, Chaoran
    Bland, Wesley
    Mellor-Crummey, John
    Balaji, Pavan
    ACM SIGPLAN NOTICES, 2014, 49 (08) : 81 - 92
  • [9] From OpenMP to MPI: first experiments of the STEP source-to-source transformation tool
    Millot, Daniel
    Muller, Alain
    Parrot, Christian
    Silber-Chaussumier, Frederique
    PARALLEL COMPUTING: FROM MULTICORES AND GPU'S TO PETASCALE, 2010, 19 : 669 - 676
  • [10] Source-to-Source Architecture Transformation for Performance Optimization in BIP
    Bozga, Marius
    Jaber, Mohamad
    Sifakis, Joseph
    IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS, 2010, 6 (04) : 708 - 718