New get_mpi_comm and get_mpi_rank, code and docs

merge-paraggr
Salvatore Filippone 5 years ago
parent b9514ece40
commit 2b898aa14f

@ -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"

@ -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>

@ -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>
&nbsp; <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>
&nbsp; <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,&amp;
</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"

@ -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
ó€@Ë Ë ó)€?Ë Ëó1€>ËËóB€=ËËóM€<ËËó^€;ËË^€:ËË^€9ËË^€8ËË^%€7ËË^:€6ËË ^A€5Ë!Ë"^[€4Ë#Ë$Ô€3Ë%Ë&Ô$€2Ë'Ë(Ô1€1Ë)Ë*Ô2€0Ë+Ë,ÔI€/Ë-Ë.ÔV€.Ë/Ë0Ô]€-Ë1Ë2Ôb€,Ë3Ë4C€+Ë5Ë6C€*Ë7Ë8C€)Ë9Ë:C0€(Ë;Ë<C?€'Ë=Ë>CE€&Ë?Ë@CL€%ËAËBCR€$ËCËDC^€#ËEËF¬€"ËGËH¬€!ËIËJ¬ ËKËL¬ËMËN¬ËOËP¬ËQËR¬$ËSËT¬*ËUËV¬0ËWËX¬7ËYËZ¬>Ë[Ë\¬KË]Ë^¬OË_Ë`¬_ËaËb¬cËcj  
  "& * 0
6<BHOT[”!”"”#”$”%”&—%”'”(—+Gc”)”*—1Gb”+”,—6Ga”-”.—=G`”/”0—DG_”1”2—JG^”3”4—QG]”5”6—WG\”7”8—]G[”9”:—cGZ”;”<éGY”=”>éGX”?”@éGW”A”BéGV”C”Dé"GU”E”Fé&GT”G”Hé,GS”I”J”K”O$ÿ”L”MGG.GG&G2”R”P'„”Q”T”U”V”W”X”Y”Z”[”\”]”^”_”`”a”b”ckkkkkkkkkk k
k k k kkkkkkkkkkkkkkkkk"k ”S( kkmk#k$k%k&k'k(k)k*k+k,k-k.k/k0k1k2k3k4k5k6k7k8k9k:k;k<k=k>k?k@kAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkTkRk!†ÓkQkUkVkWkXkYkZk[k\k]k^k_k`kakbkcÍÍÍÍÍÍÍÍÍÍ Í
Í Í Í ÍÍÍÍÍÍÍÍÍÍÍÍÍÍkS×ÏÍ:­ÍÍÍÍ!Í"Í#Í$Í%Í&Í'Í(Í)Í*Í,Í ^-G-G3éVéMéCéWéUéJéKéTéGéHÍ2Í3Í4•¶Í9Í7Í-G"Í6Í.Í/Í0Í1šléIÍ:Í;Í@Í8¦Í<G/G(G$G+G'Í>G)Í?éSÍEÍFÝÿÍJÍAÈáÍGÍHÍBÍCÍDéFéEÍLÍMÍOÍKä©ÍNÍ]Í[ÍPú;ÍQG#ÍSÍTÍUÍVÍWÍXÍYÍZ@ @ Í\JÍ^Í_Í`ÍaÍbÍc@@@@@@@@@G0G4]L@ @@
@ @@@@@@@@@@@@@ @!@(@¬c@"@#@$@%@&@'@*@+@6@)ÇJ@,@-@.@/@0@1@2@3@4@5@8@9@?@7ÛÀ@:@E@@ðK@AG5@M@F_@G@J@O@P@Q@W@NŽ@R@U@VéR@Z@^@X:9@Y@_Oe@`@b<04>ª€± <03>hG6 ¡<> ±ÅÁÁ$׆#'+%õÜ&-.1,Œ/G7M3;92Å48=?:&-<G1C@AEFGHIJPND5KQRTORˆSVWXYZ^U]#[]G8`ó_{sabcóóóóÇ
óóóó ó
ó óó·ñó óóóÙ<óóóóóóÛêóóó#óöñóóóóó ó!ó"ó%ó&ó'ó+ó$ ó(ó*G9ó-ó.ó/ó3ó,ó0ó2ó<ó4>ó5ó6ó7ó8ó9ó:ó;ó>ó?ó@óDó=M€óAóCóGóEjtóFóIóJóKóOóHm!óLóNóXóP†œóQóRóSóTóUóVóWG:óZó[ó\ó`óY˜òó]ó_óbóc^óa±A^^^^^
^òª^G,^ ^ ^ ^^^^^ z^^^^^^^^^^^^^!^%W^ ^#^)^'^"^$^&G;^*^+^,^-^.^/^1^([“^0^3^4^6^2z=^5^8^;^7Œ±^9^=^>^?^N^F^<<06>y^@^B^C^D^E¸Ê^O^R^G¬^P^Q^H^I^J^K^L^MÇ%ú”^U^S(,^TG*G<^W^X^Y^`^V4S^Z^\^]^^^_^b®Æ^cÔÔ^aÔÔÔÔÔ 0*ÔÔžäÔÔÔ ­DÔÔ
Ô Ô Ô ÔÔ½dðÓÔÔÔÔÔkÔÔÔÔÔÔ ÔC>ÔG=Ô"Ô*Ô(Ô!I*Ô#Ô%Ô&Ô'Ô+Ô,Ô.Ô)Ô-Ô3Ô/xtÔ0Ô5Ô8Ô4=Ô6Ô7Ô:Ô=Ô9¬hÔ;Ô<ÔEÔ>ÓæÔ?Ô@ÔAÔBÔCÔDG>ÔGÔJÔFÞ‡ÔHÔLÔQÔKúÇÔMÔNÔOÔPÔSÔTÔXÔR XÔUÔWÔZÔ[Ô^ÔY  Ô\Ô`ÔcÔ_ '*ÔaCCCC \C
eG?C
C szCCC C C CC CCCCCCC <09>>CCCC"C £ØCCCCC C!C+C# ÀçC$C%C&C'C(C)C*C-C.C1C, ÐC/G@C:C2 ê4C3C4C5C6C7C8C9C<C=C@C; ó@C>CBCCCGCA ÿ‹CDCFCICJCMCH
PCKCOCPCSCN
#€CQCXCT
>vCUCVCWGACZC[C\C_CY
C
C]CaCb¬C`
Cc ®¬¬
Žð¬¬¬
k k k kkkkkkkkkkkkkkkkk"k ”S( kkNk#k$k%k&k'k(k)k*k+k,k-k.k/k0k1k2k3k4k5k6k7k8k9k:k;k<k=k>k?k@kAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkTkRk!†ßkQkUkVkWkXkYkZk[k\k]k^k_k`kakbkcÍÍÍÍÍÍÍÍÍÍ Í
Í Í Í ÍÍÍÍÍÍÍÍÍÍÍÍÍÍkS×ÛÍ;<3B>ÍÍ^„ÍÍ!Í"Í#Í$Í%Í&Í'Í(Í)Í*Í,Í _G-G3éVéMéCéWéUéJéKéTéGéHÍ2Í3Í4˜Í9Í7Í-€‘G"Í6Í.Í/Í0Í1NéIÍ:Í;Í@Í8¦ñÍ<G/G(G$G+G'Í>G)Í?éSÍEÍFÞáÍJÍAÉÃÍGÍHÍBÍCÍDéFéEÍLÍMÍOÍKå‹ÍNÍ]Í[ÍPûÍQG#ÍSÍTÍUÍVÍWÍXÍYÍZ@ @ Í\,Í^Í_Í`ÍaÍbÍc@@@@@@@@@G0G4^.@ @@
@ @@@@@@@@@‹ù@@@@ @!@(@­E@"@#@$@%@&@'@*@+@6@)È,@,@-@.@/@0@1@2@3@4@5@8@9@?@7Ü¢@:@E@@ñ-@AG5@M@FA@G@J@O@P@Q@W@Np@R@U@VéR@Z@^@X;@Y@_PG@`@b<04>Œ<03> <03>JG6 ¢ ²§£$Øh#'+%ö¾&-.1,n/G7M3;92§48=?:'<G1C@5“AEFGHIJPND6mKQRTOSjSVWXYZ^U^[]G8`ó_|UabcóóóóÇìóóóó ó
ó óó¸Óó óóóÚóóóóóóÜÌóóó#ó÷Óóóóóó ó!ó"ó%ó&ó'ó+ó$ ãó(ó*G9ó-ó.ó/ó3ó,ó0ó2ó<ó4>ÿó5ó6ó7ó8ó9ó:ó;ó>ó?ó@óDó=NbóAóCóGóEkVóFóIóJóKóOóHnóLóNóXóP‡~óQóRóSóTóUóVóWG:óZó[ó\ó`óY™Ôó]ó_óbóc^óa²#^^^^^
^óŒ^G,^ ^ ^ ^^^^^  \^^^^^^^^^^^^^!^&9^ ^#^)^'^"^$^&G;^*^+^,^-^.^/^1^(\u^0^3^4^6^2{^5^8^;^7<06>^9^=^>^?^N^F^<<06>[^@^B^C^D^E¹¬^O^R^G¬ó^P^Q^H^I^J^K^L^MÈûv^U^S)^TG*G<^W^X^Y^`^V55^Z^\^]^^^_^b¯¨^cÔÔ^aV”ÔÔÔÔÔ 1 ÔÔŸÆÔÔÔ ®&ÔÔ
Ô Ô Ô ÔÔ¾FñµÔÔÔÔÔMÔÔÔÔÔÔ ÔD ÔG=Ô"Ô*Ô(Ô!J Ô#Ô%Ô&Ô'Ô+Ô,Ô.Ô)Ô-Ô3Ô/yVÔ0Ô5Ô8Ô4Ô6Ô7Ô:Ô=Ô9­JÔ;Ô<ÔEÔ>ÔÈÔ?Ô@ÔAÔBÔCÔDG>ÔGÔJÔFßiÔHÔLÔQÔKû©ÔMÔNÔOÔPÔSÔTÔXÔR :ÔUÔWÔZÔ[Ô^ÔY Ô\Ô`ÔcÔ_ ( ÔaCCCCC
G?C
C t\CCC C C CC CCCCCCC Ž CCCC"C ¤ºCCCCC C!C+C# ÁÉC$C%C&C'C(C)C*C-C.C1C, ÐèC/G@C:C2 ëC3C4C5C6C7C8C9C<C=C@C; ô"C>CBCCCGCA
mCDCFCICJCMCH
2CKCOCPCSCN
$bCQCXCT
?XCUCVCWGACZC[C\C_CY
C]CaCb¬C`
XˆCc ®é¬¬
<EFBFBD>Ò¬¬¬
¬
œ›¬¬¬ 
¶d¬ ¬ ¬¬¬¬
¹b¬GB¬¬¬
Ïø¬¬¬¬ ¬
ݬ¬¬"¬&¬!
ð´¬#¬%¬(¬,¬'
ý ¬)¬+¬.¬3¬- @¬/¬1¬2¬5¬:¬4 Y¬6¬8¬9GC¬<¬?¬; ¬=¬E¬@ ¬A¬B¬C¬D¬G¬H¬I¬L¬F Ti¬J¬P¬M ¬N¬\¬Q {„¬R¬S¬T¬U¬V¬W¬X¬Y¬Z¬[¬`¬] ¬^GD¬a ˜¬b ° Õ‡  çë
   ù+ ü GE ÷#  ö!'$ ƒ%-( 0u)+,3. /1294 YJ578GF?: ;=>E@ ‚‰ACDLF —FGIJG!KQM ¯ÒNPVR ÄñSUXY\W Ú"ZGG] óL^_`G abc
   ÖC 4]—" C'—!—(—#—$—&—'—.—) Ox—*—,—-—2—/—0GH—4—9—3 ZE—5—7—8—;—@—: m,—<—>—?—B—G—A <0A>ó—C—E—F—M—H <0A>v—I—K—L—O—T—N Ÿ,—P—R—S—Z—U ¯Â—V—X—YGI—^—[ ½4—\—`—aé—_ Â0—béÈAééééé é øêéé é
Vé éééééé ÙéééééGJééééé é#éé!é'é$é%é)é*é3é1é(PHé+é-é.é/é0G%é4é5é6é8é2é7é:é<é9<0E>é;GKé?é=Ÿ é>éOé@ -éAéBéDéLéNéYéP»ÐéQéXéZé[é\é]é^é_é`éaébécGú‹GGGGGGGGG ö¥G
G <0F>jG ÄñG â¨GGGh@G‡¥Gí^G KG/&GG°•GØ@GõáGGuG¦GÒÛGGLGMGNGOGPGQGR<07><07><07><07><07><07><07><07><07><07><07><07><07> <07>!<07>"<07>#<07>$<07>%<07>&<07>'<07>(<07>)<07>*<07>+<07>,<07>-<07>.<07>/<07>0<07>1<07>2<07>3<07>4<07>5<07>6<07>7<07>8<07>9<07>:<07>;<07><<07>=<07>><07>?<07>@<07>A<07>B<07>C<07>D<07>E<07>F<07>G<07>H<07>I<07>J<07>K<07>L<07>M<07>N<07>O<07>P<07>Q<07>R<07>S<07>T<07>U<07>V<07>W<07>X<07>Y<07>Z<07>[<07>\<07>]<07>^<07>_<07>`<07>a<07>b<07>cÓ¸ÌÓÓÓÓÓÓÓÓÓ Ó
Ó Ó Ó ÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓ Ó!Ó"Ó#¶—Îx
<EFBFBD>}¬¬¬ 
·F¬ ¬ ¬¬¬¬
ºD¬GB¬¬¬
ÐÚ¬¬¬¬ ¬
Ý欬¬"¬&¬!
ñ–¬#¬%¬(¬,¬'
þ‚¬)¬+¬.¬3¬- "¬/¬1¬2¬5¬:¬4 !;¬6¬8¬9GC¬<¬?¬; ¬=¬E¬@ F™¬A¬B¬C¬D¬G¬H¬I¬L¬F UK¬J¬P¬M ¬N¬\¬Q |f¬R¬S¬T¬U¬V¬W¬X¬Y¬Z¬[¬`¬] —ó¬^GD¬a ˜æ¬b Ð Öi  èÍ
   ú  | =GE #  !'$ %-( 4•)+,3. /1294 ]j578GF?: ;=>E@ †©ACDLF fGIJG!KQM ³òNPVR ÉSUXY\W ÞBZGG] ÷l^_`G abc
   Úc 8}—" GG—!—(—#—$—&—'—.—) S˜—*—,—-—2—/ \—0GH—4—9—3 ^e—5—7—8—;—@—: qL—<—>—?—B—G—A—C—E—F—M—H ”–—I—K—L—O—T—N £L—P—R—S—Z—U ³â—V—X—YGI—^—[ ÁT—\—`—aé—_ ÆP—béÌaééééé é ý
