mpl4py.F90 Source File


Source Code

SUBROUTINE MPL_INIT4PY(KRANK, KSIZE)
! ** PURPOSE
!    Initialise FIAT's MPL (Message Passing Library) for distributed ecTrans.
!    MPL_INIT detects an already-initialised MPI (e.g. from mpi4py) and attaches
!    to MPI_COMM_WORLD, so this must be called *after* MPI is up.
!
! ** RETURNS
!    KRANK : this task's MPL rank (1-based)
!    KSIZE : total number of MPI tasks
USE ISO_FORTRAN_ENV, ONLY: INT64
USE MPL_MODULE, ONLY: MPL_INIT, MPL_MYRANK, MPL_NPROC
IMPLICIT NONE
INTEGER(KIND=INT64), INTENT(OUT) :: KRANK, KSIZE
CALL MPL_INIT(LDINFO=.FALSE.)
KRANK = MPL_MYRANK()
KSIZE = MPL_NPROC()
END SUBROUTINE MPL_INIT4PY


SUBROUTINE MPL_END4PY()
! ** PURPOSE
!    Finalise FIAT's MPL. (Does not finalise MPI itself.)
USE MPL_MODULE, ONLY: MPL_END
IMPLICIT NONE
CALL MPL_END(LDMEMINFO=.FALSE.)
END SUBROUTINE MPL_END4PY