diff --git a/base/internals/psi_dswapdata.F90 b/base/internals/psi_dswapdata.F90 index e0421d65..e0d2d238 100644 --- a/base/internals/psi_dswapdata.F90 +++ b/base/internals/psi_dswapdata.F90 @@ -259,9 +259,9 @@ subroutine psi_dswapdatam(flag,n,beta,y,desc_a,work,info,data) proc_to_comm = d_idx(pnti+psb_proc_id_) nerv = d_idx(pnti+psb_n_elem_recv_) nesd = d_idx(pnti+nerv+psb_n_elem_send_) + call psb_get_rank(prcid(i),ictxt,proc_to_comm) if (nerv>0) then p2ptag = krecvid(ictxt,proc_to_comm,me) - call psb_get_rank(prcid(i),ictxt,proc_to_comm) call mpi_irecv(rcvbuf(rcv_pt),n*nerv,& & mpi_double_precision,prcid(i),& & p2ptag, icomm,rvhd(i),iret) @@ -683,9 +683,9 @@ subroutine psi_dswapdatav(flag,beta,y,desc_a,work,info,data) nerv = d_idx(pnti+psb_n_elem_recv_) nesd = d_idx(pnti+nerv+psb_n_elem_send_) + call psb_get_rank(prcid(i),ictxt,proc_to_comm) if (nerv>0) then p2ptag = krecvid(ictxt,proc_to_comm,me) - call psb_get_rank(prcid(i),ictxt,proc_to_comm) call mpi_irecv(rcvbuf(rcv_pt),nerv,& & mpi_double_precision,prcid(i),& & p2ptag, icomm,rvhd(i),iret) diff --git a/base/internals/psi_dswaptran.F90 b/base/internals/psi_dswaptran.F90 index f7a7e407..eb0fe317 100644 --- a/base/internals/psi_dswaptran.F90 +++ b/base/internals/psi_dswaptran.F90 @@ -257,9 +257,9 @@ subroutine psi_dswaptranm(flag,n,beta,y,desc_a,work,info,data) proc_to_comm = d_idx(pnti+psb_proc_id_) nerv = d_idx(pnti+psb_n_elem_recv_) nesd = d_idx(pnti+nerv+psb_n_elem_send_) + call psb_get_rank(prcid(i),ictxt,proc_to_comm) if (nesd>0) then p2ptag = krecvid(ictxt,proc_to_comm,me) - call psb_get_rank(prcid(i),ictxt,proc_to_comm) call mpi_irecv(sndbuf(snd_pt),n*nesd,& & mpi_double_precision,prcid(i),& & p2ptag,icomm,rvhd(i),iret) @@ -676,9 +676,9 @@ subroutine psi_dswaptranv(flag,beta,y,desc_a,work,info,data) proc_to_comm = d_idx(pnti+psb_proc_id_) nerv = d_idx(pnti+psb_n_elem_recv_) nesd = d_idx(pnti+nerv+psb_n_elem_send_) + call psb_get_rank(prcid(i),ictxt,proc_to_comm) if (nesd>0) then p2ptag = krecvid(ictxt,proc_to_comm,me) - call psb_get_rank(prcid(i),ictxt,proc_to_comm) call mpi_irecv(sndbuf(snd_pt),nesd,& & mpi_double_precision,prcid(i),& & p2ptag,icomm,rvhd(i),iret) diff --git a/base/internals/psi_iswapdata.F90 b/base/internals/psi_iswapdata.F90 index e38ce22b..073da1c7 100644 --- a/base/internals/psi_iswapdata.F90 +++ b/base/internals/psi_iswapdata.F90 @@ -259,9 +259,9 @@ subroutine psi_iswapdatam(flag,n,beta,y,desc_a,work,info,data) proc_to_comm = d_idx(pnti+psb_proc_id_) nerv = d_idx(pnti+psb_n_elem_recv_) nesd = d_idx(pnti+nerv+psb_n_elem_send_) + call psb_get_rank(prcid(i),ictxt,proc_to_comm) if (nerv>0) then p2ptag = krecvid(ictxt,proc_to_comm,me) - call psb_get_rank(prcid(i),ictxt,proc_to_comm) call mpi_irecv(rcvbuf(rcv_pt),n*nerv,& & mpi_integer,prcid(i),& & p2ptag, icomm,rvhd(i),iret) @@ -683,9 +683,9 @@ subroutine psi_iswapdatav(flag,beta,y,desc_a,work,info,data) nerv = d_idx(pnti+psb_n_elem_recv_) nesd = d_idx(pnti+nerv+psb_n_elem_send_) + call psb_get_rank(prcid(i),ictxt,proc_to_comm) if (nerv>0) then p2ptag = krecvid(ictxt,proc_to_comm,me) - call psb_get_rank(prcid(i),ictxt,proc_to_comm) call mpi_irecv(rcvbuf(rcv_pt),nerv,& & mpi_integer,prcid(i),& & p2ptag, icomm,rvhd(i),iret) diff --git a/base/internals/psi_iswaptran.F90 b/base/internals/psi_iswaptran.F90 index 814b642b..9bf00a78 100644 --- a/base/internals/psi_iswaptran.F90 +++ b/base/internals/psi_iswaptran.F90 @@ -257,9 +257,9 @@ subroutine psi_iswaptranm(flag,n,beta,y,desc_a,work,info,data) proc_to_comm = d_idx(pnti+psb_proc_id_) nerv = d_idx(pnti+psb_n_elem_recv_) nesd = d_idx(pnti+nerv+psb_n_elem_send_) + call psb_get_rank(prcid(i),ictxt,proc_to_comm) if (nesd>0) then p2ptag = krecvid(ictxt,proc_to_comm,me) - call psb_get_rank(prcid(i),ictxt,proc_to_comm) call mpi_irecv(sndbuf(snd_pt),n*nesd,& & mpi_integer,prcid(i),& & p2ptag,icomm,rvhd(i),iret) @@ -675,9 +675,9 @@ subroutine psi_iswaptranv(flag,beta,y,desc_a,work,info,data) proc_to_comm = d_idx(pnti+psb_proc_id_) nerv = d_idx(pnti+psb_n_elem_recv_) nesd = d_idx(pnti+nerv+psb_n_elem_send_) + call psb_get_rank(prcid(i),ictxt,proc_to_comm) if (nesd>0) then p2ptag = krecvid(ictxt,proc_to_comm,me) - call psb_get_rank(prcid(i),ictxt,proc_to_comm) call mpi_irecv(sndbuf(snd_pt),nesd,& & mpi_integer,prcid(i),& & p2ptag,icomm,rvhd(i),iret) diff --git a/base/internals/psi_zswapdata.F90 b/base/internals/psi_zswapdata.F90 index 50586ca6..b3b34dd3 100644 --- a/base/internals/psi_zswapdata.F90 +++ b/base/internals/psi_zswapdata.F90 @@ -259,9 +259,9 @@ subroutine psi_zswapdatam(flag,n,beta,y,desc_a,work,info,data) proc_to_comm = d_idx(pnti+psb_proc_id_) nerv = d_idx(pnti+psb_n_elem_recv_) nesd = d_idx(pnti+nerv+psb_n_elem_send_) + call psb_get_rank(prcid(i),ictxt,proc_to_comm) if (nerv > 0) then p2ptag = krecvid(ictxt,proc_to_comm,me) - call psb_get_rank(prcid(i),ictxt,proc_to_comm) call mpi_irecv(rcvbuf(rcv_pt),n*nerv,& & mpi_double_complex,prcid(i),& & p2ptag, icomm,rvhd(i),iret) @@ -682,10 +682,9 @@ subroutine psi_zswapdatav(flag,beta,y,desc_a,work,info,data) proc_to_comm = d_idx(pnti+psb_proc_id_) nerv = d_idx(pnti+psb_n_elem_recv_) nesd = d_idx(pnti+nerv+psb_n_elem_send_) - + call psb_get_rank(prcid(i),ictxt,proc_to_comm) if (nerv>0) then p2ptag = krecvid(ictxt,proc_to_comm,me) - call psb_get_rank(prcid(i),ictxt,proc_to_comm) call mpi_irecv(rcvbuf(rcv_pt),nerv,& & mpi_double_complex,prcid(i),& & p2ptag, icomm,rvhd(i),iret) diff --git a/base/internals/psi_zswaptran.F90 b/base/internals/psi_zswaptran.F90 index 4eeba46c..f209c444 100644 --- a/base/internals/psi_zswaptran.F90 +++ b/base/internals/psi_zswaptran.F90 @@ -257,9 +257,9 @@ subroutine psi_zswaptranm(flag,n,beta,y,desc_a,work,info,data) proc_to_comm = d_idx(pnti+psb_proc_id_) nerv = d_idx(pnti+psb_n_elem_recv_) nesd = d_idx(pnti+nerv+psb_n_elem_send_) + call psb_get_rank(prcid(i),ictxt,proc_to_comm) if (nesd>0) then p2ptag = krecvid(ictxt,proc_to_comm,me) - call psb_get_rank(prcid(i),ictxt,proc_to_comm) call mpi_irecv(sndbuf(snd_pt),n*nesd,& & mpi_double_complex,prcid(i),& & p2ptag,icomm,rvhd(i),iret) @@ -675,9 +675,9 @@ subroutine psi_zswaptranv(flag,beta,y,desc_a,work,info,data) proc_to_comm = d_idx(pnti+psb_proc_id_) nerv = d_idx(pnti+psb_n_elem_recv_) nesd = d_idx(pnti+nerv+psb_n_elem_send_) + call psb_get_rank(prcid(i),ictxt,proc_to_comm) if (nesd>0) then p2ptag = krecvid(ictxt,proc_to_comm,me) - call psb_get_rank(prcid(i),ictxt,proc_to_comm) call mpi_irecv(sndbuf(snd_pt),nesd,& & mpi_double_complex,prcid(i),& & p2ptag,icomm,rvhd(i),iret)