éé é
vé éééééé ùéééé7éGJééééé é#éé!é'é$é%é)é*é3é1é(Thé+é-é.é/é0G%é4é5é6é8é2ué7é:é<é9.é;GKé?é=£Àé>éOé@¤MéAéBéDéLéNéYéP¿ðéQéXéZé[é\é]é^é_é`éaébécGþ«GGGGGGGGG úÅG
SG ¡ŠG ÉG æÈGGGl`G‹ÅGñ~GkG3FGG´µGÜ`GúGGy;GÆÆGÖûGGLGMGNGOGPGQGRu<07><07><07><07><07><07><07><07><07><07><07><07><07> <07>!<07>"<07>#<07>$<07>%<07>&<07>'<07>(<07>)<07>*<07>+<07>,<07>-<07>.<07>/<07>0<07>1<07>2<07>3<07>4<07>5<07>6<07>7<07>8<07>9<07>:<07>;<07><<07>=<07>><07>?<07>@<07>A<07>B<07>C<07>D<07>E<07>F<07>G<07>H<07>I<07>J<07>K<07>L<07>M<07>N<07>O<07>P<07>Q<07>R<07>S<07>T<07>U<07>V<07>W<07>X<07>Y<07>Z<07>[<07>\<07>]<07>^<07>_<07>`<07>a<07>b<07>cÓ¼ìÓÓÓÓÓÓÓÓÓ Ó
Ó Ó Ó ÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓ Ó!Ó"Ó#º·Ò˜
endstream
endobj
startxref
1298040
1299096
%%EOF

