110
H. Iwashita and M. Nakao
RS and RA methods and in the CA method. Correspondingly, a set of functions
to deregister and deallocate and a set of functions to deregister are provided.
• Fundamental functions for RDMA-DMA GET communication and DMARDMA PUT communication. It is assumed that both remote and local data
are previously registered. Blocking and non-blocking can be switched.
• Functions corresponding to image control statements, atomic subroutines, and
inquire functions.
The LLR also has the features for multi-dimensional data developed for the C
implementation, which are not used in the Fortran implementation because this
implementation is solved in ULR.
3.4.4 Communication Libraries
MPI-3 can be selected for all platforms on which it is implemented. Coarrays
are registered and deregistered at the start and end point of the MPI window.
Coarrays perform one-sided communication by MPI_Put and MPI_Get and are
synchronized by MPI_Win_fence. Implementation on MPI incurs certain costs
for dynamic allocation of coarrays and waiting for communication completion.
GASNet can be selected for more advanced implementation over InfiniBand.
Since allocation and registration of are inseparable and can be performed only once
on GASNet, the implementation allocates and registers a pool of memory, the size
of which should be large enough to contain all static and allocatable coarrays. The
XMP runtime should allocate and deallocate coarrays without using the Fortran
library but using the memory manager constructed for the pool.
FJ-RDMA can be selected for the implementation over the Tofu interconnection
of the K computer and Fujitsu PRIMEHPC FX series supercomputers. Basically,
each coarray is allocated by the Fortran library and the address is registered with
the FJ-RDMA interface FJMPI_Rdma_reg_mem. The address is deregistered
with FJMPI_Rdma_dereg_mem before being deallocated (freed) by the Fortran
library. One-sided communication is performed with FJMPI_Rdma_put and
FJMPI_Rdma_get.
4 Evaluation
We evaluated the Omni XMP coarray compiler in the environments shown in
Table 2.
Précédent

- 117/265

Suivant