33 1 ITAGND ,FR_CNDS,IAD_CNDS, LCOMM)
37 USE spmd_comm_world_mod,
ONLY : spmd_comm_world
38#include "implicit_f.inc"
52 INTEGER LCOMM, ITAGND(*), FR_CNDS(*), IAD_CNDS(*)
57 INTEGER MSGTYP,LOC_PROC,NOD,I,J,L,IDEB,IAD,LEN,
58 . nbindex,index,msgoff,siz,ierror,
59 . status(mpi_status_size),
60 . req_s(nspmd),req_r(nspmd),indexi(nspmd)
63 . sbuf(lcomm),rbuf(lcomm)
69 siz = iad_cnds(i+1)-iad_cnds(i)
74 s rbuf(l),siz ,mpi_integer,it_spmd(i),msgtyp,
75 g spmd_comm_world,req_r(i),ierror)
82 DO j=iad_cnds(i),iad_cnds(i+1)-1
84 IF (iabs(itagnd(nod))>ns10e)
THEN
95 siz = iad_cnds(i+1)-iad_cnds(i)
100 + sbuf(l),siz,mpi_integer,it_spmd(i),msgtyp,
101 + spmd_comm_world,req_s(i),ierror)
108 siz = iad_cnds(i+1)-iad_cnds(i)
110 CALL mpi_wait(req_r(i),status,ierror)
111 DO j=iad_cnds(i),iad_cnds(i+1)-1
113 IF (itagnd(nod)>0)
THEN
114 IF (itagnd(nod)<=ns10e.AND.rbuf(j)==1)
115 + itagnd(nod) = itagnd(nod) + ns10e
116 ELSEIF(itagnd(nod)<0)
THEN
117 IF (itagnd(nod)>=-ns10e.AND.rbuf(j)==1)
118 + itagnd(nod) = itagnd(nod) - ns10e
126 IF((iad_cnds(i+1)-iad_cnds(i))>0)
THEN
127 CALL mpi_wait(req_s(i),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 cndmasi2_dim(ipari, intbuf_tab, icnds10, itagnd, weight, nkend, iad_cnds, fr_cnds, s_fr, nspmd)