@ -153,14 +153,14 @@ Specified as: a logical variable, default value: true.
\end{enumerate}
\clearpage\subsection*{psb\_get\_mpicomm --- Get the MPI communicator}
\addcontentsline{toc}{subsection}{psb\_get\_mpicomm}
\clearpage\subsection*{psb\_get\_mpi\_comm --- Get the MPI communicator}
\addcontentsline{toc}{subsection}{psb\_get\_mpi\_comm}
\begin{verbatim}
icomm = psb_get_mpicomm(icontxt)
icomm = psb_get_mpi_comm(icontxt)
\end{verbatim}
This subroutine returns the MPI communicator associated with a PSBLAS context
This function returns the MPI communicator associated with a PSBLAS context
\begin{description}
\item[Type:] Asynchronous.
\item[\bf On Entry ]
@ -180,15 +180,18 @@ Type: {\bf required}.\\
Intent: {\bf out}.\\
\end{description}
{\par\noindent\large\bfseries Notes}
The subroutine version \verb|psb_get_mpicomm| is still available but
is deprecated.
\clearpage\subsection*{psb\_get\_rank --- Get the MPI rank}
\addcontentsline{toc}{subsection}{psb\_get\_rank}
\clearpage\subsection*{psb\_get\_mpi\_rank --- Get the MPI rank}
\addcontentsline{toc}{subsection}{psb\_get\_mpi\_rank}
\begin{verbatim}
rank = psb_get_rank(icontxt, id)
rank = psb_get_mpi_rank(icontxt, id)
\end{verbatim}
This subroutine returns the MPI rank of the PSBLAS process $id$
This function returns the MPI rank of the PSBLAS process $id$
\begin{description}
\item[Type:] Asynchronous.
\item[\bf On Entry ]
@ -213,6 +216,9 @@ Type: {\bf required}.\\
Intent: {\bf out}.\\
\end{description}
{\par\noindent\large\bfseries Notes}
The subroutine version \verb|psb_get_rank| is still available but is
deprecated.

Loading…
Cancel
Save