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 条
  • [31] Source-to-source instrumentation for the optimization of an automatic reading system
    Pereira, P
    Heutte, L
    Lecourtier, Y
    JOURNAL OF SUPERCOMPUTING, 2001, 18 (01): : 89 - 104
  • [32] Using Source-to-Source Compilation to Instrument Circuits for Debug with High Level Synthesis
    Monson, Joshua S.
    Hutchings, Brad
    2015 INTERNATIONAL CONFERENCE ON FIELD PROGRAMMABLE TECHNOLOGY (FPT), 2015, : 48 - 55
  • [33] A source-to-source compiler for generating dependable software
    Rebaudengo, M
    Reorda, MS
    Violante, M
    Torchiano, M
    FIRST IEEE INTERNATIONAL WORKSHOP ON SOURCE CODE ANALYSIS AND MANIPULATION, PROCEEDINGS, 2001, : 33 - 42
  • [34] CETUS: A SOURCE-TO-SOURCE COMPILER INFRASTRUCTURE FOR MULTICORES
    Dave, Chirag
    Bae, Hansang
    Min, Seung-Jai
    Lee, Seyong
    Eigenmann, Rudolf
    Midkiff, Samuel
    COMPUTER, 2009, 42 (12) : 36 - 42
  • [35] Domain-specific acceleration and auto-parallelization of legacy scientific code in FORTRAN 77 using source-to-source compilation
    Vanderbauwhede, Wim
    Davidson, Gavin
    COMPUTERS & FLUIDS, 2018, 173 : 1 - 5
  • [36] The Cetus Source-to-Source Compiler Infrastructure: Overview and Evaluation
    Hansang Bae
    Dheya Mustafa
    Jae-Woo Lee
    Hao Aurangzeb
    Chirag Lin
    Rudolf Dave
    Samuel P. Eigenmann
    International Journal of Parallel Programming, 2013, 41 : 753 - 767
  • [37] A C Subset for Ergonomic Source-to-Source Analyses and Transformations
    Matos, Joao N.
    Bispo, Joao
    Sousa, Luis Miguel
    PROCEEDINGS OF THE RAPIDO 2024 WORKSHOP, HIPEAC 2024, 2024, : 1 - 8
  • [38] Automatic Sparsity Detection implemented as a source-to-source transformation
    Giering, Ralf
    Kaminski, Thomas
    COMPUTATIONAL SCIENCE - ICCS 2006, PT 4, PROCEEDINGS, 2006, 3994 : 591 - 598
  • [39] The Cetus Source-to-Source Compiler Infrastructure: Overview and Evaluation
    Bae, Hansang
    Mustafa, Dheya
    Lee, Jae-Woo
    Aurangzeb
    Lin, Hao
    Dave, Chirag
    Eigenmann, Rudolf
    Midkiff, Samuel P.
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2013, 41 (06) : 753 - 767
  • [40] Cetus - An extensible compiler infrastructure for source-to-source transformation
    Lee, SI
    Johnson, TA
    Eigenmann, R
    LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING, 2004, 2958 : 539 - 553