46 USE spmd_comm_world_mod,
ONLY : spmd_comm_world
47#include "implicit_f.inc"
61 INTEGER NRBDIM,ICSIZE, IAD_RBY(*),FR_RBY6(*)
68 INTEGER MSGTYP,LOC_PROC,A_AR,NOD,L,I,J,K,IAD,IRB,
69 . MSGOFF,SIZ,IDEB, LEN,INDEX,NBINDEX,
70 . INDEXI(NSPMD),REQ_R(NSPMD),REQ_S(NSPMD)
71 INTEGER STATUS(MPI_STATUS_SIZE),IERROR
74 . rbuf(icsize*6*nrbdim), sbuf(icsize*6*nrbdim)
84 len = iad_rby(i+1)-iad_rby(i)
91 s rbuf(ideb),siz,mpi_double_precision,it_spmd(i),msgtyp,
92 g spmd_comm_world,req_r(l),ierror)
101 len = iad_rby(i+1)-iad_rby(i)
103#include "vectorize.inc"
107 sbuf(ideb) = rbf6(k,1,irb)
108 sbuf(ideb+1) = rbf6(k,2,irb)
109 sbuf(ideb+2) = rbf6(k,3,irb)
110 sbuf(ideb+3) = rbf6(k,4,irb)
111 sbuf(ideb+4) = rbf6(k,5,irb)
112 sbuf(ideb+5) = rbf6(k,6,irb)
121 len = iad_rby(i+1)-iad_rby(i)
125 s sbuf(ideb),siz,mpi_double_precision,it_spmd(i),msgtyp,
126 g spmd_comm_world,req_s(l),ierror)
131 CALL mpi_waitany(nbindex,req_r,index,status,ierror)
133 ideb = 1+(iad_rby(i)-1)*a_ar
134 len = iad_rby(i+1)-iad_rby(i)
136#include "vectorize.inc"
140 rbf6(k,1,irb)= rbf6(k,1,irb) + rbuf(ideb)
141 rbf6(k,2,irb)= rbf6(k,2,irb) + rbuf(ideb+1)
142 rbf6(k,3,irb)= rbf6(k,3,irb) + rbuf(ideb+2)
143 rbf6(k,4,irb)= rbf6(k,4,irb) + rbuf(ideb+3)
144 rbf6(k,5,irb)= rbf6(k,5,irb) + rbuf(ideb+4)
145 rbf6(k,6,irb)= rbf6(k,6,irb) + rbuf(ideb+5)
152 CALL mpi_waitany(nbindex,req_s,index,status,ierror)
169 . RBY6_C,SIZE_RBY6_C)
179 USE spmd_comm_world_mod,
ONLY : spmd_comm_world
180#include "implicit_f.inc"
188#include "com01_c.inc"
189#include "com04_c.inc"
194 INTEGER NRBDIM,ICSIZE, IAD_RBY(*),FR_RBY6(*),SIZE_RBY6_C
196 . rby6(8,6,nrbykin),rby6_c(2,6,size_rby6_c)
201 INTEGER MSGTYP,LOC_PROC,A_AR,NOD,L,I,,K,IAD,IRB,
202 . msgoff,siz,ideb, len,index,nbindex,
203 . indexi(nspmd),req_r(nspmd),req_s(nspmd)
204 INTEGER STATUS(MPI_STATUS_SIZE),IERROR
207 . rbuf(icsize*6*nrbdim), sbuf(icsize*6*nrbdim)
217 len = iad_rby(i+1)-iad_rby(i)
224 s rbuf(ideb),siz,mpi_double_precision,it_spmd(i),msgtyp,
225 g spmd_comm_world,req_r(l),ierror)
234 len = iad_rby(i+1)-iad_rby(i)
236#include "vectorize.inc"
240 sbuf(ideb) = rby6(k,1,irb)
241 sbuf(ideb+1) = rby6(k,2,irb)
242 sbuf(ideb+2) = rby6(k,3,irb)
243 sbuf(ideb+3) = rby6(k,4,irb)
244 sbuf(ideb+4) = rby6(k,5,irb)
249 sbuf(ideb) = rby6_c(k,1,irb)
250 sbuf(ideb+1) = rby6_c(k,2,irb)
251 sbuf(ideb+2) = rby6_c(k,3,irb)
252 sbuf(ideb+3) = rby6_c(k,4,irb)
253 sbuf(ideb+4) = rby6_c(k,5,irb)
254 sbuf(ideb+5) = rby6_c(k,6,irb)
263 len = iad_rby(i+1)-iad_rby(i)
267 s sbuf(ideb),siz,mpi_double_precision,it_spmd(i),msgtyp,
268 g spmd_comm_world,req_s(l),ierror)
273 CALL mpi_waitany(nbindex,req_r,index,status,ierror)
275 ideb = 1+(iad_rby(i)-1)*a_ar
276 len = iad_rby(i+1)-iad_rby(i)
278#include "vectorize.inc"
282 rby6(k,1,irb)= rby6(k,1,irb) + rbuf
283 rby6(k,2,irb)= rby6(k,2,irb) + rbuf(ideb+1)
284 rby6(k,3,irb)= rby6(k,3,irb) + rbuf(ideb+2)
285 rby6(k,4,irb)= rby6(k,4,irb) + rbuf(ideb+3)
286 rby6(k,5,irb)= rby6(k,5,irb) + rbuf(ideb+4)
287 rby6(k,6,irb)= rby6(k,6,irb) + rbuf(ideb+5)
291 rby6_c(k,1,irb)= rby6_c(k,1,irb) + rbuf(ideb)
292 rby6_c(k,2,irb)= rby6_c(k,2,irb) + rbuf(ideb+1)
293 rby6_c(k,3,irb)= rby6_c(k,3,irb) + rbuf(ideb+2)
294 rby6_c(k,4,irb)= rby6_c(k,4,irb) + rbuf(ideb+3)
295 rby6_c(k,5,irb)= rby6_c(k,5,irb) + rbuf(ideb+4
296 rby6_c(k,6,irb)= rby6_c(k,6,irb) + rbuf(ideb+5)
303 CALL mpi_waitany(nbindex,req_s,index,status,ierror)
subroutine rbyfor(timers, rby, a, ar, x, vr, fsav, in, stifn, stifr, fani, lpby, npby, weight, ms, v, igrsurf, bufsf, icodr, iskew, skew, kind, iad_rby, fr_rby6, rby6, irbkin_l, nrbykin_l, nativ_sms, dimfb, fbsav6, stabsen, tabsensor, nodreac, fthreac, cptreac, dampr, sdamp, damp, ndamp_vrel, id_damp_vrel, igrnod, tagslv_rby, iparit, wfext, ndamp_vrel_rbyg, size_rby6_c, rby6_c)
subroutine sms_pcg(timers, nodft, nodlt, nnz, iadk, jdik, diag_sms, lt_k, r, isp, x_sms, p_sms, z_sms, y_sms, prec_sms, nodft1_sms, nodlt1_sms, indx1_sms, icodt, icodr, iskew, skew, itask, nodnx_sms, iad_elem, fr_elem, weight, ibfv, vel, npc, tf, v, x, d, sensor_tab, iframe, xframe, jadi_sms, jdii_sms, nsensor, lti_sms, fr_sms, fr_rms, list_sms, list_rms, mskyi_fi_sms, vfi, iskyi_sms, mskyi_sms, res_sms, ilink, llink, fr_rl, frl6, nnlink, lnlink, fr_ll, fnl6, ms, tag_lnk_sms, itab, fsav, ljoint, iadcj, fr_cj, cjwork, frl, fnl, nprw, lprw, rwbuf, rwsav, fopt, fr_wall, irwl_work, nrwl_sms, frea, intstamp, imv, mv, mv6, mw6, kinet, ixc, ixtg, sh4tree, sh3tree, cptreac, nodreac, fthreac, frwl6, am, vr, dr, in, rby, npby, lpby, tagmsr_rby_sms, irbe2, lrbe2, iad_rbe2, fr_rbe2m, nmrbe2, r2size, irbe3, lrbe3, frbe3, iad_rbe3m, fr_rbe3m, fr_rbe3mp, rrbe3, rrbe3_pon, prec_sms3, diag_sms3, iad_rby, fr_rby6, rby6, tagslv_rby_sms, r3size, nodft2_sms, nodlt2_sms, indx2_sms, nodii_sms, ibcscyc, lbcscyc, wfext, ams_work)