mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-06 22:55:08 +00:00
New get_mpi_comm and get_mpi_rank, code and docs
This commit is contained in:
@@ -263,7 +263,7 @@ subroutine psi_cswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx, &
|
||||
nesd = idx%v(pnti+nerv+psb_n_elem_send_)
|
||||
|
||||
rcv_pt = 1+pnti+psb_n_elem_recv_
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nerv>0).and.(proc_to_comm /= me)) then
|
||||
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
|
||||
p2ptag = psb_complex_swap_tag
|
||||
@@ -602,7 +602,7 @@ subroutine psi_cswap_vidx_multivect(iictxt,iicomm,flag,beta,y,idx, &
|
||||
proc_to_comm = idx%v(pnti+psb_proc_id_)
|
||||
nerv = idx%v(pnti+psb_n_elem_recv_)
|
||||
nesd = idx%v(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nerv>0).and.(proc_to_comm /= me)) then
|
||||
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
|
||||
p2ptag = psb_complex_swap_tag
|
||||
|
||||
@@ -236,7 +236,7 @@ subroutine psi_cswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(proc_to_comm) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(proc_to_comm) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
|
||||
brvidx(proc_to_comm) = rcv_pt
|
||||
rvsz(proc_to_comm) = n*nerv
|
||||
@@ -349,7 +349,7 @@ subroutine psi_cswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nerv>0).and.(proc_to_comm /= me)) then
|
||||
p2ptag = psb_complex_swap_tag
|
||||
call mpi_irecv(rcvbuf(rcv_pt),n*nerv,&
|
||||
@@ -721,7 +721,7 @@ subroutine psi_cswapidxv(iictxt,iicomm,flag,beta,y,idx, &
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(proc_to_comm) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(proc_to_comm) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
|
||||
brvidx(proc_to_comm) = rcv_pt
|
||||
rvsz(proc_to_comm) = nerv
|
||||
@@ -835,7 +835,7 @@ subroutine psi_cswapidxv(iictxt,iicomm,flag,beta,y,idx, &
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nerv>0).and.(proc_to_comm /= me)) then
|
||||
p2ptag = psb_complex_swap_tag
|
||||
call mpi_irecv(rcvbuf(rcv_pt),nerv,&
|
||||
|
||||
@@ -269,7 +269,7 @@ subroutine psi_ctran_vidx_vect(iictxt,iicomm,flag,beta,y,idx,&
|
||||
|
||||
snd_pt = 1+pnti+nerv+psb_n_elem_send_
|
||||
rcv_pt = 1+pnti+psb_n_elem_recv_
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nesd>0).and.(proc_to_comm /= me)) then
|
||||
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
|
||||
call mpi_irecv(y%combuf(snd_pt),nesd,&
|
||||
@@ -616,7 +616,7 @@ subroutine psi_ctran_vidx_multivect(iictxt,iicomm,flag,beta,y,idx,&
|
||||
proc_to_comm = idx%v(pnti+psb_proc_id_)
|
||||
nerv = idx%v(pnti+psb_n_elem_recv_)
|
||||
nesd = idx%v(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nesd>0).and.(proc_to_comm /= me)) then
|
||||
if (debug) write(*,*) me,'Posting receive from',prcid(i),snd_pt
|
||||
call mpi_irecv(y%combuf(snd_pt),n*nesd,&
|
||||
|
||||
@@ -241,7 +241,7 @@ subroutine psi_ctranidxm(iictxt,iicomm,flag,n,beta,y,idx,&
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(proc_to_comm) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(proc_to_comm) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
|
||||
brvidx(proc_to_comm) = rcv_pt
|
||||
rvsz(proc_to_comm) = n*nerv
|
||||
@@ -359,7 +359,7 @@ subroutine psi_ctranidxm(iictxt,iicomm,flag,n,beta,y,idx,&
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nesd>0).and.(proc_to_comm /= me)) then
|
||||
p2ptag = psb_complex_swap_tag
|
||||
call mpi_irecv(sndbuf(snd_pt),n*nesd,&
|
||||
@@ -734,7 +734,7 @@ subroutine psi_ctranidxv(iictxt,iicomm,flag,beta,y,idx,&
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(proc_to_comm) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(proc_to_comm) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
|
||||
brvidx(proc_to_comm) = rcv_pt
|
||||
rvsz(proc_to_comm) = nerv
|
||||
@@ -852,7 +852,7 @@ subroutine psi_ctranidxv(iictxt,iicomm,flag,beta,y,idx,&
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nesd>0).and.(proc_to_comm /= me)) then
|
||||
p2ptag = psb_complex_swap_tag
|
||||
call mpi_irecv(sndbuf(snd_pt),nesd,&
|
||||
|
||||
@@ -263,7 +263,7 @@ subroutine psi_dswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx, &
|
||||
nesd = idx%v(pnti+nerv+psb_n_elem_send_)
|
||||
|
||||
rcv_pt = 1+pnti+psb_n_elem_recv_
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nerv>0).and.(proc_to_comm /= me)) then
|
||||
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
|
||||
p2ptag = psb_double_swap_tag
|
||||
@@ -602,7 +602,7 @@ subroutine psi_dswap_vidx_multivect(iictxt,iicomm,flag,beta,y,idx, &
|
||||
proc_to_comm = idx%v(pnti+psb_proc_id_)
|
||||
nerv = idx%v(pnti+psb_n_elem_recv_)
|
||||
nesd = idx%v(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nerv>0).and.(proc_to_comm /= me)) then
|
||||
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
|
||||
p2ptag = psb_double_swap_tag
|
||||
|
||||
@@ -236,7 +236,7 @@ subroutine psi_dswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(proc_to_comm) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(proc_to_comm) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
|
||||
brvidx(proc_to_comm) = rcv_pt
|
||||
rvsz(proc_to_comm) = n*nerv
|
||||
@@ -349,7 +349,7 @@ subroutine psi_dswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nerv>0).and.(proc_to_comm /= me)) then
|
||||
p2ptag = psb_double_swap_tag
|
||||
call mpi_irecv(rcvbuf(rcv_pt),n*nerv,&
|
||||
@@ -721,7 +721,7 @@ subroutine psi_dswapidxv(iictxt,iicomm,flag,beta,y,idx, &
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(proc_to_comm) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(proc_to_comm) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
|
||||
brvidx(proc_to_comm) = rcv_pt
|
||||
rvsz(proc_to_comm) = nerv
|
||||
@@ -835,7 +835,7 @@ subroutine psi_dswapidxv(iictxt,iicomm,flag,beta,y,idx, &
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nerv>0).and.(proc_to_comm /= me)) then
|
||||
p2ptag = psb_double_swap_tag
|
||||
call mpi_irecv(rcvbuf(rcv_pt),nerv,&
|
||||
|
||||
@@ -269,7 +269,7 @@ subroutine psi_dtran_vidx_vect(iictxt,iicomm,flag,beta,y,idx,&
|
||||
|
||||
snd_pt = 1+pnti+nerv+psb_n_elem_send_
|
||||
rcv_pt = 1+pnti+psb_n_elem_recv_
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nesd>0).and.(proc_to_comm /= me)) then
|
||||
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
|
||||
call mpi_irecv(y%combuf(snd_pt),nesd,&
|
||||
@@ -616,7 +616,7 @@ subroutine psi_dtran_vidx_multivect(iictxt,iicomm,flag,beta,y,idx,&
|
||||
proc_to_comm = idx%v(pnti+psb_proc_id_)
|
||||
nerv = idx%v(pnti+psb_n_elem_recv_)
|
||||
nesd = idx%v(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nesd>0).and.(proc_to_comm /= me)) then
|
||||
if (debug) write(*,*) me,'Posting receive from',prcid(i),snd_pt
|
||||
call mpi_irecv(y%combuf(snd_pt),n*nesd,&
|
||||
|
||||
@@ -241,7 +241,7 @@ subroutine psi_dtranidxm(iictxt,iicomm,flag,n,beta,y,idx,&
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(proc_to_comm) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(proc_to_comm) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
|
||||
brvidx(proc_to_comm) = rcv_pt
|
||||
rvsz(proc_to_comm) = n*nerv
|
||||
@@ -359,7 +359,7 @@ subroutine psi_dtranidxm(iictxt,iicomm,flag,n,beta,y,idx,&
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nesd>0).and.(proc_to_comm /= me)) then
|
||||
p2ptag = psb_double_swap_tag
|
||||
call mpi_irecv(sndbuf(snd_pt),n*nesd,&
|
||||
@@ -734,7 +734,7 @@ subroutine psi_dtranidxv(iictxt,iicomm,flag,beta,y,idx,&
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(proc_to_comm) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(proc_to_comm) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
|
||||
brvidx(proc_to_comm) = rcv_pt
|
||||
rvsz(proc_to_comm) = nerv
|
||||
@@ -852,7 +852,7 @@ subroutine psi_dtranidxv(iictxt,iicomm,flag,beta,y,idx,&
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nesd>0).and.(proc_to_comm /= me)) then
|
||||
p2ptag = psb_double_swap_tag
|
||||
call mpi_irecv(sndbuf(snd_pt),nesd,&
|
||||
|
||||
@@ -236,7 +236,7 @@ subroutine psi_eswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(proc_to_comm) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(proc_to_comm) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
|
||||
brvidx(proc_to_comm) = rcv_pt
|
||||
rvsz(proc_to_comm) = n*nerv
|
||||
@@ -349,7 +349,7 @@ subroutine psi_eswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nerv>0).and.(proc_to_comm /= me)) then
|
||||
p2ptag = psb_int8_swap_tag
|
||||
call mpi_irecv(rcvbuf(rcv_pt),n*nerv,&
|
||||
@@ -721,7 +721,7 @@ subroutine psi_eswapidxv(iictxt,iicomm,flag,beta,y,idx, &
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(proc_to_comm) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(proc_to_comm) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
|
||||
brvidx(proc_to_comm) = rcv_pt
|
||||
rvsz(proc_to_comm) = nerv
|
||||
@@ -835,7 +835,7 @@ subroutine psi_eswapidxv(iictxt,iicomm,flag,beta,y,idx, &
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nerv>0).and.(proc_to_comm /= me)) then
|
||||
p2ptag = psb_int8_swap_tag
|
||||
call mpi_irecv(rcvbuf(rcv_pt),nerv,&
|
||||
|
||||
@@ -241,7 +241,7 @@ subroutine psi_etranidxm(iictxt,iicomm,flag,n,beta,y,idx,&
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(proc_to_comm) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(proc_to_comm) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
|
||||
brvidx(proc_to_comm) = rcv_pt
|
||||
rvsz(proc_to_comm) = n*nerv
|
||||
@@ -359,7 +359,7 @@ subroutine psi_etranidxm(iictxt,iicomm,flag,n,beta,y,idx,&
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nesd>0).and.(proc_to_comm /= me)) then
|
||||
p2ptag = psb_int8_swap_tag
|
||||
call mpi_irecv(sndbuf(snd_pt),n*nesd,&
|
||||
@@ -734,7 +734,7 @@ subroutine psi_etranidxv(iictxt,iicomm,flag,beta,y,idx,&
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(proc_to_comm) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(proc_to_comm) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
|
||||
brvidx(proc_to_comm) = rcv_pt
|
||||
rvsz(proc_to_comm) = nerv
|
||||
@@ -852,7 +852,7 @@ subroutine psi_etranidxv(iictxt,iicomm,flag,beta,y,idx,&
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nesd>0).and.(proc_to_comm /= me)) then
|
||||
p2ptag = psb_int8_swap_tag
|
||||
call mpi_irecv(sndbuf(snd_pt),nesd,&
|
||||
|
||||
@@ -263,7 +263,7 @@ subroutine psi_iswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx, &
|
||||
nesd = idx%v(pnti+nerv+psb_n_elem_send_)
|
||||
|
||||
rcv_pt = 1+pnti+psb_n_elem_recv_
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nerv>0).and.(proc_to_comm /= me)) then
|
||||
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
|
||||
p2ptag = psb_int_swap_tag
|
||||
@@ -602,7 +602,7 @@ subroutine psi_iswap_vidx_multivect(iictxt,iicomm,flag,beta,y,idx, &
|
||||
proc_to_comm = idx%v(pnti+psb_proc_id_)
|
||||
nerv = idx%v(pnti+psb_n_elem_recv_)
|
||||
nesd = idx%v(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nerv>0).and.(proc_to_comm /= me)) then
|
||||
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
|
||||
p2ptag = psb_int_swap_tag
|
||||
|
||||
@@ -269,7 +269,7 @@ subroutine psi_itran_vidx_vect(iictxt,iicomm,flag,beta,y,idx,&
|
||||
|
||||
snd_pt = 1+pnti+nerv+psb_n_elem_send_
|
||||
rcv_pt = 1+pnti+psb_n_elem_recv_
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nesd>0).and.(proc_to_comm /= me)) then
|
||||
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
|
||||
call mpi_irecv(y%combuf(snd_pt),nesd,&
|
||||
@@ -616,7 +616,7 @@ subroutine psi_itran_vidx_multivect(iictxt,iicomm,flag,beta,y,idx,&
|
||||
proc_to_comm = idx%v(pnti+psb_proc_id_)
|
||||
nerv = idx%v(pnti+psb_n_elem_recv_)
|
||||
nesd = idx%v(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nesd>0).and.(proc_to_comm /= me)) then
|
||||
if (debug) write(*,*) me,'Posting receive from',prcid(i),snd_pt
|
||||
call mpi_irecv(y%combuf(snd_pt),n*nesd,&
|
||||
|
||||
@@ -263,7 +263,7 @@ subroutine psi_lswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx, &
|
||||
nesd = idx%v(pnti+nerv+psb_n_elem_send_)
|
||||
|
||||
rcv_pt = 1+pnti+psb_n_elem_recv_
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nerv>0).and.(proc_to_comm /= me)) then
|
||||
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
|
||||
p2ptag = psb_long_swap_tag
|
||||
@@ -602,7 +602,7 @@ subroutine psi_lswap_vidx_multivect(iictxt,iicomm,flag,beta,y,idx, &
|
||||
proc_to_comm = idx%v(pnti+psb_proc_id_)
|
||||
nerv = idx%v(pnti+psb_n_elem_recv_)
|
||||
nesd = idx%v(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nerv>0).and.(proc_to_comm /= me)) then
|
||||
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
|
||||
p2ptag = psb_long_swap_tag
|
||||
|
||||
@@ -269,7 +269,7 @@ subroutine psi_ltran_vidx_vect(iictxt,iicomm,flag,beta,y,idx,&
|
||||
|
||||
snd_pt = 1+pnti+nerv+psb_n_elem_send_
|
||||
rcv_pt = 1+pnti+psb_n_elem_recv_
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nesd>0).and.(proc_to_comm /= me)) then
|
||||
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
|
||||
call mpi_irecv(y%combuf(snd_pt),nesd,&
|
||||
@@ -616,7 +616,7 @@ subroutine psi_ltran_vidx_multivect(iictxt,iicomm,flag,beta,y,idx,&
|
||||
proc_to_comm = idx%v(pnti+psb_proc_id_)
|
||||
nerv = idx%v(pnti+psb_n_elem_recv_)
|
||||
nesd = idx%v(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nesd>0).and.(proc_to_comm /= me)) then
|
||||
if (debug) write(*,*) me,'Posting receive from',prcid(i),snd_pt
|
||||
call mpi_irecv(y%combuf(snd_pt),n*nesd,&
|
||||
|
||||
@@ -236,7 +236,7 @@ subroutine psi_mswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(proc_to_comm) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(proc_to_comm) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
|
||||
brvidx(proc_to_comm) = rcv_pt
|
||||
rvsz(proc_to_comm) = n*nerv
|
||||
@@ -349,7 +349,7 @@ subroutine psi_mswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nerv>0).and.(proc_to_comm /= me)) then
|
||||
p2ptag = psb_int4_swap_tag
|
||||
call mpi_irecv(rcvbuf(rcv_pt),n*nerv,&
|
||||
@@ -721,7 +721,7 @@ subroutine psi_mswapidxv(iictxt,iicomm,flag,beta,y,idx, &
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(proc_to_comm) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(proc_to_comm) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
|
||||
brvidx(proc_to_comm) = rcv_pt
|
||||
rvsz(proc_to_comm) = nerv
|
||||
@@ -835,7 +835,7 @@ subroutine psi_mswapidxv(iictxt,iicomm,flag,beta,y,idx, &
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nerv>0).and.(proc_to_comm /= me)) then
|
||||
p2ptag = psb_int4_swap_tag
|
||||
call mpi_irecv(rcvbuf(rcv_pt),nerv,&
|
||||
|
||||
@@ -241,7 +241,7 @@ subroutine psi_mtranidxm(iictxt,iicomm,flag,n,beta,y,idx,&
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(proc_to_comm) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(proc_to_comm) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
|
||||
brvidx(proc_to_comm) = rcv_pt
|
||||
rvsz(proc_to_comm) = n*nerv
|
||||
@@ -359,7 +359,7 @@ subroutine psi_mtranidxm(iictxt,iicomm,flag,n,beta,y,idx,&
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nesd>0).and.(proc_to_comm /= me)) then
|
||||
p2ptag = psb_int4_swap_tag
|
||||
call mpi_irecv(sndbuf(snd_pt),n*nesd,&
|
||||
@@ -734,7 +734,7 @@ subroutine psi_mtranidxv(iictxt,iicomm,flag,beta,y,idx,&
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(proc_to_comm) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(proc_to_comm) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
|
||||
brvidx(proc_to_comm) = rcv_pt
|
||||
rvsz(proc_to_comm) = nerv
|
||||
@@ -852,7 +852,7 @@ subroutine psi_mtranidxv(iictxt,iicomm,flag,beta,y,idx,&
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nesd>0).and.(proc_to_comm /= me)) then
|
||||
p2ptag = psb_int4_swap_tag
|
||||
call mpi_irecv(sndbuf(snd_pt),nesd,&
|
||||
|
||||
@@ -263,7 +263,7 @@ subroutine psi_sswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx, &
|
||||
nesd = idx%v(pnti+nerv+psb_n_elem_send_)
|
||||
|
||||
rcv_pt = 1+pnti+psb_n_elem_recv_
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nerv>0).and.(proc_to_comm /= me)) then
|
||||
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
|
||||
p2ptag = psb_real_swap_tag
|
||||
@@ -602,7 +602,7 @@ subroutine psi_sswap_vidx_multivect(iictxt,iicomm,flag,beta,y,idx, &
|
||||
proc_to_comm = idx%v(pnti+psb_proc_id_)
|
||||
nerv = idx%v(pnti+psb_n_elem_recv_)
|
||||
nesd = idx%v(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nerv>0).and.(proc_to_comm /= me)) then
|
||||
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
|
||||
p2ptag = psb_real_swap_tag
|
||||
|
||||
@@ -236,7 +236,7 @@ subroutine psi_sswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(proc_to_comm) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(proc_to_comm) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
|
||||
brvidx(proc_to_comm) = rcv_pt
|
||||
rvsz(proc_to_comm) = n*nerv
|
||||
@@ -349,7 +349,7 @@ subroutine psi_sswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nerv>0).and.(proc_to_comm /= me)) then
|
||||
p2ptag = psb_real_swap_tag
|
||||
call mpi_irecv(rcvbuf(rcv_pt),n*nerv,&
|
||||
@@ -721,7 +721,7 @@ subroutine psi_sswapidxv(iictxt,iicomm,flag,beta,y,idx, &
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(proc_to_comm) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(proc_to_comm) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
|
||||
brvidx(proc_to_comm) = rcv_pt
|
||||
rvsz(proc_to_comm) = nerv
|
||||
@@ -835,7 +835,7 @@ subroutine psi_sswapidxv(iictxt,iicomm,flag,beta,y,idx, &
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nerv>0).and.(proc_to_comm /= me)) then
|
||||
p2ptag = psb_real_swap_tag
|
||||
call mpi_irecv(rcvbuf(rcv_pt),nerv,&
|
||||
|
||||
@@ -269,7 +269,7 @@ subroutine psi_stran_vidx_vect(iictxt,iicomm,flag,beta,y,idx,&
|
||||
|
||||
snd_pt = 1+pnti+nerv+psb_n_elem_send_
|
||||
rcv_pt = 1+pnti+psb_n_elem_recv_
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nesd>0).and.(proc_to_comm /= me)) then
|
||||
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
|
||||
call mpi_irecv(y%combuf(snd_pt),nesd,&
|
||||
@@ -616,7 +616,7 @@ subroutine psi_stran_vidx_multivect(iictxt,iicomm,flag,beta,y,idx,&
|
||||
proc_to_comm = idx%v(pnti+psb_proc_id_)
|
||||
nerv = idx%v(pnti+psb_n_elem_recv_)
|
||||
nesd = idx%v(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nesd>0).and.(proc_to_comm /= me)) then
|
||||
if (debug) write(*,*) me,'Posting receive from',prcid(i),snd_pt
|
||||
call mpi_irecv(y%combuf(snd_pt),n*nesd,&
|
||||
|
||||
@@ -241,7 +241,7 @@ subroutine psi_stranidxm(iictxt,iicomm,flag,n,beta,y,idx,&
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(proc_to_comm) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(proc_to_comm) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
|
||||
brvidx(proc_to_comm) = rcv_pt
|
||||
rvsz(proc_to_comm) = n*nerv
|
||||
@@ -359,7 +359,7 @@ subroutine psi_stranidxm(iictxt,iicomm,flag,n,beta,y,idx,&
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nesd>0).and.(proc_to_comm /= me)) then
|
||||
p2ptag = psb_real_swap_tag
|
||||
call mpi_irecv(sndbuf(snd_pt),n*nesd,&
|
||||
@@ -734,7 +734,7 @@ subroutine psi_stranidxv(iictxt,iicomm,flag,beta,y,idx,&
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(proc_to_comm) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(proc_to_comm) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
|
||||
brvidx(proc_to_comm) = rcv_pt
|
||||
rvsz(proc_to_comm) = nerv
|
||||
@@ -852,7 +852,7 @@ subroutine psi_stranidxv(iictxt,iicomm,flag,beta,y,idx,&
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nesd>0).and.(proc_to_comm /= me)) then
|
||||
p2ptag = psb_real_swap_tag
|
||||
call mpi_irecv(sndbuf(snd_pt),nesd,&
|
||||
|
||||
@@ -263,7 +263,7 @@ subroutine psi_zswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx, &
|
||||
nesd = idx%v(pnti+nerv+psb_n_elem_send_)
|
||||
|
||||
rcv_pt = 1+pnti+psb_n_elem_recv_
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nerv>0).and.(proc_to_comm /= me)) then
|
||||
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
|
||||
p2ptag = psb_dcomplex_swap_tag
|
||||
@@ -602,7 +602,7 @@ subroutine psi_zswap_vidx_multivect(iictxt,iicomm,flag,beta,y,idx, &
|
||||
proc_to_comm = idx%v(pnti+psb_proc_id_)
|
||||
nerv = idx%v(pnti+psb_n_elem_recv_)
|
||||
nesd = idx%v(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nerv>0).and.(proc_to_comm /= me)) then
|
||||
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
|
||||
p2ptag = psb_dcomplex_swap_tag
|
||||
|
||||
@@ -236,7 +236,7 @@ subroutine psi_zswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(proc_to_comm) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(proc_to_comm) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
|
||||
brvidx(proc_to_comm) = rcv_pt
|
||||
rvsz(proc_to_comm) = n*nerv
|
||||
@@ -349,7 +349,7 @@ subroutine psi_zswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nerv>0).and.(proc_to_comm /= me)) then
|
||||
p2ptag = psb_dcomplex_swap_tag
|
||||
call mpi_irecv(rcvbuf(rcv_pt),n*nerv,&
|
||||
@@ -721,7 +721,7 @@ subroutine psi_zswapidxv(iictxt,iicomm,flag,beta,y,idx, &
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(proc_to_comm) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(proc_to_comm) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
|
||||
brvidx(proc_to_comm) = rcv_pt
|
||||
rvsz(proc_to_comm) = nerv
|
||||
@@ -835,7 +835,7 @@ subroutine psi_zswapidxv(iictxt,iicomm,flag,beta,y,idx, &
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nerv>0).and.(proc_to_comm /= me)) then
|
||||
p2ptag = psb_dcomplex_swap_tag
|
||||
call mpi_irecv(rcvbuf(rcv_pt),nerv,&
|
||||
|
||||
@@ -269,7 +269,7 @@ subroutine psi_ztran_vidx_vect(iictxt,iicomm,flag,beta,y,idx,&
|
||||
|
||||
snd_pt = 1+pnti+nerv+psb_n_elem_send_
|
||||
rcv_pt = 1+pnti+psb_n_elem_recv_
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nesd>0).and.(proc_to_comm /= me)) then
|
||||
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
|
||||
call mpi_irecv(y%combuf(snd_pt),nesd,&
|
||||
@@ -616,7 +616,7 @@ subroutine psi_ztran_vidx_multivect(iictxt,iicomm,flag,beta,y,idx,&
|
||||
proc_to_comm = idx%v(pnti+psb_proc_id_)
|
||||
nerv = idx%v(pnti+psb_n_elem_recv_)
|
||||
nesd = idx%v(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nesd>0).and.(proc_to_comm /= me)) then
|
||||
if (debug) write(*,*) me,'Posting receive from',prcid(i),snd_pt
|
||||
call mpi_irecv(y%combuf(snd_pt),n*nesd,&
|
||||
|
||||
@@ -241,7 +241,7 @@ subroutine psi_ztranidxm(iictxt,iicomm,flag,n,beta,y,idx,&
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(proc_to_comm) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(proc_to_comm) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
|
||||
brvidx(proc_to_comm) = rcv_pt
|
||||
rvsz(proc_to_comm) = n*nerv
|
||||
@@ -359,7 +359,7 @@ subroutine psi_ztranidxm(iictxt,iicomm,flag,n,beta,y,idx,&
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nesd>0).and.(proc_to_comm /= me)) then
|
||||
p2ptag = psb_dcomplex_swap_tag
|
||||
call mpi_irecv(sndbuf(snd_pt),n*nesd,&
|
||||
@@ -734,7 +734,7 @@ subroutine psi_ztranidxv(iictxt,iicomm,flag,beta,y,idx,&
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(proc_to_comm) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(proc_to_comm) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
|
||||
brvidx(proc_to_comm) = rcv_pt
|
||||
rvsz(proc_to_comm) = nerv
|
||||
@@ -852,7 +852,7 @@ subroutine psi_ztranidxv(iictxt,iicomm,flag,beta,y,idx,&
|
||||
proc_to_comm = idx(pnti+psb_proc_id_)
|
||||
nerv = idx(pnti+psb_n_elem_recv_)
|
||||
nesd = idx(pnti+nerv+psb_n_elem_send_)
|
||||
prcid(i) = psb_get_rank(ictxt,proc_to_comm)
|
||||
prcid(i) = psb_get_mpi_rank(ictxt,proc_to_comm)
|
||||
if ((nesd>0).and.(proc_to_comm /= me)) then
|
||||
p2ptag = psb_dcomplex_swap_tag
|
||||
call mpi_irecv(sndbuf(snd_pt),nesd,&
|
||||
|
||||
@@ -107,8 +107,8 @@ subroutine psb_cscatterm(globx, locx, desc_a, info, root)
|
||||
|
||||
m = desc_a%get_global_rows()
|
||||
n = desc_a%get_global_cols()
|
||||
icomm = psb_get_mpicomm(ictxt)
|
||||
myrank = psb_get_rank(ictxt,me)
|
||||
icomm = psb_get_mpi_comm(ictxt)
|
||||
myrank = psb_get_mpi_rank(ictxt,me)
|
||||
|
||||
if (iroot==-1) then
|
||||
lda_globx = size(globx, 1)
|
||||
@@ -159,7 +159,7 @@ subroutine psb_cscatterm(globx, locx, desc_a, info, root)
|
||||
end do
|
||||
else
|
||||
|
||||
rootrank = psb_get_rank(ictxt,iroot)
|
||||
rootrank = psb_get_mpi_rank(ictxt,iroot)
|
||||
!
|
||||
! This is potentially unsafe when IPK=8
|
||||
! But then, IPK=8 is highly experimental anyway.
|
||||
@@ -347,8 +347,8 @@ subroutine psb_cscatterv(globx, locx, desc_a, info, root)
|
||||
iroot = psb_root_
|
||||
end if
|
||||
|
||||
icomm = psb_get_mpicomm(ictxt)
|
||||
myrank = psb_get_rank(ictxt,iam)
|
||||
icomm = psb_get_mpi_comm(ictxt)
|
||||
myrank = psb_get_mpi_rank(ictxt,iam)
|
||||
|
||||
iglobx = 1
|
||||
jglobx = 1
|
||||
@@ -394,7 +394,7 @@ subroutine psb_cscatterv(globx, locx, desc_a, info, root)
|
||||
locx(i)=globx(ltg(i))
|
||||
end do
|
||||
else
|
||||
rootrank = psb_get_rank(ictxt,iroot)
|
||||
rootrank = psb_get_mpi_rank(ictxt,iroot)
|
||||
!
|
||||
! This is potentially unsafe when IPK=8
|
||||
! But then, IPK=8 is highly experimental anyway.
|
||||
|
||||
@@ -107,8 +107,8 @@ subroutine psb_dscatterm(globx, locx, desc_a, info, root)
|
||||
|
||||
m = desc_a%get_global_rows()
|
||||
n = desc_a%get_global_cols()
|
||||
icomm = psb_get_mpicomm(ictxt)
|
||||
myrank = psb_get_rank(ictxt,me)
|
||||
icomm = psb_get_mpi_comm(ictxt)
|
||||
myrank = psb_get_mpi_rank(ictxt,me)
|
||||
|
||||
if (iroot==-1) then
|
||||
lda_globx = size(globx, 1)
|
||||
@@ -159,7 +159,7 @@ subroutine psb_dscatterm(globx, locx, desc_a, info, root)
|
||||
end do
|
||||
else
|
||||
|
||||
rootrank = psb_get_rank(ictxt,iroot)
|
||||
rootrank = psb_get_mpi_rank(ictxt,iroot)
|
||||
!
|
||||
! This is potentially unsafe when IPK=8
|
||||
! But then, IPK=8 is highly experimental anyway.
|
||||
@@ -347,8 +347,8 @@ subroutine psb_dscatterv(globx, locx, desc_a, info, root)
|
||||
iroot = psb_root_
|
||||
end if
|
||||
|
||||
icomm = psb_get_mpicomm(ictxt)
|
||||
myrank = psb_get_rank(ictxt,iam)
|
||||
icomm = psb_get_mpi_comm(ictxt)
|
||||
myrank = psb_get_mpi_rank(ictxt,iam)
|
||||
|
||||
iglobx = 1
|
||||
jglobx = 1
|
||||
@@ -394,7 +394,7 @@ subroutine psb_dscatterv(globx, locx, desc_a, info, root)
|
||||
locx(i)=globx(ltg(i))
|
||||
end do
|
||||
else
|
||||
rootrank = psb_get_rank(ictxt,iroot)
|
||||
rootrank = psb_get_mpi_rank(ictxt,iroot)
|
||||
!
|
||||
! This is potentially unsafe when IPK=8
|
||||
! But then, IPK=8 is highly experimental anyway.
|
||||
|
||||
@@ -107,8 +107,8 @@ subroutine psb_escatterm(globx, locx, desc_a, info, root)
|
||||
|
||||
m = desc_a%get_global_rows()
|
||||
n = desc_a%get_global_cols()
|
||||
icomm = psb_get_mpicomm(ictxt)
|
||||
myrank = psb_get_rank(ictxt,me)
|
||||
icomm = psb_get_mpi_comm(ictxt)
|
||||
myrank = psb_get_mpi_rank(ictxt,me)
|
||||
|
||||
if (iroot==-1) then
|
||||
lda_globx = size(globx, 1)
|
||||
@@ -159,7 +159,7 @@ subroutine psb_escatterm(globx, locx, desc_a, info, root)
|
||||
end do
|
||||
else
|
||||
|
||||
rootrank = psb_get_rank(ictxt,iroot)
|
||||
rootrank = psb_get_mpi_rank(ictxt,iroot)
|
||||
!
|
||||
! This is potentially unsafe when IPK=8
|
||||
! But then, IPK=8 is highly experimental anyway.
|
||||
@@ -347,8 +347,8 @@ subroutine psb_escatterv(globx, locx, desc_a, info, root)
|
||||
iroot = psb_root_
|
||||
end if
|
||||
|
||||
icomm = psb_get_mpicomm(ictxt)
|
||||
myrank = psb_get_rank(ictxt,iam)
|
||||
icomm = psb_get_mpi_comm(ictxt)
|
||||
myrank = psb_get_mpi_rank(ictxt,iam)
|
||||
|
||||
iglobx = 1
|
||||
jglobx = 1
|
||||
@@ -394,7 +394,7 @@ subroutine psb_escatterv(globx, locx, desc_a, info, root)
|
||||
locx(i)=globx(ltg(i))
|
||||
end do
|
||||
else
|
||||
rootrank = psb_get_rank(ictxt,iroot)
|
||||
rootrank = psb_get_mpi_rank(ictxt,iroot)
|
||||
!
|
||||
! This is potentially unsafe when IPK=8
|
||||
! But then, IPK=8 is highly experimental anyway.
|
||||
|
||||
@@ -107,8 +107,8 @@ subroutine psb_mscatterm(globx, locx, desc_a, info, root)
|
||||
|
||||
m = desc_a%get_global_rows()
|
||||
n = desc_a%get_global_cols()
|
||||
icomm = psb_get_mpicomm(ictxt)
|
||||
myrank = psb_get_rank(ictxt,me)
|
||||
icomm = psb_get_mpi_comm(ictxt)
|
||||
myrank = psb_get_mpi_rank(ictxt,me)
|
||||
|
||||
if (iroot==-1) then
|
||||
lda_globx = size(globx, 1)
|
||||
@@ -159,7 +159,7 @@ subroutine psb_mscatterm(globx, locx, desc_a, info, root)
|
||||
end do
|
||||
else
|
||||
|
||||
rootrank = psb_get_rank(ictxt,iroot)
|
||||
rootrank = psb_get_mpi_rank(ictxt,iroot)
|
||||
!
|
||||
! This is potentially unsafe when IPK=8
|
||||
! But then, IPK=8 is highly experimental anyway.
|
||||
@@ -347,8 +347,8 @@ subroutine psb_mscatterv(globx, locx, desc_a, info, root)
|
||||
iroot = psb_root_
|
||||
end if
|
||||
|
||||
icomm = psb_get_mpicomm(ictxt)
|
||||
myrank = psb_get_rank(ictxt,iam)
|
||||
icomm = psb_get_mpi_comm(ictxt)
|
||||
myrank = psb_get_mpi_rank(ictxt,iam)
|
||||
|
||||
iglobx = 1
|
||||
jglobx = 1
|
||||
@@ -394,7 +394,7 @@ subroutine psb_mscatterv(globx, locx, desc_a, info, root)
|
||||
locx(i)=globx(ltg(i))
|
||||
end do
|
||||
else
|
||||
rootrank = psb_get_rank(ictxt,iroot)
|
||||
rootrank = psb_get_mpi_rank(ictxt,iroot)
|
||||
!
|
||||
! This is potentially unsafe when IPK=8
|
||||
! But then, IPK=8 is highly experimental anyway.
|
||||
|
||||
@@ -107,8 +107,8 @@ subroutine psb_sscatterm(globx, locx, desc_a, info, root)
|
||||
|
||||
m = desc_a%get_global_rows()
|
||||
n = desc_a%get_global_cols()
|
||||
icomm = psb_get_mpicomm(ictxt)
|
||||
myrank = psb_get_rank(ictxt,me)
|
||||
icomm = psb_get_mpi_comm(ictxt)
|
||||
myrank = psb_get_mpi_rank(ictxt,me)
|
||||
|
||||
if (iroot==-1) then
|
||||
lda_globx = size(globx, 1)
|
||||
@@ -159,7 +159,7 @@ subroutine psb_sscatterm(globx, locx, desc_a, info, root)
|
||||
end do
|
||||
else
|
||||
|
||||
rootrank = psb_get_rank(ictxt,iroot)
|
||||
rootrank = psb_get_mpi_rank(ictxt,iroot)
|
||||
!
|
||||
! This is potentially unsafe when IPK=8
|
||||
! But then, IPK=8 is highly experimental anyway.
|
||||
@@ -347,8 +347,8 @@ subroutine psb_sscatterv(globx, locx, desc_a, info, root)
|
||||
iroot = psb_root_
|
||||
end if
|
||||
|
||||
icomm = psb_get_mpicomm(ictxt)
|
||||
myrank = psb_get_rank(ictxt,iam)
|
||||
icomm = psb_get_mpi_comm(ictxt)
|
||||
myrank = psb_get_mpi_rank(ictxt,iam)
|
||||
|
||||
iglobx = 1
|
||||
jglobx = 1
|
||||
@@ -394,7 +394,7 @@ subroutine psb_sscatterv(globx, locx, desc_a, info, root)
|
||||
locx(i)=globx(ltg(i))
|
||||
end do
|
||||
else
|
||||
rootrank = psb_get_rank(ictxt,iroot)
|
||||
rootrank = psb_get_mpi_rank(ictxt,iroot)
|
||||
!
|
||||
! This is potentially unsafe when IPK=8
|
||||
! But then, IPK=8 is highly experimental anyway.
|
||||
|
||||
@@ -107,8 +107,8 @@ subroutine psb_zscatterm(globx, locx, desc_a, info, root)
|
||||
|
||||
m = desc_a%get_global_rows()
|
||||
n = desc_a%get_global_cols()
|
||||
icomm = psb_get_mpicomm(ictxt)
|
||||
myrank = psb_get_rank(ictxt,me)
|
||||
icomm = psb_get_mpi_comm(ictxt)
|
||||
myrank = psb_get_mpi_rank(ictxt,me)
|
||||
|
||||
if (iroot==-1) then
|
||||
lda_globx = size(globx, 1)
|
||||
@@ -159,7 +159,7 @@ subroutine psb_zscatterm(globx, locx, desc_a, info, root)
|
||||
end do
|
||||
else
|
||||
|
||||
rootrank = psb_get_rank(ictxt,iroot)
|
||||
rootrank = psb_get_mpi_rank(ictxt,iroot)
|
||||
!
|
||||
! This is potentially unsafe when IPK=8
|
||||
! But then, IPK=8 is highly experimental anyway.
|
||||
@@ -347,8 +347,8 @@ subroutine psb_zscatterv(globx, locx, desc_a, info, root)
|
||||
iroot = psb_root_
|
||||
end if
|
||||
|
||||
icomm = psb_get_mpicomm(ictxt)
|
||||
myrank = psb_get_rank(ictxt,iam)
|
||||
icomm = psb_get_mpi_comm(ictxt)
|
||||
myrank = psb_get_mpi_rank(ictxt,iam)
|
||||
|
||||
iglobx = 1
|
||||
jglobx = 1
|
||||
@@ -394,7 +394,7 @@ subroutine psb_zscatterv(globx, locx, desc_a, info, root)
|
||||
locx(i)=globx(ltg(i))
|
||||
end do
|
||||
else
|
||||
rootrank = psb_get_rank(ictxt,iroot)
|
||||
rootrank = psb_get_mpi_rank(ictxt,iroot)
|
||||
!
|
||||
! This is potentially unsafe when IPK=8
|
||||
! But then, IPK=8 is highly experimental anyway.
|
||||
|
||||
@@ -225,7 +225,7 @@ subroutine psi_adjcncy_fnd_owner(idx,iprc,adj,idxmap,info)
|
||||
do i = 0, np-1
|
||||
if (rvsz(i)>0) then
|
||||
! write(0,*) me, ' First receive from ',i,rvsz(i)
|
||||
prc = psb_get_rank(ictxt,i)
|
||||
prc = psb_get_mpi_rank(ictxt,i)
|
||||
p2ptag = psb_long_swap_tag
|
||||
!write(0,*) me, ' Posting first receive from ',i,rvsz(i),prc
|
||||
call mpi_irecv(rmtidx(hidx(i)+1),rvsz(i),&
|
||||
@@ -235,7 +235,7 @@ subroutine psi_adjcncy_fnd_owner(idx,iprc,adj,idxmap,info)
|
||||
end do
|
||||
do j=1, nadj
|
||||
if (nidx > 0) then
|
||||
prc = psb_get_rank(ictxt,adj(j))
|
||||
prc = psb_get_mpi_rank(ictxt,adj(j))
|
||||
p2ptag = psb_long_swap_tag
|
||||
!write(0,*) me, ' First send to ',adj(j),nidx, prc
|
||||
call mpi_send(idx,nidx,&
|
||||
@@ -260,7 +260,7 @@ subroutine psi_adjcncy_fnd_owner(idx,iprc,adj,idxmap,info)
|
||||
do j=1, nadj
|
||||
!write(0,*) me, ' First send to ',adj(j),nidx
|
||||
if (nidx > 0) then
|
||||
prc = psb_get_rank(ictxt,adj(j))
|
||||
prc = psb_get_mpi_rank(ictxt,adj(j))
|
||||
p2ptag = psb_int_swap_tag
|
||||
!write(0,*) me, ' Posting second receive from ',adj(j),nidx, prc
|
||||
call mpi_irecv(lclidx((j-1)*nidx+1),nidx, &
|
||||
@@ -274,7 +274,7 @@ subroutine psi_adjcncy_fnd_owner(idx,iprc,adj,idxmap,info)
|
||||
!
|
||||
do i = 0, np-1
|
||||
if (rvsz(i)>0) then
|
||||
prc = psb_get_rank(ictxt,i)
|
||||
prc = psb_get_mpi_rank(ictxt,i)
|
||||
p2ptag = psb_int_swap_tag
|
||||
!write(0,*) me, ' Second send to ',i,rvsz(i), prc
|
||||
call mpi_send(tproc(hidx(i)+1),rvsz(i),&
|
||||
|
||||
@@ -266,7 +266,7 @@ subroutine psi_i_extract_dep_list(ictxt,is_bld,is_upd,desc_str,dep_list,&
|
||||
end if
|
||||
|
||||
call psb_sum(iictxt,length_dl(0:np))
|
||||
icomm = psb_get_mpicomm(iictxt)
|
||||
icomm = psb_get_mpi_comm(iictxt)
|
||||
call mpi_allgather(itmp,dl_lda,psb_mpi_ipk_,&
|
||||
& dep_list,dl_lda,psb_mpi_ipk_,icomm,minfo)
|
||||
info = minfo
|
||||
@@ -288,7 +288,7 @@ subroutine psi_i_extract_dep_list(ictxt,is_bld,is_upd,desc_str,dep_list,&
|
||||
goto 9999
|
||||
end if
|
||||
call psb_sum(iictxt,length_dl(0:np))
|
||||
icomm = psb_get_mpicomm(iictxt)
|
||||
icomm = psb_get_mpi_comm(iictxt)
|
||||
call mpi_allgather(itmp,dl_lda,psb_mpi_ipk_,&
|
||||
& dep_list,dl_lda,psb_mpi_ipk_,icomm,minfo)
|
||||
info = minfo
|
||||
|
||||
@@ -70,7 +70,7 @@ subroutine psi_symm_dep_list_inrv(rvsz,adj,ictxt,info)
|
||||
name = 'psi_symm_dep_list'
|
||||
call psb_erractionsave(err_act)
|
||||
|
||||
icomm = psb_get_mpicomm(ictxt)
|
||||
icomm = psb_get_mpi_comm(ictxt)
|
||||
|
||||
call psb_info(ictxt, me, np)
|
||||
|
||||
@@ -151,7 +151,7 @@ subroutine psi_symm_dep_list_norv(adj,ictxt,info)
|
||||
name = 'psi_symm_dep_list'
|
||||
call psb_erractionsave(err_act)
|
||||
|
||||
icomm = psb_get_mpicomm(ictxt)
|
||||
icomm = psb_get_mpi_comm(ictxt)
|
||||
|
||||
call psb_info(ictxt, me, np)
|
||||
|
||||
|
||||
@@ -2005,7 +2005,7 @@ contains
|
||||
idxmap%local_cols = nl
|
||||
idxmap%ictxt = ictxt
|
||||
idxmap%state = psb_desc_bld_
|
||||
idxmap%mpic = psb_get_mpicomm(ictxt)
|
||||
idxmap%mpic = psb_get_mpi_comm(ictxt)
|
||||
idxmap%min_glob_row = vnl(iam)+1
|
||||
idxmap%max_glob_row = vnl(iam+1)
|
||||
call move_alloc(vnl,idxmap%vnl)
|
||||
|
||||
@@ -126,7 +126,7 @@ contains
|
||||
|
||||
idxmap%ictxt = ictxt
|
||||
idxmap%state = psb_desc_bld_
|
||||
idxmap%mpic = psb_get_mpicomm(ictxt)
|
||||
idxmap%mpic = psb_get_mpi_comm(ictxt)
|
||||
|
||||
nl = 0
|
||||
do i=1, n
|
||||
|
||||
@@ -961,7 +961,7 @@ contains
|
||||
idxmap%local_cols = nl
|
||||
idxmap%ictxt = ictxt
|
||||
idxmap%state = psb_desc_bld_
|
||||
idxmap%mpic = psb_get_mpicomm(ictxt)
|
||||
idxmap%mpic = psb_get_mpi_comm(ictxt)
|
||||
|
||||
lc2 = int(1.5*nl)
|
||||
call psb_realloc(lc2,idxmap%loc_to_glob,info)
|
||||
|
||||
@@ -1119,7 +1119,7 @@ contains
|
||||
|
||||
idxmap%ictxt = ictxt
|
||||
idxmap%state = psb_desc_bld_
|
||||
idxmap%mpic = psb_get_mpicomm(ictxt)
|
||||
idxmap%mpic = psb_get_mpi_comm(ictxt)
|
||||
do i=1, n
|
||||
idxmap%glob_to_loc(i) = -1
|
||||
end do
|
||||
|
||||
@@ -746,7 +746,7 @@ contains
|
||||
idxmap%local_cols = nl
|
||||
idxmap%ictxt = ictxt
|
||||
idxmap%state = psb_desc_bld_
|
||||
idxmap%mpic = psb_get_mpicomm(ictxt)
|
||||
idxmap%mpic = psb_get_mpi_comm(ictxt)
|
||||
call idxmap%set_state(psb_desc_bld_)
|
||||
|
||||
end subroutine repl_init
|
||||
|
||||
@@ -563,17 +563,30 @@ contains
|
||||
end subroutine psb_info_mpik
|
||||
|
||||
|
||||
function psb_get_mpicomm(ictxt) result(comm)
|
||||
function psb_get_mpi_comm(ictxt) result(comm)
|
||||
integer(psb_mpk_) :: ictxt, comm
|
||||
|
||||
comm = ictxt
|
||||
end function psb_get_mpicomm
|
||||
end function psb_get_mpi_comm
|
||||
|
||||
function psb_get_rank(ictxt,id) result(rank)
|
||||
function psb_get_mpi_rank(ictxt,id) result(rank)
|
||||
integer(psb_mpk_) :: rank,ictxt,id
|
||||
|
||||
rank = id
|
||||
end function psb_get_rank
|
||||
end function psb_get_mpi_rank
|
||||
|
||||
|
||||
subroutine psb_get_mpicomm(ictxt,comm)
|
||||
integer(psb_mpk_) :: ictxt, comm
|
||||
|
||||
comm = psb_get_mpi_comm(ictxt)
|
||||
end subroutine psb_get_mpicomm
|
||||
|
||||
subroutine psb_get_rank(rank,ictxt,id)
|
||||
integer(psb_mpk_) :: rank,ictxt,id
|
||||
|
||||
rank = psb_get_mpi_rank(ictxt,id)
|
||||
end subroutine psb_get_rank
|
||||
|
||||
|
||||
! !!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
@@ -1208,7 +1208,7 @@ contains
|
||||
n_el_recv = ipdxv(counter+psb_n_elem_recv_)
|
||||
counter = counter+n_el_recv
|
||||
n_el_send = ipdxv(counter+psb_n_elem_send_)
|
||||
prcid(ip+1) = psb_get_rank(ictxt,ip)
|
||||
prcid(ip+1) = psb_get_mpi_rank(ictxt,ip)
|
||||
sz = rvsz(ip+1)
|
||||
if (sz > 0) then
|
||||
idx = brvindx(ip+1)
|
||||
@@ -1235,7 +1235,7 @@ contains
|
||||
n_el_recv = ipdxv(counter+psb_n_elem_recv_)
|
||||
counter = counter+n_el_recv
|
||||
n_el_send = ipdxv(counter+psb_n_elem_send_)
|
||||
if (prcid(ip+1)<0) prcid(ip+1) = psb_get_rank(ictxt,ip)
|
||||
if (prcid(ip+1)<0) prcid(ip+1) = psb_get_mpi_rank(ictxt,ip)
|
||||
sz = sdsz(ip+1)
|
||||
if (sz > 0) then
|
||||
idx = bsdindx(ip+1)
|
||||
|
||||
@@ -1208,7 +1208,7 @@ contains
|
||||
n_el_recv = ipdxv(counter+psb_n_elem_recv_)
|
||||
counter = counter+n_el_recv
|
||||
n_el_send = ipdxv(counter+psb_n_elem_send_)
|
||||
prcid(ip+1) = psb_get_rank(ictxt,ip)
|
||||
prcid(ip+1) = psb_get_mpi_rank(ictxt,ip)
|
||||
sz = rvsz(ip+1)
|
||||
if (sz > 0) then
|
||||
idx = brvindx(ip+1)
|
||||
@@ -1235,7 +1235,7 @@ contains
|
||||
n_el_recv = ipdxv(counter+psb_n_elem_recv_)
|
||||
counter = counter+n_el_recv
|
||||
n_el_send = ipdxv(counter+psb_n_elem_send_)
|
||||
if (prcid(ip+1)<0) prcid(ip+1) = psb_get_rank(ictxt,ip)
|
||||
if (prcid(ip+1)<0) prcid(ip+1) = psb_get_mpi_rank(ictxt,ip)
|
||||
sz = sdsz(ip+1)
|
||||
if (sz > 0) then
|
||||
idx = bsdindx(ip+1)
|
||||
|
||||
@@ -1208,7 +1208,7 @@ contains
|
||||
n_el_recv = ipdxv(counter+psb_n_elem_recv_)
|
||||
counter = counter+n_el_recv
|
||||
n_el_send = ipdxv(counter+psb_n_elem_send_)
|
||||
prcid(ip+1) = psb_get_rank(ictxt,ip)
|
||||
prcid(ip+1) = psb_get_mpi_rank(ictxt,ip)
|
||||
sz = rvsz(ip+1)
|
||||
if (sz > 0) then
|
||||
idx = brvindx(ip+1)
|
||||
@@ -1235,7 +1235,7 @@ contains
|
||||
n_el_recv = ipdxv(counter+psb_n_elem_recv_)
|
||||
counter = counter+n_el_recv
|
||||
n_el_send = ipdxv(counter+psb_n_elem_send_)
|
||||
if (prcid(ip+1)<0) prcid(ip+1) = psb_get_rank(ictxt,ip)
|
||||
if (prcid(ip+1)<0) prcid(ip+1) = psb_get_mpi_rank(ictxt,ip)
|
||||
sz = sdsz(ip+1)
|
||||
if (sz > 0) then
|
||||
idx = bsdindx(ip+1)
|
||||
|
||||
@@ -1208,7 +1208,7 @@ contains
|
||||
n_el_recv = ipdxv(counter+psb_n_elem_recv_)
|
||||
counter = counter+n_el_recv
|
||||
n_el_send = ipdxv(counter+psb_n_elem_send_)
|
||||
prcid(ip+1) = psb_get_rank(ictxt,ip)
|
||||
prcid(ip+1) = psb_get_mpi_rank(ictxt,ip)
|
||||
sz = rvsz(ip+1)
|
||||
if (sz > 0) then
|
||||
idx = brvindx(ip+1)
|
||||
@@ -1235,7 +1235,7 @@ contains
|
||||
n_el_recv = ipdxv(counter+psb_n_elem_recv_)
|
||||
counter = counter+n_el_recv
|
||||
n_el_send = ipdxv(counter+psb_n_elem_send_)
|
||||
if (prcid(ip+1)<0) prcid(ip+1) = psb_get_rank(ictxt,ip)
|
||||
if (prcid(ip+1)<0) prcid(ip+1) = psb_get_mpi_rank(ictxt,ip)
|
||||
sz = sdsz(ip+1)
|
||||
if (sz > 0) then
|
||||
idx = bsdindx(ip+1)
|
||||
|
||||
@@ -137,7 +137,7 @@ sample scatter/gather routines.
|
||||
.
|
||||
</PRE>
|
||||
</DD>
|
||||
<DT><A NAME="foot7863">... follows</A><A
|
||||
<DT><A NAME="foot7881">... follows</A><A
|
||||
HREF="node126.html#tex2html31"><SUP><SPAN CLASS="arabic">4</SPAN></SUP></A></DT>
|
||||
<DD>The string is case-insensitive
|
||||
|
||||
@@ -173,7 +173,7 @@ sample scatter/gather routines.
|
||||
.
|
||||
</PRE>
|
||||
</DD>
|
||||
<DT><A NAME="foot8318">... method</A><A
|
||||
<DT><A NAME="foot8336">... method</A><A
|
||||
HREF="node133.html#tex2html32"><SUP><SPAN CLASS="arabic">5</SPAN></SUP></A></DT>
|
||||
<DD>Note:
|
||||
the implementation is for <SPAN CLASS="MATH"><IMG
|
||||
|
||||
@@ -313,9 +313,9 @@ of a dense vector</A>
|
||||
HREF="node102.html">psb_exit -- Exit from PSBLAS parallel
|
||||
environment</A>
|
||||
<LI><A NAME="tex2html139"
|
||||
HREF="node103.html">psb_get_mpicomm -- Get the MPI communicator</A>
|
||||
HREF="node103.html">psb_get_mpi_comm -- Get the MPI communicator</A>
|
||||
<LI><A NAME="tex2html140"
|
||||
HREF="node104.html">psb_get_rank -- Get the MPI rank</A>
|
||||
HREF="node104.html">psb_get_mpi_rank -- Get the MPI rank</A>
|
||||
<LI><A NAME="tex2html141"
|
||||
HREF="node105.html">psb_wtime -- Wall clock timing</A>
|
||||
<LI><A NAME="tex2html142"
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1542"
|
||||
HREF="node103.html">psb_get_mpicomm Get</A>
|
||||
HREF="node103.html">psb_get_mpi_comm Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html1538"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1532"
|
||||
@@ -136,7 +136,7 @@ Specified as: a logical variable, default value: true.
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1542"
|
||||
HREF="node103.html">psb_get_mpicomm Get</A>
|
||||
HREF="node103.html">psb_get_mpi_comm Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html1538"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1532"
|
||||
|
||||
+11
-6
@@ -3,8 +3,8 @@
|
||||
<!--Converted with LaTeX2HTML 2018 (Released Feb 1, 2018) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_get_mpicomm -- Get the MPI communicator</TITLE>
|
||||
<META NAME="description" CONTENT="psb_get_mpicomm -- Get the MPI communicator">
|
||||
<TITLE>psb_get_mpi_comm -- Get the MPI communicator</TITLE>
|
||||
<META NAME="description" CONTENT="psb_get_mpi_comm -- Get the MPI communicator">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
@@ -37,7 +37,7 @@
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1554"
|
||||
HREF="node104.html">psb_get_rank Get</A>
|
||||
HREF="node104.html">psb_get_mpi_rank Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html1550"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1544"
|
||||
@@ -49,16 +49,16 @@
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00084000000000000000">
|
||||
psb_get_mpicomm -- Get the MPI communicator</A>
|
||||
psb_get_mpi_comm -- Get the MPI communicator</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
icomm = psb_get_mpicomm(icontxt)
|
||||
icomm = psb_get_mpi_comm(icontxt)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine returns the MPI communicator associated with a PSBLAS context
|
||||
This function returns the MPI communicator associated with a PSBLAS context
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
@@ -96,6 +96,11 @@ Intent: <B>out</B>.
|
||||
<BR></DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<BIG CLASS="LARGE"><B>Notes</B></BIG>
|
||||
The subroutine version <code>psb_get_mpicomm</code> is still available but
|
||||
is deprecated.
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
|
||||
|
||||
+11
-6
@@ -3,8 +3,8 @@
|
||||
<!--Converted with LaTeX2HTML 2018 (Released Feb 1, 2018) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_get_rank -- Get the MPI rank</TITLE>
|
||||
<META NAME="description" CONTENT="psb_get_rank -- Get the MPI rank">
|
||||
<TITLE>psb_get_mpi_rank -- Get the MPI rank</TITLE>
|
||||
<META NAME="description" CONTENT="psb_get_mpi_rank -- Get the MPI rank">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
@@ -41,7 +41,7 @@
|
||||
<B> Up:</B> <A NAME="tex2html1562"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1556"
|
||||
HREF="node103.html">psb_get_mpicomm Get</A>
|
||||
HREF="node103.html">psb_get_mpi_comm Get</A>
|
||||
<B> <A NAME="tex2html1564"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
@@ -49,16 +49,16 @@
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00085000000000000000">
|
||||
psb_get_rank -- Get the MPI rank</A>
|
||||
psb_get_mpi_rank -- Get the MPI rank</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
rank = psb_get_rank(icontxt, id)
|
||||
rank = psb_get_mpi_rank(icontxt, id)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine returns the MPI rank of the PSBLAS process <SPAN CLASS="MATH"><IMG
|
||||
This function returns the MPI rank of the PSBLAS process <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img138.png"
|
||||
ALT="$id$"></SPAN>
|
||||
@@ -118,6 +118,11 @@ Intent: <B>out</B>.
|
||||
<BR></DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<BIG CLASS="LARGE"><B>Notes</B></BIG>
|
||||
The subroutine version <code>psb_get_rank</code> is still available but is
|
||||
deprecated.
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
<B> Up:</B> <A NAME="tex2html1574"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1568"
|
||||
HREF="node104.html">psb_get_rank Get</A>
|
||||
HREF="node104.html">psb_get_mpi_rank Get</A>
|
||||
<B> <A NAME="tex2html1576"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
|
||||
@@ -91,7 +91,7 @@ explicitly.
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:routerr"></A><A NAME="7481"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:routerr"></A><A NAME="7499"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 9:</STRONG>
|
||||
The layout of a generic <TT>psb_foo</TT>
|
||||
@@ -121,7 +121,7 @@ called by <code>psb_spasb</code> ... by process 0 (i.e. the root process).
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:errormsg"></A><A NAME="7482"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:errormsg"></A><A NAME="7500"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 10:</STRONG>
|
||||
A sample PSBLAS-2.0 error
|
||||
|
||||
@@ -114,7 +114,7 @@ Legal inputs to this subroutine are interpreted depending on the
|
||||
WIDTH="41" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img165.png"
|
||||
ALT="$ptype$"></SPAN> string as follows<A NAME="tex2html31"
|
||||
HREF="footnode.html#foot7863"><SUP><SPAN CLASS="arabic">4</SPAN></SUP></A>:
|
||||
HREF="footnode.html#foot7881"><SUP><SPAN CLASS="arabic">4</SPAN></SUP></A>:
|
||||
<DL>
|
||||
<DT><STRONG>NONE</STRONG></DT>
|
||||
<DD>No preconditioning, i.e. the preconditioner is just a copy
|
||||
|
||||
@@ -169,7 +169,7 @@ call psb_krylov(method,a,prec,b,x,eps,desc_a,info,&
|
||||
</DD>
|
||||
<DT><STRONG>FCG:</STRONG></DT>
|
||||
<DD>the Flexible Conjugate Gradient method<A NAME="tex2html32"
|
||||
HREF="footnode.html#foot8318"><SUP><SPAN CLASS="arabic">5</SPAN></SUP></A>;
|
||||
HREF="footnode.html#foot8336"><SUP><SPAN CLASS="arabic">5</SPAN></SUP></A>;
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
|
||||
@@ -60,7 +60,7 @@ Mathematics Department, Macquarie University, Sydney.
|
||||
The command line arguments were: <BR>
|
||||
<STRONG>latex2html</STRONG> <TT>-local_icons -noaddress -dir ../../html userhtml.tex</TT>
|
||||
<P>
|
||||
The translation was initiated on 2019-11-20
|
||||
The translation was initiated on 2019-12-11
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
|
||||
@@ -70,9 +70,9 @@ Parallel environment routines
|
||||
HREF="node102.html">psb_exit -- Exit from PSBLAS parallel
|
||||
environment</A>
|
||||
<LI><A NAME="tex2html1493"
|
||||
HREF="node103.html">psb_get_mpicomm -- Get the MPI communicator</A>
|
||||
HREF="node103.html">psb_get_mpi_comm -- Get the MPI communicator</A>
|
||||
<LI><A NAME="tex2html1494"
|
||||
HREF="node104.html">psb_get_rank -- Get the MPI rank</A>
|
||||
HREF="node104.html">psb_get_mpi_rank -- Get the MPI rank</A>
|
||||
<LI><A NAME="tex2html1495"
|
||||
HREF="node105.html">psb_wtime -- Wall clock timing</A>
|
||||
<LI><A NAME="tex2html1496"
|
||||
|
||||
@@ -313,9 +313,9 @@ of a dense vector</A>
|
||||
HREF="node102.html">psb_exit -- Exit from PSBLAS parallel
|
||||
environment</A>
|
||||
<LI><A NAME="tex2html139"
|
||||
HREF="node103.html">psb_get_mpicomm -- Get the MPI communicator</A>
|
||||
HREF="node103.html">psb_get_mpi_comm -- Get the MPI communicator</A>
|
||||
<LI><A NAME="tex2html140"
|
||||
HREF="node104.html">psb_get_rank -- Get the MPI rank</A>
|
||||
HREF="node104.html">psb_get_mpi_rank -- Get the MPI rank</A>
|
||||
<LI><A NAME="tex2html141"
|
||||
HREF="node105.html">psb_wtime -- Wall clock timing</A>
|
||||
<LI><A NAME="tex2html142"
|
||||
|
||||
+100
-72
@@ -1084,20 +1084,20 @@ endobj
|
||||
<<
|
||||
/Type /ObjStm
|
||||
/N 100
|
||||
/First 865
|
||||
/Length 7127
|
||||
/First 866
|
||||
/Length 7139
|
||||
>>
|
||||
stream
|
||||
403 0 407 44 408 70 411 114 412 140 415 184 416 220 419 264 420 297 423 341
|
||||
424 368 427 412 428 441 431 485 432 512 435 556 436 583 439 627 440 652 443 696
|
||||
444 721 447 765 448 790 451 834 452 859 455 903 456 928 459 972 460 998 463 1042
|
||||
464 1067 467 1111 468 1136 471 1178 472 1209 475 1253 476 1282 479 1326 480 1353 483 1397
|
||||
484 1438 487 1482 488 1520 491 1562 492 1588 495 1632 496 1657 499 1702 500 1728 503 1773
|
||||
504 1805 507 1850 508 1884 511 1929 512 1962 515 2007 516 2042 519 2085 520 2126 523 2171
|
||||
524 2198 527 2243 528 2271 531 2316 532 2344 535 2389 536 2417 539 2462 540 2482 543 2527
|
||||
544 2554 547 2597 548 2632 551 2677 552 2705 553 2750 556 2864 557 2920 3 2976 554 3030
|
||||
564 3135 566 3249 563 3306 615 3372 567 3866 568 4012 569 4158 570 4310 571 4462 572 4614
|
||||
573 4771 574 4923 575 5069 576 5221 577 5377 578 5524 579 5671 580 5819 581 5967 582 6114
|
||||
403 0 407 44 408 70 411 114 412 140 415 184 416 224 419 268 420 308 423 352
|
||||
424 379 427 423 428 452 431 496 432 523 435 567 436 594 439 638 440 663 443 707
|
||||
444 732 447 776 448 801 451 845 452 870 455 914 456 939 459 983 460 1009 463 1053
|
||||
464 1078 467 1122 468 1147 471 1189 472 1220 475 1264 476 1293 479 1337 480 1364 483 1408
|
||||
484 1449 487 1493 488 1531 491 1573 492 1599 495 1643 496 1668 499 1713 500 1739 503 1784
|
||||
504 1816 507 1861 508 1895 511 1940 512 1973 515 2018 516 2053 519 2096 520 2137 523 2182
|
||||
524 2209 527 2254 528 2282 531 2327 532 2355 535 2400 536 2428 539 2473 540 2493 543 2538
|
||||
544 2565 547 2608 548 2643 551 2688 552 2716 553 2761 556 2875 557 2931 3 2987 554 3041
|
||||
564 3146 566 3260 563 3317 615 3383 567 3877 568 4023 569 4169 570 4321 571 4473 572 4625
|
||||
573 4782 574 4934 575 5080 576 5232 577 5388 578 5535 579 5682 580 5830 581 5978 582 6125
|
||||
% 403 0 obj
|
||||
<< /S /GoTo /D (section*.79) >>
|
||||
% 407 0 obj
|
||||
@@ -1109,11 +1109,11 @@ stream
|
||||
% 412 0 obj
|
||||
<< /S /GoTo /D (section*.81) >>
|
||||
% 415 0 obj
|
||||
(psb\137get\137mpicomm)
|
||||
(psb\137get\137mpi\137comm)
|
||||
% 416 0 obj
|
||||
<< /S /GoTo /D (section*.82) >>
|
||||
% 419 0 obj
|
||||
(psb\137get\137rank)
|
||||
(psb\137get\137mpi\137rank)
|
||||
% 420 0 obj
|
||||
<< /S /GoTo /D (section*.83) >>
|
||||
% 423 0 obj
|
||||
@@ -2117,7 +2117,7 @@ endstream
|
||||
endobj
|
||||
715 0 obj
|
||||
<<
|
||||
/Length 18018
|
||||
/Length 18231
|
||||
>>
|
||||
stream
|
||||
0 g 0 G
|
||||
@@ -2247,14 +2247,21 @@ q
|
||||
[]0 d 0 J 0.398 w 0 0 m 2.989 0 l S
|
||||
Q
|
||||
BT
|
||||
/F8 9.9626 Tf 150.295 600.525 Td [(mpicomm)]TJ
|
||||
/F8 9.9626 Tf 150.295 600.525 Td [(mpi)]TJ
|
||||
ET
|
||||
q
|
||||
1 0 0 1 167.498 600.724 cm
|
||||
[]0 d 0 J 0.398 w 0 0 m 2.989 0 l S
|
||||
Q
|
||||
BT
|
||||
/F8 9.9626 Tf 170.486 600.525 Td [(comm)]TJ
|
||||
0 g 0 G
|
||||
[-1024(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ
|
||||
[-664(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ
|
||||
0 g 0 G
|
||||
[-583(107)]TJ
|
||||
0 g 0 G
|
||||
0 0 1 rg 0 0 1 RG
|
||||
-35.456 -11.955 Td [(psb)]TJ
|
||||
-55.647 -11.955 Td [(psb)]TJ
|
||||
ET
|
||||
q
|
||||
1 0 0 1 130.436 588.769 cm
|
||||
@@ -2268,14 +2275,21 @@ q
|
||||
[]0 d 0 J 0.398 w 0 0 m 2.989 0 l S
|
||||
Q
|
||||
BT
|
||||
/F8 9.9626 Tf 150.295 588.57 Td [(rank)]TJ
|
||||
/F8 9.9626 Tf 150.295 588.57 Td [(mpi)]TJ
|
||||
ET
|
||||
q
|
||||
1 0 0 1 167.498 588.769 cm
|
||||
[]0 d 0 J 0.398 w 0 0 m 2.989 0 l S
|
||||
Q
|
||||
BT
|
||||
/F8 9.9626 Tf 170.486 588.57 Td [(rank)]TJ
|
||||
0 g 0 G
|
||||
[-994(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ
|
||||
[-523(.)-500(.)-500(.)-499(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)-500(.)]TJ
|
||||
0 g 0 G
|
||||
[-584(108)]TJ
|
||||
[-583(108)]TJ
|
||||
0 g 0 G
|
||||
0 0 1 rg 0 0 1 RG
|
||||
-35.456 -11.955 Td [(psb)]TJ
|
||||
-55.647 -11.955 Td [(psb)]TJ
|
||||
ET
|
||||
q
|
||||
1 0 0 1 130.436 576.814 cm
|
||||
@@ -2708,7 +2722,7 @@ endobj
|
||||
/Type /ObjStm
|
||||
/N 100
|
||||
/First 924
|
||||
/Length 16089
|
||||
/Length 16090
|
||||
>>
|
||||
stream
|
||||
583 0 584 148 585 296 586 445 587 594 588 751 589 903 590 1059 591 1208 592 1357
|
||||
@@ -2720,7 +2734,7 @@ stream
|
||||
645 9069 646 9218 647 9367 648 9516 649 9665 650 9814 651 9963 652 10112 653 10261 654 10410
|
||||
655 10559 656 10708 657 10857 658 11005 659 11153 660 11301 661 11450 662 11599 663 11747 664 11894
|
||||
665 12042 670 12189 667 12246 714 12325 666 12795 671 12944 672 13092 673 13237 674 13385 675 13530
|
||||
676 13679 677 13827 678 13976 679 14123 680 14272 681 14421 682 14570 683 14719 684 14868 685 15016
|
||||
676 13679 677 13827 678 13976 679 14124 680 14273 681 14422 682 14571 683 14720 684 14869 685 15017
|
||||
% 583 0 obj
|
||||
<<
|
||||
/Type /Annot
|
||||
@@ -3446,7 +3460,7 @@ stream
|
||||
/Type /Annot
|
||||
/Subtype /Link
|
||||
/Border[0 0 0]/H/I/C[1 0 0]
|
||||
/Rect [113.843 597.591 193.91 608.44]
|
||||
/Rect [113.843 597.591 197.496 608.44]
|
||||
/A << /S /GoTo /D (section*.81) >>
|
||||
>>
|
||||
% 679 0 obj
|
||||
@@ -3454,7 +3468,7 @@ stream
|
||||
/Type /Annot
|
||||
/Subtype /Link
|
||||
/Border[0 0 0]/H/I/C[1 0 0]
|
||||
/Rect [113.843 585.636 170.968 596.484]
|
||||
/Rect [113.843 585.636 191.159 596.484]
|
||||
/A << /S /GoTo /D (section*.82) >>
|
||||
>>
|
||||
% 680 0 obj
|
||||
@@ -19381,7 +19395,7 @@ endstream
|
||||
endobj
|
||||
1576 0 obj
|
||||
<<
|
||||
/Length 2196
|
||||
/Length 2610
|
||||
>>
|
||||
stream
|
||||
0 g 0 G
|
||||
@@ -19401,10 +19415,17 @@ q
|
||||
[]0 d 0 J 0.398 w 0 0 m 4.035 0 l S
|
||||
Q
|
||||
BT
|
||||
/F16 11.9552 Tf 147.92 706.129 Td [(mpicomm)-375(|)-375(Get)-375(the)-375(MPI)-375(comm)31(unicator)]TJ
|
||||
/F16 11.9552 Tf 147.92 706.129 Td [(mpi)]TJ
|
||||
ET
|
||||
q
|
||||
1 0 0 1 171.143 706.328 cm
|
||||
[]0 d 0 J 0.398 w 0 0 m 4.035 0 l S
|
||||
Q
|
||||
BT
|
||||
/F16 11.9552 Tf 175.178 706.129 Td [(comm)-375(|)-375(Get)-375(the)-375(MPI)-375(comm)31(unicator)]TJ
|
||||
0 g 0 G
|
||||
0 g 0 G
|
||||
/F30 9.9626 Tf -48.025 -18.389 Td [(icomm)-525(=)-525(psb_get_mpicomm\050icontxt\051)]TJ/F8 9.9626 Tf 14.944 -21.918 Td [(This)-335(subroutine)-335(returns)-335(the)-336(MPI)-335(comm)28(unicator)-335(asso)-28(ciated)-335(with)-335(a)-336(P)1(SBLAS)]TJ -14.944 -11.955 Td [(con)28(text)]TJ
|
||||
/F30 9.9626 Tf -75.283 -18.389 Td [(icomm)-525(=)-525(psb_get_mpi_comm\050icontxt\051)]TJ/F8 9.9626 Tf 14.944 -21.918 Td [(This)-450(function)-451(retu)1(rns)-451(the)-450(MPI)-450(comm)27(uni)1(c)-1(ator)-450(asso)-28(ciated)-450(with)-450(a)-451(PSBLAS)]TJ -14.944 -11.955 Td [(con)28(text)]TJ
|
||||
0 g 0 G
|
||||
/F27 9.9626 Tf 0 -19.926 Td [(T)32(yp)-32(e:)]TJ
|
||||
0 g 0 G
|
||||
@@ -19422,9 +19443,9 @@ BT
|
||||
0 g 0 G
|
||||
0 -19.925 Td [(F)96(unction)-384(v)64(alue)]TJ
|
||||
0 g 0 G
|
||||
/F8 9.9626 Tf 78.387 0 Td [(The)-314(MPI)-314(comm)28(unicator)-314(ass)-1(o)-27(ciated)-314(with)-314(the)-315(PS)1(B)-1(LAS)-314(vir)1(tual)]TJ -53.48 -11.955 Td [(parallel)-333(mac)27(hin)1(e)-1(.)]TJ 0 -11.955 Td [(Scop)-28(e:)]TJ/F27 9.9626 Tf 32.379 0 Td [(global)]TJ/F8 9.9626 Tf 29.756 0 Td [(.)]TJ -62.135 -11.956 Td [(T)28(yp)-28(e:)]TJ/F27 9.9626 Tf 29.611 0 Td [(required)]TJ/F8 9.9626 Tf 41.898 0 Td [(.)]TJ -71.509 -11.955 Td [(In)28(ten)28(t:)]TJ/F27 9.9626 Tf 33.486 0 Td [(out)]TJ/F8 9.9626 Tf 16.549 0 Td [(.)]TJ
|
||||
/F8 9.9626 Tf 78.387 0 Td [(The)-314(MPI)-314(comm)28(unicator)-314(ass)-1(o)-27(ciated)-314(with)-314(the)-315(PS)1(B)-1(LAS)-314(vir)1(tual)]TJ -53.48 -11.955 Td [(parallel)-333(mac)27(hin)1(e)-1(.)]TJ 0 -11.955 Td [(Scop)-28(e:)]TJ/F27 9.9626 Tf 32.379 0 Td [(global)]TJ/F8 9.9626 Tf 29.756 0 Td [(.)]TJ -62.135 -11.956 Td [(T)28(yp)-28(e:)]TJ/F27 9.9626 Tf 29.611 0 Td [(required)]TJ/F8 9.9626 Tf 41.898 0 Td [(.)]TJ -71.509 -11.955 Td [(In)28(ten)28(t:)]TJ/F27 9.9626 Tf 33.486 0 Td [(out)]TJ/F8 9.9626 Tf 16.549 0 Td [(.)]TJ/F16 11.9552 Tf -74.942 -33.873 Td [(Notes)]TJ/F8 9.9626 Tf 37.587 0 Td [(The)-369(subroutine)-368(v)27(ersion)]TJ/F30 9.9626 Tf 104.726 0 Td [(psb_get_mpicomm)]TJ/F8 9.9626 Tf 82.129 0 Td [(is)-369(still)-369(a)28(v)56(ailable)-369(but)-369(is)-368(dep-)]TJ -224.442 -11.955 Td [(recated.)]TJ
|
||||
0 g 0 G
|
||||
89.442 -366.168 Td [(107)]TJ
|
||||
164.384 -320.34 Td [(107)]TJ
|
||||
0 g 0 G
|
||||
ET
|
||||
|
||||
@@ -19432,7 +19453,7 @@ endstream
|
||||
endobj
|
||||
1580 0 obj
|
||||
<<
|
||||
/Length 3044
|
||||
/Length 3460
|
||||
>>
|
||||
stream
|
||||
0 g 0 G
|
||||
@@ -19452,12 +19473,19 @@ q
|
||||
[]0 d 0 J 0.398 w 0 0 m 4.035 0 l S
|
||||
Q
|
||||
BT
|
||||
/F16 11.9552 Tf 198.729 706.129 Td [(rank)-375(|)-375(Get)-375(the)-375(MPI)-375(rank)]TJ
|
||||
/F16 11.9552 Tf 198.729 706.129 Td [(mpi)]TJ
|
||||
ET
|
||||
q
|
||||
1 0 0 1 221.952 706.328 cm
|
||||
[]0 d 0 J 0.398 w 0 0 m 4.035 0 l S
|
||||
Q
|
||||
BT
|
||||
/F16 11.9552 Tf 225.987 706.129 Td [(rank)-375(|)-375(Get)-375(the)-375(MPI)-375(rank)]TJ
|
||||
0 g 0 G
|
||||
0 g 0 G
|
||||
/F30 9.9626 Tf -48.024 -18.389 Td [(rank)-525(=)-525(psb_get_rank\050icontxt,)-525(id\051)]TJ/F8 9.9626 Tf 14.944 -21.918 Td [(This)-333(subroutine)-334(retu)1(rns)-334(the)-333(MPI)-333(rank)-334(of)-333(the)-333(PSBLAS)-334(pr)1(o)-28(cess)]TJ/F11 9.9626 Tf 274.665 0 Td [(id)]TJ
|
||||
/F30 9.9626 Tf -75.282 -18.389 Td [(rank)-525(=)-525(psb_get_mpi_rank\050icontxt,)-525(id\051)]TJ/F8 9.9626 Tf 14.944 -21.918 Td [(This)-333(function)-334(r)1(e)-1(tu)1(rns)-334(the)-333(MPI)-333(rank)-334(of)-333(the)-333(PSBLAS)-334(p)1(ro)-28(cess)]TJ/F11 9.9626 Tf 264.342 0 Td [(id)]TJ
|
||||
0 g 0 G
|
||||
/F27 9.9626 Tf -289.609 -19.926 Td [(T)32(yp)-32(e:)]TJ
|
||||
/F27 9.9626 Tf -279.286 -19.926 Td [(T)32(yp)-32(e:)]TJ
|
||||
0 g 0 G
|
||||
/F8 9.9626 Tf 33.797 0 Td [(Async)28(hronous.)]TJ
|
||||
0 g 0 G
|
||||
@@ -19466,20 +19494,20 @@ BT
|
||||
0 g 0 G
|
||||
0 -19.925 Td [(icon)32(txt)]TJ
|
||||
0 g 0 G
|
||||
/F8 9.9626 Tf 39.989 0 Td [(the)-333(comm)27(unication)-333(con)28(text)-333(iden)27(tifyi)1(ng)-334(the)-333(virtual)-333(parallel)-334(mac)28(hine.)]TJ -15.082 -11.955 Td [(Scop)-28(e:)]TJ/F27 9.9626 Tf 32.378 0 Td [(global)]TJ/F8 9.9626 Tf 29.756 0 Td [(.)]TJ -62.134 -11.955 Td [(T)28(yp)-28(e:)]TJ/F27 9.9626 Tf 29.611 0 Td [(required)]TJ/F8 9.9626 Tf 41.898 0 Td [(.)]TJ -71.509 -11.956 Td [(In)28(ten)28(t:)]TJ/F27 9.9626 Tf 33.485 0 Td [(in)]TJ/F8 9.9626 Tf 9.548 0 Td [(.)]TJ -43.033 -11.955 Td [(Sp)-28(eci\014ed)-333(as:)-444(an)-334(in)28(teger)-333(v)55(ariable.)]TJ
|
||||
/F8 9.9626 Tf 39.989 0 Td [(the)-333(comm)27(unication)-333(con)28(text)-333(iden)27(tifyi)1(ng)-334(the)-333(virtual)-333(parallel)-334(mac)28(hine.)]TJ -15.082 -11.955 Td [(Scop)-28(e:)]TJ/F27 9.9626 Tf 32.378 0 Td [(global)]TJ/F8 9.9626 Tf 29.756 0 Td [(.)]TJ -62.135 -11.955 Td [(T)28(yp)-28(e:)]TJ/F27 9.9626 Tf 29.612 0 Td [(required)]TJ/F8 9.9626 Tf 41.898 0 Td [(.)]TJ -71.51 -11.956 Td [(In)28(ten)28(t:)]TJ/F27 9.9626 Tf 33.486 0 Td [(in)]TJ/F8 9.9626 Tf 9.548 0 Td [(.)]TJ -43.034 -11.955 Td [(Sp)-28(eci\014ed)-333(as:)-445(an)-333(in)28(teger)-333(v)55(ariable.)]TJ
|
||||
0 g 0 G
|
||||
/F27 9.9626 Tf -24.907 -19.925 Td [(id)]TJ
|
||||
/F27 9.9626 Tf -24.906 -19.925 Td [(id)]TJ
|
||||
0 g 0 G
|
||||
/F8 9.9626 Tf 14.529 0 Td [(Iden)28(ti\014er)-333(of)-334(a)-333(pro)-28(cess)-333(in)-334(the)-333(PSBLAS)-333(virtual)-333(parallel)-334(mac)28(hine.)]TJ 10.378 -11.955 Td [(Scop)-28(e:)]TJ/F27 9.9626 Tf 32.378 0 Td [(lo)-32(cal)]TJ/F8 9.9626 Tf 23.073 0 Td [(.)]TJ -55.451 -11.955 Td [(T)28(yp)-28(e:)]TJ/F27 9.9626 Tf 29.611 0 Td [(required)]TJ/F8 9.9626 Tf 41.898 0 Td [(.)]TJ -71.509 -11.956 Td [(In)28(ten)28(t:)]TJ/F27 9.9626 Tf 33.485 0 Td [(in)]TJ/F8 9.9626 Tf 9.548 0 Td [(.)]TJ -43.033 -11.955 Td [(Sp)-28(eci\014ed)-333(as:)-444(an)-334(in)28(teger)-333(v)55(alue.)-444(0)]TJ/F14 9.9626 Tf 142.05 0 Td [(\024)]TJ/F11 9.9626 Tf 10.516 0 Td [(id)]TJ/F14 9.9626 Tf 11.385 0 Td [(\024)]TJ/F11 9.9626 Tf 10.516 0 Td [(np)]TJ/F14 9.9626 Tf 13.207 0 Td [(\000)]TJ/F8 9.9626 Tf 9.962 0 Td [(1)]TJ
|
||||
/F8 9.9626 Tf 14.529 0 Td [(Iden)28(ti\014er)-333(of)-334(a)-333(pro)-28(cess)-333(in)-334(the)-333(PSBLAS)-333(virtual)-333(parallel)-334(mac)28(hine.)]TJ 10.377 -11.955 Td [(Scop)-28(e:)]TJ/F27 9.9626 Tf 32.379 0 Td [(lo)-32(cal)]TJ/F8 9.9626 Tf 23.073 0 Td [(.)]TJ -55.452 -11.955 Td [(T)28(yp)-28(e:)]TJ/F27 9.9626 Tf 29.612 0 Td [(required)]TJ/F8 9.9626 Tf 41.898 0 Td [(.)]TJ -71.51 -11.956 Td [(In)28(ten)28(t:)]TJ/F27 9.9626 Tf 33.486 0 Td [(in)]TJ/F8 9.9626 Tf 9.548 0 Td [(.)]TJ -43.034 -11.955 Td [(Sp)-28(eci\014ed)-333(as:)-445(an)-333(in)28(teger)-333(v)55(alue.)-444(0)]TJ/F14 9.9626 Tf 142.051 0 Td [(\024)]TJ/F11 9.9626 Tf 10.516 0 Td [(id)]TJ/F14 9.9626 Tf 11.385 0 Td [(\024)]TJ/F11 9.9626 Tf 10.516 0 Td [(np)]TJ/F14 9.9626 Tf 13.207 0 Td [(\000)]TJ/F8 9.9626 Tf 9.962 0 Td [(1)]TJ
|
||||
0 g 0 G
|
||||
/F27 9.9626 Tf -222.543 -21.918 Td [(On)-383(Return)]TJ
|
||||
0 g 0 G
|
||||
0 g 0 G
|
||||
0 -19.925 Td [(F)96(unciton)-384(v)64(alue)]TJ
|
||||
0 g 0 G
|
||||
/F8 9.9626 Tf 78.386 0 Td [(The)-333(MPI)-334(rank)-333(asso)-28(ciated)-333(with)-333(the)-334(PSBLAS)-333(pro)-28(cess)]TJ/F11 9.9626 Tf 230.248 0 Td [(id)]TJ/F8 9.9626 Tf 8.618 0 Td [(.)]TJ -292.345 -11.955 Td [(Scop)-28(e:)]TJ/F27 9.9626 Tf 32.378 0 Td [(lo)-32(cal)]TJ/F8 9.9626 Tf 23.073 0 Td [(.)]TJ -55.451 -11.955 Td [(T)28(yp)-28(e:)]TJ/F27 9.9626 Tf 29.611 0 Td [(required)]TJ/F8 9.9626 Tf 41.898 0 Td [(.)]TJ -71.509 -11.955 Td [(In)28(ten)28(t:)]TJ/F27 9.9626 Tf 33.485 0 Td [(out)]TJ/F8 9.9626 Tf 16.549 0 Td [(.)]TJ
|
||||
/F8 9.9626 Tf 78.386 0 Td [(The)-333(MPI)-334(rank)-333(asso)-28(ciated)-333(with)-333(the)-334(PSBLAS)-333(pro)-28(cess)]TJ/F11 9.9626 Tf 230.248 0 Td [(id)]TJ/F8 9.9626 Tf 8.618 0 Td [(.)]TJ -292.346 -11.955 Td [(Scop)-28(e:)]TJ/F27 9.9626 Tf 32.379 0 Td [(lo)-32(cal)]TJ/F8 9.9626 Tf 23.073 0 Td [(.)]TJ -55.452 -11.955 Td [(T)28(yp)-28(e:)]TJ/F27 9.9626 Tf 29.612 0 Td [(required)]TJ/F8 9.9626 Tf 41.898 0 Td [(.)]TJ -71.51 -11.955 Td [(In)28(ten)28(t:)]TJ/F27 9.9626 Tf 33.486 0 Td [(out)]TJ/F8 9.9626 Tf 16.549 0 Td [(.)]TJ/F16 11.9552 Tf -74.941 -33.873 Td [(Notes)]TJ/F8 9.9626 Tf 38.323 0 Td [(The)-443(subroutine)-442(v)28(ersion)]TJ/F30 9.9626 Tf 106.934 0 Td [(psb_get_rank)]TJ/F8 9.9626 Tf 67.174 0 Td [(is)-443(still)-442(a)27(v)56(ailable)-443(but)-442(is)-443(depre-)]TJ -212.431 -11.956 Td [(cated.)]TJ
|
||||
0 g 0 G
|
||||
89.442 -322.333 Td [(108)]TJ
|
||||
164.383 -276.504 Td [(108)]TJ
|
||||
0 g 0 G
|
||||
ET
|
||||
|
||||
@@ -28619,8 +28647,8 @@ endobj
|
||||
2039 0 obj
|
||||
<<
|
||||
/Title (Parallel Sparse BLAS V. 3.6.0) /Subject (Parallel Sparse Basic Linear Algebra Subroutines) /Keywords (Computer Science Linear Algebra Fluid Dynamics Parallel Linux MPI PSBLAS Iterative Solvers Preconditioners) /Creator (pdfLaTeX) /Producer ($Id$) /Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.17)/Keywords()
|
||||
/CreationDate (D:20191120134929Z)
|
||||
/ModDate (D:20191120134929Z)
|
||||
/CreationDate (D:20191211092119Z)
|
||||
/ModDate (D:20191211092119Z)
|
||||
/Trapped /False
|
||||
/PTEX.Fullbanner (This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2)
|
||||
>>
|
||||
@@ -28831,7 +28859,7 @@ endobj
|
||||
/W [1 3 1]
|
||||
/Root 2038 0 R
|
||||
/Info 2039 0 R
|
||||
/ID [<3E2A82116FCF1FDC3F29F720B9A71E82> <3E2A82116FCF1FDC3F29F720B9A71E82>]
|
||||
/ID [<A5759746D0550A6AB1C801C452CBC240> <A5759746D0550A6AB1C801C452CBC240>]
|
||||
/Length 10205
|
||||
>>
|
||||
stream
|
||||
@@ -28842,37 +28870,37 @@ stream
|
||||
| ||||