37 USE spmd_comm_world_mod,
ONLY : spmd_comm_world
38#include "implicit_f.inc"
51 INTEGER NINDEX, IRSIZE, IRECV(*)
52 INTEGER,
DIMENSION(2,NSPMD+1),
INTENT(in) :: IAD_ELEM
57 INTEGER MSGOFF, MSGTYP, LOC_PROC,IERROR,I,
58 . REQ_S(NSPMD),STATUS(MPI_STATUS_SIZE)
64 siz = (iad_elem(1,i+1)-iad_elem(1,i))
65 IF(i.NE.loc_proc.AND.siz>0)
THEN
68 c nindex,1,mpi_integer,it_spmd(i),msgtyp,
69 g spmd_comm_world,req_s(i),ierror)
74 siz = (iad_elem(1,i+1)-iad_elem(1,i))
75 IF(i.NE.loc_proc.AND.siz>0)
THEN
78 . irecv(i),1,mpi_integer,it_spmd(i),msgtyp,
79 . spmd_comm_world,status,ierror)
80 irsize = irsize + irecv(i)
89 siz = (iad_elem(1,i+1)-iad_elem(1,i))
90 IF(i.NE.loc_proc.AND.siz>0)
THEN
91 CALL mpi_wait(req_s(i),status,ierror)
subroutine mpi_recv(buf, cnt, datatype, source, tag, comm, status, ierr)
subroutine mpi_isend(buf, cnt, datatype, dest, tag, comm, ireq, ierr)