34 1 A ,IAD_M ,FR_M ,LCOMM ,ISIZE)
38 USE spmd_comm_world_mod,
ONLY : spmd_comm_world
39#include "implicit_f.inc"
52 INTEGER , ISIZE, FR_M(*), IAD_M(
59 INTEGER MSGTYP,LOC_PROC,NOD,I,J,L,IDEB,IAD,LEN,
60 . nbindex,index,msgoff,siz,ierror,k,m,
61 . status(mpi_status_size),isize6,
62 . req_s(nspmd),req_r(nspmd),indexi(nspmd),irot
65 . sbuf(lcomm*isize*6), rbuf(lcomm*isize*6)
75 len = iad_m(i+1)-iad_m(i)
82 s rbuf(ideb),siz,mpi_double_precision,it_spmd(i),msgtyp,
83 g spmd_comm_world,req_r(l),ierror)
92 len = iad_m(i+1) - iad_m(i)
94#include "vectorize.inc"
99 sbuf(ideb) = a(m,k,nod)
109 len = iad_m(i+1)-iad_m(i)
113 s sbuf(ideb),siz,mpi_double_precision,it_spmd(i),msgtyp,
114 g spmd_comm_world,req_s(l),ierror)
119 CALL mpi_waitany(nbindex,req_r,index,status,ierror)
121 ideb = 1+(iad_m(i)-1)*isize6
122 len = iad_m(i+1)-iad_m(i)
124#include "vectorize.inc"
129 a(m,k,nod) = a(m,k,nod) + rbuf(ideb)
137 CALL mpi_waitany(nbindex,req_s,index,status,ierror)
subroutine mpi_isend(buf, cnt, datatype, dest, tag, comm, ireq, ierr)
subroutine mpi_irecv(buf, cnt, datatype, source, tag, comm, ireq, ierr)
subroutine sms_rbe_prec(irbe2, lrbe2, diag_sms, ms, diag_sms3, skew, weight, iad_rbe2, fr_rbe2m, nmrbe2)