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 条
  • [41] A source-to-source architecture for user-defined optimizations
    Schordan, M
    Quinlan, D
    MODULAR PROGRAMMING LANGUAGES, PROCEEDINGS, 2003, 2789 : 214 - 223
  • [42] Scout: A Source-to-Source Transformator for SIMD-Optimizations
    Krzikalla, Olaf
    Feldhoff, Kim
    Mueller-Pfefferkorn, Ralph
    Nagel, Wolfgang E.
    EURO-PAR 2011: PARALLEL PROCESSING WORKSHOPS, PT II, 2012, 7156 : 137 - 145
  • [43] Source-to-Source Automatic Differentiation of OpenMP Parallel Loops
    Hueckelheim, Jan
    Hascoet, Laurent
    ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE, 2022, 48 (01):
  • [44] Exhaustive Execution of CHR Through Source-to-Source Transformation
    Elsawy, Ahmed
    Zaki, Amira
    Abdennadher, Slim
    LOGIC-BASED PROGRAM SYNTHESIS AND TRANSFORMATION (LOPSTR 2014), 2015, 8981 : 59 - 73
  • [45] Source-to-Source Instrumentation for the Optimization of an Automatic Reading System
    P. Pereira
    L. Heutte
    Y. Lecourtier
    The Journal of Supercomputing, 2001, 18 : 89 - 104
  • [46] A Language for Fortran Source to Source Transformation
    Kuester, Uwe
    HIGH PERFORMANCE COMPUTING ON VECTOR SYSTEMS 2009, 2010, : 71 - 78
  • [47] Blue buildings: decentralized and integrated management of water from 'Source-To-Source, At Source'
    Samuel, S.
    Lim, M.
    Hsien, C.
    Ho, A.
    Schraudolph, U.
    White, S.
    WATER PRACTICE AND TECHNOLOGY, 2016, 11 (03): : 601 - 609
  • [48] POET: A scripting language for applying parameterized source-to-source program transformations
    University of Texas at San Antonio, San Antonio, TX, United States
    Software Pract Exper, 1600, 6 (675-706):
  • [49] Retargeting Applications for Heterogeneous Systems with the Tribble Source-to-Source Framework
    Sousa, Luis Miguel
    Bispo, Joao
    Paulino, Nuno
    2023 32ND INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, PACT, 2023, : 329 - 331
  • [50] ImageCL: Language and source-to-source compiler for performance portability, load balancing, and scalability prediction on heterogeneous systems
    Falch, Thomas L.
    Elster, Anne C.
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2018, 30 (09):