30!||--- uses -----------------------------------------------------
33!|| spmd_comm_world_mod ../engine/source/mpi/spmd_comm_world.f90
47 USE spmd_comm_world_mod,
ONLY : spmd_comm_world
48#include "implicit_f.inc"
63 INTEGER IPARI(NPARI,*),ITAB(*)
67 TYPE(intbuf_struct_) INTBUF_TAB(*)
72 INTEGER STATUS(MPI_STATUS_SIZE),
74 INTEGER P,LENSD,LENRV,IADS(NSPMD+1),IADR(NSPMD+1),IERROR,
75 * siz,loc_proc,msgtyp,msgoff,ideb(ninter)
76 INTEGER NIN,NTY,INACTI
77 INTEGER L,NB,NN,K,NOD,ALEN,ND
79 *
DIMENSION(:),
ALLOCATABLE :: bbufs, bbufr
97 IF((nty==7.and.ipari(34,nin)==-2.and.inacti==7).OR.
98 . (nty==22.and.ipari(34,nin)==-2.and.inacti==7))
THEN
99 lensd = lensd +
nsnsi(nin)%P(p)*alen
100 lenrv = lenrv +
nsnfi(nin)%P(p)*alen
104 iadr(nspmd+1)=lenrv+1
107 ALLOCATE(bbufs(lensd),stat=ierror)
109 CALL ancmsg(msgid=20,anmode=aninfo)
116 ALLOCATE(bbufr(lenrv),stat=ierror)
118 CALL ancmsg(msgid=20,anmode=aninfo)
128 IF (p/= loc_proc)
THEN
131 inacti =ipari(22,nin)
132 IF((nty==7.and.ipari(34,nin)==-2.and.inacti==7).OR.
133 . (nty==22.and.ipari(34,nin)==-2.and.inacti==7))
THEN
137 nd =
nsvsi(nin)%P(ideb(nin)+nn)
138 nod=intbuf_tab(nin)%NSV(nd)
143 ideb(nin)=ideb(nin)+nb
151 . bbufs(iads(p)),siz,real ,it_spmd(p),msgtyp,
152 . spmd_comm_world,req_si(p),ierror )
163 siz=iadr(p+1)-iadr(p)
166 CALL mpi_recv( bbufr(iadr(p)),siz,real,it_spmd(p),msgtyp,
167 * spmd_comm_world,status,ierror )
170 inacti =ipari(22,nin)
174 IF((nty==7.and.ipari(34,nin)==-2.and.inacti==7).OR.
175 . (nty==22.and.ipari(34,nin)==-2.and.inacti==7))
THEN
179 msfi(nin)%P(ideb(nin)+k)=bbufr(iadr(p)+l)
184 ideb(nin)=ideb(nin)+nb
194 siz=iads(p+1)-iads(p)
197 CALL mpi_wait(req_si(p),status,ierror)
201 IF (
ALLOCATED(bbufs))
DEALLOCATE(bbufs)
202 IF (
ALLOCATED(bbufr))
DEALLOCATE(bbufr)
subroutine i18main_kine_1(output, ipari, intbuf_tab, x, v, a, iskew, skew, lcod, wa, ms, itab, jtask, kinet, stifn, mtf, cand_sav, int18add, iad_elem, fr_elem, tagpene, h3d_data, multi_fvm, ale_ne_connect, xcell, xcell_remote)
subroutine mpi_recv(buf, cnt, datatype, source, tag, comm, status, ierr)
subroutine mpi_isend(buf, cnt, datatype, dest, tag, comm, ireq, ierr)
subroutine mpi_wait(ireq, status, ierr)
type(int_pointer), dimension(:), allocatable nsvsi
type(int_pointer), dimension(:), allocatable nsnsi
type(real_pointer), dimension(:), allocatable msfi
type(int_pointer), dimension(:), allocatable nsnfi
subroutine spmd_i18kine_com_ms(ipari, intbuf_tab, mtf, ms, itab)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)