Preliminary Implementation of Coarray Fortran Translator Based on Omni XcalableMP
Hidetoshi Iwashita, Masahiro Nakao, Mitsuhisa Sato · 2015
XcalableMP (XMP) is a PGAS language for distributed memory environments. It employs Coarray Fortran (CAF) features as the local-view programming model. We implemented the main part of CAF in the form of a translator, i.e., a source-to-source compiler, as a part of Omni XMP compiler. The compiler uses GASNet and the Fujitsu RDMA interface to allocate static and allocatable coarrays and to get and put coindexed objects while avoiding ill effects in the backend Fortran compiler. The evaluation of the Himeno benchmark shows that ported CAF programs compiled with Omni compiler offer high performance on par with the original message passing interface (MPI) program, despite having 32% fewer lines of source code.