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_) nesd = idx%v(pnti+nerv+psb_n_elem_send_)
rcv_pt = 1+pnti+psb_n_elem_recv_ 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 ((nerv>0).and.(proc_to_comm /= me)) then
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
p2ptag = psb_complex_swap_tag 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_) proc_to_comm = idx%v(pnti+psb_proc_id_)
nerv = idx%v(pnti+psb_n_elem_recv_) nerv = idx%v(pnti+psb_n_elem_recv_)
nesd = idx%v(pnti+nerv+psb_n_elem_send_) 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 ((nerv>0).and.(proc_to_comm /= me)) then
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
p2ptag = psb_complex_swap_tag 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 brvidx(proc_to_comm) = rcv_pt
rvsz(proc_to_comm) = n*nerv 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 if ((nerv>0).and.(proc_to_comm /= me)) then
p2ptag = psb_complex_swap_tag p2ptag = psb_complex_swap_tag
call mpi_irecv(rcvbuf(rcv_pt),n*nerv,& 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 brvidx(proc_to_comm) = rcv_pt
rvsz(proc_to_comm) = nerv 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_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 if ((nerv>0).and.(proc_to_comm /= me)) then
p2ptag = psb_complex_swap_tag p2ptag = psb_complex_swap_tag
call mpi_irecv(rcvbuf(rcv_pt),nerv,& 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_ snd_pt = 1+pnti+nerv+psb_n_elem_send_
rcv_pt = 1+pnti+psb_n_elem_recv_ 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 ((nesd>0).and.(proc_to_comm /= me)) then
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
call mpi_irecv(y%combuf(snd_pt),nesd,& 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_) proc_to_comm = idx%v(pnti+psb_proc_id_)
nerv = idx%v(pnti+psb_n_elem_recv_) nerv = idx%v(pnti+psb_n_elem_recv_)
nesd = idx%v(pnti+nerv+psb_n_elem_send_) 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 ((nesd>0).and.(proc_to_comm /= me)) then
if (debug) write(*,*) me,'Posting receive from',prcid(i),snd_pt if (debug) write(*,*) me,'Posting receive from',prcid(i),snd_pt
call mpi_irecv(y%combuf(snd_pt),n*nesd,& 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 brvidx(proc_to_comm) = rcv_pt
rvsz(proc_to_comm) = n*nerv 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 if ((nesd>0).and.(proc_to_comm /= me)) then
p2ptag = psb_complex_swap_tag p2ptag = psb_complex_swap_tag
call mpi_irecv(sndbuf(snd_pt),n*nesd,& 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 brvidx(proc_to_comm) = rcv_pt
rvsz(proc_to_comm) = nerv 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 if ((nesd>0).and.(proc_to_comm /= me)) then
p2ptag = psb_complex_swap_tag p2ptag = psb_complex_swap_tag
call mpi_irecv(sndbuf(snd_pt),nesd,& 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_) nesd = idx%v(pnti+nerv+psb_n_elem_send_)
rcv_pt = 1+pnti+psb_n_elem_recv_ 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 ((nerv>0).and.(proc_to_comm /= me)) then
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
p2ptag = psb_double_swap_tag 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_) proc_to_comm = idx%v(pnti+psb_proc_id_)
nerv = idx%v(pnti+psb_n_elem_recv_) nerv = idx%v(pnti+psb_n_elem_recv_)
nesd = idx%v(pnti+nerv+psb_n_elem_send_) 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 ((nerv>0).and.(proc_to_comm /= me)) then
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
p2ptag = psb_double_swap_tag 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 brvidx(proc_to_comm) = rcv_pt
rvsz(proc_to_comm) = n*nerv 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 if ((nerv>0).and.(proc_to_comm /= me)) then
p2ptag = psb_double_swap_tag p2ptag = psb_double_swap_tag
call mpi_irecv(rcvbuf(rcv_pt),n*nerv,& 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 brvidx(proc_to_comm) = rcv_pt
rvsz(proc_to_comm) = nerv 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_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 if ((nerv>0).and.(proc_to_comm /= me)) then
p2ptag = psb_double_swap_tag p2ptag = psb_double_swap_tag
call mpi_irecv(rcvbuf(rcv_pt),nerv,& 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_ snd_pt = 1+pnti+nerv+psb_n_elem_send_
rcv_pt = 1+pnti+psb_n_elem_recv_ 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 ((nesd>0).and.(proc_to_comm /= me)) then
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
call mpi_irecv(y%combuf(snd_pt),nesd,& 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_) proc_to_comm = idx%v(pnti+psb_proc_id_)
nerv = idx%v(pnti+psb_n_elem_recv_) nerv = idx%v(pnti+psb_n_elem_recv_)
nesd = idx%v(pnti+nerv+psb_n_elem_send_) 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 ((nesd>0).and.(proc_to_comm /= me)) then
if (debug) write(*,*) me,'Posting receive from',prcid(i),snd_pt if (debug) write(*,*) me,'Posting receive from',prcid(i),snd_pt
call mpi_irecv(y%combuf(snd_pt),n*nesd,& 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 brvidx(proc_to_comm) = rcv_pt
rvsz(proc_to_comm) = n*nerv 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 if ((nesd>0).and.(proc_to_comm /= me)) then
p2ptag = psb_double_swap_tag p2ptag = psb_double_swap_tag
call mpi_irecv(sndbuf(snd_pt),n*nesd,& 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 brvidx(proc_to_comm) = rcv_pt
rvsz(proc_to_comm) = nerv 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 if ((nesd>0).and.(proc_to_comm /= me)) then
p2ptag = psb_double_swap_tag p2ptag = psb_double_swap_tag
call mpi_irecv(sndbuf(snd_pt),nesd,& 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 brvidx(proc_to_comm) = rcv_pt
rvsz(proc_to_comm) = n*nerv 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 if ((nerv>0).and.(proc_to_comm /= me)) then
p2ptag = psb_int8_swap_tag p2ptag = psb_int8_swap_tag
call mpi_irecv(rcvbuf(rcv_pt),n*nerv,& 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 brvidx(proc_to_comm) = rcv_pt
rvsz(proc_to_comm) = nerv 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_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 if ((nerv>0).and.(proc_to_comm /= me)) then
p2ptag = psb_int8_swap_tag p2ptag = psb_int8_swap_tag
call mpi_irecv(rcvbuf(rcv_pt),nerv,& 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 brvidx(proc_to_comm) = rcv_pt
rvsz(proc_to_comm) = n*nerv 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 if ((nesd>0).and.(proc_to_comm /= me)) then
p2ptag = psb_int8_swap_tag p2ptag = psb_int8_swap_tag
call mpi_irecv(sndbuf(snd_pt),n*nesd,& 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 brvidx(proc_to_comm) = rcv_pt
rvsz(proc_to_comm) = nerv 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 if ((nesd>0).and.(proc_to_comm /= me)) then
p2ptag = psb_int8_swap_tag p2ptag = psb_int8_swap_tag
call mpi_irecv(sndbuf(snd_pt),nesd,& 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_) nesd = idx%v(pnti+nerv+psb_n_elem_send_)
rcv_pt = 1+pnti+psb_n_elem_recv_ 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 ((nerv>0).and.(proc_to_comm /= me)) then
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
p2ptag = psb_int_swap_tag 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_) proc_to_comm = idx%v(pnti+psb_proc_id_)
nerv = idx%v(pnti+psb_n_elem_recv_) nerv = idx%v(pnti+psb_n_elem_recv_)
nesd = idx%v(pnti+nerv+psb_n_elem_send_) 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 ((nerv>0).and.(proc_to_comm /= me)) then
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
p2ptag = psb_int_swap_tag 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_ snd_pt = 1+pnti+nerv+psb_n_elem_send_
rcv_pt = 1+pnti+psb_n_elem_recv_ 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 ((nesd>0).and.(proc_to_comm /= me)) then
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
call mpi_irecv(y%combuf(snd_pt),nesd,& 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_) proc_to_comm = idx%v(pnti+psb_proc_id_)
nerv = idx%v(pnti+psb_n_elem_recv_) nerv = idx%v(pnti+psb_n_elem_recv_)
nesd = idx%v(pnti+nerv+psb_n_elem_send_) 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 ((nesd>0).and.(proc_to_comm /= me)) then
if (debug) write(*,*) me,'Posting receive from',prcid(i),snd_pt if (debug) write(*,*) me,'Posting receive from',prcid(i),snd_pt
call mpi_irecv(y%combuf(snd_pt),n*nesd,& 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_) nesd = idx%v(pnti+nerv+psb_n_elem_send_)
rcv_pt = 1+pnti+psb_n_elem_recv_ 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 ((nerv>0).and.(proc_to_comm /= me)) then
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
p2ptag = psb_long_swap_tag 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_) proc_to_comm = idx%v(pnti+psb_proc_id_)
nerv = idx%v(pnti+psb_n_elem_recv_) nerv = idx%v(pnti+psb_n_elem_recv_)
nesd = idx%v(pnti+nerv+psb_n_elem_send_) 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 ((nerv>0).and.(proc_to_comm /= me)) then
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
p2ptag = psb_long_swap_tag 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_ snd_pt = 1+pnti+nerv+psb_n_elem_send_
rcv_pt = 1+pnti+psb_n_elem_recv_ 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 ((nesd>0).and.(proc_to_comm /= me)) then
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
call mpi_irecv(y%combuf(snd_pt),nesd,& 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_) proc_to_comm = idx%v(pnti+psb_proc_id_)
nerv = idx%v(pnti+psb_n_elem_recv_) nerv = idx%v(pnti+psb_n_elem_recv_)
nesd = idx%v(pnti+nerv+psb_n_elem_send_) 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 ((nesd>0).and.(proc_to_comm /= me)) then
if (debug) write(*,*) me,'Posting receive from',prcid(i),snd_pt if (debug) write(*,*) me,'Posting receive from',prcid(i),snd_pt
call mpi_irecv(y%combuf(snd_pt),n*nesd,& 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 brvidx(proc_to_comm) = rcv_pt
rvsz(proc_to_comm) = n*nerv 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 if ((nerv>0).and.(proc_to_comm /= me)) then
p2ptag = psb_int4_swap_tag p2ptag = psb_int4_swap_tag
call mpi_irecv(rcvbuf(rcv_pt),n*nerv,& 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 brvidx(proc_to_comm) = rcv_pt
rvsz(proc_to_comm) = nerv 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_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 if ((nerv>0).and.(proc_to_comm /= me)) then
p2ptag = psb_int4_swap_tag p2ptag = psb_int4_swap_tag
call mpi_irecv(rcvbuf(rcv_pt),nerv,& 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 brvidx(proc_to_comm) = rcv_pt
rvsz(proc_to_comm) = n*nerv 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 if ((nesd>0).and.(proc_to_comm /= me)) then
p2ptag = psb_int4_swap_tag p2ptag = psb_int4_swap_tag
call mpi_irecv(sndbuf(snd_pt),n*nesd,& 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 brvidx(proc_to_comm) = rcv_pt
rvsz(proc_to_comm) = nerv 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 if ((nesd>0).and.(proc_to_comm /= me)) then
p2ptag = psb_int4_swap_tag p2ptag = psb_int4_swap_tag
call mpi_irecv(sndbuf(snd_pt),nesd,& 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_) nesd = idx%v(pnti+nerv+psb_n_elem_send_)
rcv_pt = 1+pnti+psb_n_elem_recv_ 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 ((nerv>0).and.(proc_to_comm /= me)) then
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
p2ptag = psb_real_swap_tag 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_) proc_to_comm = idx%v(pnti+psb_proc_id_)
nerv = idx%v(pnti+psb_n_elem_recv_) nerv = idx%v(pnti+psb_n_elem_recv_)
nesd = idx%v(pnti+nerv+psb_n_elem_send_) 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 ((nerv>0).and.(proc_to_comm /= me)) then
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
p2ptag = psb_real_swap_tag 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 brvidx(proc_to_comm) = rcv_pt
rvsz(proc_to_comm) = n*nerv 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 if ((nerv>0).and.(proc_to_comm /= me)) then
p2ptag = psb_real_swap_tag p2ptag = psb_real_swap_tag
call mpi_irecv(rcvbuf(rcv_pt),n*nerv,& 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 brvidx(proc_to_comm) = rcv_pt
rvsz(proc_to_comm) = nerv 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_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 if ((nerv>0).and.(proc_to_comm /= me)) then
p2ptag = psb_real_swap_tag p2ptag = psb_real_swap_tag
call mpi_irecv(rcvbuf(rcv_pt),nerv,& 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_ snd_pt = 1+pnti+nerv+psb_n_elem_send_
rcv_pt = 1+pnti+psb_n_elem_recv_ 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 ((nesd>0).and.(proc_to_comm /= me)) then
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
call mpi_irecv(y%combuf(snd_pt),nesd,& 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_) proc_to_comm = idx%v(pnti+psb_proc_id_)
nerv = idx%v(pnti+psb_n_elem_recv_) nerv = idx%v(pnti+psb_n_elem_recv_)
nesd = idx%v(pnti+nerv+psb_n_elem_send_) 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 ((nesd>0).and.(proc_to_comm /= me)) then
if (debug) write(*,*) me,'Posting receive from',prcid(i),snd_pt if (debug) write(*,*) me,'Posting receive from',prcid(i),snd_pt
call mpi_irecv(y%combuf(snd_pt),n*nesd,& 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 brvidx(proc_to_comm) = rcv_pt
rvsz(proc_to_comm) = n*nerv 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 if ((nesd>0).and.(proc_to_comm /= me)) then
p2ptag = psb_real_swap_tag p2ptag = psb_real_swap_tag
call mpi_irecv(sndbuf(snd_pt),n*nesd,& 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 brvidx(proc_to_comm) = rcv_pt
rvsz(proc_to_comm) = nerv 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 if ((nesd>0).and.(proc_to_comm /= me)) then
p2ptag = psb_real_swap_tag p2ptag = psb_real_swap_tag
call mpi_irecv(sndbuf(snd_pt),nesd,& 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_) nesd = idx%v(pnti+nerv+psb_n_elem_send_)
rcv_pt = 1+pnti+psb_n_elem_recv_ 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 ((nerv>0).and.(proc_to_comm /= me)) then
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
p2ptag = psb_dcomplex_swap_tag 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_) proc_to_comm = idx%v(pnti+psb_proc_id_)
nerv = idx%v(pnti+psb_n_elem_recv_) nerv = idx%v(pnti+psb_n_elem_recv_)
nesd = idx%v(pnti+nerv+psb_n_elem_send_) 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 ((nerv>0).and.(proc_to_comm /= me)) then
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
p2ptag = psb_dcomplex_swap_tag 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 brvidx(proc_to_comm) = rcv_pt
rvsz(proc_to_comm) = n*nerv 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 if ((nerv>0).and.(proc_to_comm /= me)) then
p2ptag = psb_dcomplex_swap_tag p2ptag = psb_dcomplex_swap_tag
call mpi_irecv(rcvbuf(rcv_pt),n*nerv,& 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 brvidx(proc_to_comm) = rcv_pt
rvsz(proc_to_comm) = nerv 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_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 if ((nerv>0).and.(proc_to_comm /= me)) then
p2ptag = psb_dcomplex_swap_tag p2ptag = psb_dcomplex_swap_tag
call mpi_irecv(rcvbuf(rcv_pt),nerv,& 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_ snd_pt = 1+pnti+nerv+psb_n_elem_send_
rcv_pt = 1+pnti+psb_n_elem_recv_ 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 ((nesd>0).and.(proc_to_comm /= me)) then
if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt if (debug) write(*,*) me,'Posting receive from',prcid(i),rcv_pt
call mpi_irecv(y%combuf(snd_pt),nesd,& 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_) proc_to_comm = idx%v(pnti+psb_proc_id_)
nerv = idx%v(pnti+psb_n_elem_recv_) nerv = idx%v(pnti+psb_n_elem_recv_)
nesd = idx%v(pnti+nerv+psb_n_elem_send_) 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 ((nesd>0).and.(proc_to_comm /= me)) then
if (debug) write(*,*) me,'Posting receive from',prcid(i),snd_pt if (debug) write(*,*) me,'Posting receive from',prcid(i),snd_pt
call mpi_irecv(y%combuf(snd_pt),n*nesd,& 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 brvidx(proc_to_comm) = rcv_pt
rvsz(proc_to_comm) = n*nerv 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 if ((nesd>0).and.(proc_to_comm /= me)) then
p2ptag = psb_dcomplex_swap_tag p2ptag = psb_dcomplex_swap_tag
call mpi_irecv(sndbuf(snd_pt),n*nesd,& 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 brvidx(proc_to_comm) = rcv_pt
rvsz(proc_to_comm) = nerv 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_) proc_to_comm = idx(pnti+psb_proc_id_)
nerv = idx(pnti+psb_n_elem_recv_) nerv = idx(pnti+psb_n_elem_recv_)
nesd = idx(pnti+nerv+psb_n_elem_send_) 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 if ((nesd>0).and.(proc_to_comm /= me)) then
p2ptag = psb_dcomplex_swap_tag p2ptag = psb_dcomplex_swap_tag
call mpi_irecv(sndbuf(snd_pt),nesd,& 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() m = desc_a%get_global_rows()
n = desc_a%get_global_cols() n = desc_a%get_global_cols()
icomm = psb_get_mpicomm(ictxt) icomm = psb_get_mpi_comm(ictxt)
myrank = psb_get_rank(ictxt,me) myrank = psb_get_mpi_rank(ictxt,me)
if (iroot==-1) then if (iroot==-1) then
lda_globx = size(globx, 1) lda_globx = size(globx, 1)
@ -159,7 +159,7 @@ subroutine psb_cscatterm(globx, locx, desc_a, info, root)
end do end do
else else
rootrank = psb_get_rank(ictxt,iroot) rootrank = psb_get_mpi_rank(ictxt,iroot)
! !
! This is potentially unsafe when IPK=8 ! This is potentially unsafe when IPK=8
! But then, IPK=8 is highly experimental anyway. ! But then, IPK=8 is highly experimental anyway.
@ -347,8 +347,8 @@ subroutine psb_cscatterv(globx, locx, desc_a, info, root)
iroot = psb_root_ iroot = psb_root_
end if end if
icomm = psb_get_mpicomm(ictxt) icomm = psb_get_mpi_comm(ictxt)
myrank = psb_get_rank(ictxt,iam) myrank = psb_get_mpi_rank(ictxt,iam)
iglobx = 1 iglobx = 1
jglobx = 1 jglobx = 1
@ -394,7 +394,7 @@ subroutine psb_cscatterv(globx, locx, desc_a, info, root)
locx(i)=globx(ltg(i)) locx(i)=globx(ltg(i))
end do end do
else else
rootrank = psb_get_rank(ictxt,iroot) rootrank = psb_get_mpi_rank(ictxt,iroot)
! !
! This is potentially unsafe when IPK=8 ! This is potentially unsafe when IPK=8
! But then, IPK=8 is highly experimental anyway. ! 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() m = desc_a%get_global_rows()
n = desc_a%get_global_cols() n = desc_a%get_global_cols()
icomm = psb_get_mpicomm(ictxt) icomm = psb_get_mpi_comm(ictxt)
myrank = psb_get_rank(ictxt,me) myrank = psb_get_mpi_rank(ictxt,me)
if (iroot==-1) then if (iroot==-1) then
lda_globx = size(globx, 1) lda_globx = size(globx, 1)
@ -159,7 +159,7 @@ subroutine psb_dscatterm(globx, locx, desc_a, info, root)
end do end do
else else
rootrank = psb_get_rank(ictxt,iroot) rootrank = psb_get_mpi_rank(ictxt,iroot)
! !
! This is potentially unsafe when IPK=8 ! This is potentially unsafe when IPK=8
! But then, IPK=8 is highly experimental anyway. ! But then, IPK=8 is highly experimental anyway.
@ -347,8 +347,8 @@ subroutine psb_dscatterv(globx, locx, desc_a, info, root)
iroot = psb_root_ iroot = psb_root_
end if end if
icomm = psb_get_mpicomm(ictxt) icomm = psb_get_mpi_comm(ictxt)
myrank = psb_get_rank(ictxt,iam) myrank = psb_get_mpi_rank(ictxt,iam)
iglobx = 1 iglobx = 1
jglobx = 1 jglobx = 1
@ -394,7 +394,7 @@ subroutine psb_dscatterv(globx, locx, desc_a, info, root)
locx(i)=globx(ltg(i)) locx(i)=globx(ltg(i))
end do end do
else else
rootrank = psb_get_rank(ictxt,iroot) rootrank = psb_get_mpi_rank(ictxt,iroot)
! !
! This is potentially unsafe when IPK=8 ! This is potentially unsafe when IPK=8
! But then, IPK=8 is highly experimental anyway. ! 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() m = desc_a%get_global_rows()
n = desc_a%get_global_cols() n = desc_a%get_global_cols()
icomm = psb_get_mpicomm(ictxt) icomm = psb_get_mpi_comm(ictxt)
myrank = psb_get_rank(ictxt,me) myrank = psb_get_mpi_rank(ictxt,me)
if (iroot==-1) then if (iroot==-1) then
lda_globx = size(globx, 1) lda_globx = size(globx, 1)
@ -159,7 +159,7 @@ subroutine psb_escatterm(globx, locx, desc_a, info, root)
end do end do
else else
rootrank = psb_get_rank(ictxt,iroot) rootrank = psb_get_mpi_rank(ictxt,iroot)
! !
! This is potentially unsafe when IPK=8 ! This is potentially unsafe when IPK=8
! But then, IPK=8 is highly experimental anyway. ! But then, IPK=8 is highly experimental anyway.
@ -347,8 +347,8 @@ subroutine psb_escatterv(globx, locx, desc_a, info, root)
iroot = psb_root_ iroot = psb_root_
end if end if
icomm = psb_get_mpicomm(ictxt) icomm = psb_get_mpi_comm(ictxt)
myrank = psb_get_rank(ictxt,iam) myrank = psb_get_mpi_rank(ictxt,iam)
iglobx = 1 iglobx = 1
jglobx = 1 jglobx = 1
@ -394,7 +394,7 @@ subroutine psb_escatterv(globx, locx, desc_a, info, root)
locx(i)=globx(ltg(i)) locx(i)=globx(ltg(i))
end do end do
else else
rootrank = psb_get_rank(ictxt,iroot) rootrank = psb_get_mpi_rank(ictxt,iroot)
! !
! This is potentially unsafe when IPK=8 ! This is potentially unsafe when IPK=8
! But then, IPK=8 is highly experimental anyway. ! 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() m = desc_a%get_global_rows()
n = desc_a%get_global_cols() n = desc_a%get_global_cols()
icomm = psb_get_mpicomm(ictxt) icomm = psb_get_mpi_comm(ictxt)
myrank = psb_get_rank(ictxt,me) myrank = psb_get_mpi_rank(ictxt,me)
if (iroot==-1) then if (iroot==-1) then
lda_globx = size(globx, 1) lda_globx = size(globx, 1)
@ -159,7 +159,7 @@ subroutine psb_mscatterm(globx, locx, desc_a, info, root)
end do end do
else else
rootrank = psb_get_rank(ictxt,iroot) rootrank = psb_get_mpi_rank(ictxt,iroot)
! !
! This is potentially unsafe when IPK=8 ! This is potentially unsafe when IPK=8
! But then, IPK=8 is highly experimental anyway. ! But then, IPK=8 is highly experimental anyway.
@ -347,8 +347,8 @@ subroutine psb_mscatterv(globx, locx, desc_a, info, root)
iroot = psb_root_ iroot = psb_root_
end if end if
icomm = psb_get_mpicomm(ictxt) icomm = psb_get_mpi_comm(ictxt)
myrank = psb_get_rank(ictxt,iam) myrank = psb_get_mpi_rank(ictxt,iam)
iglobx = 1 iglobx = 1
jglobx = 1 jglobx = 1
@ -394,7 +394,7 @@ subroutine psb_mscatterv(globx, locx, desc_a, info, root)
locx(i)=globx(ltg(i)) locx(i)=globx(ltg(i))
end do end do
else else
rootrank = psb_get_rank(ictxt,iroot) rootrank = psb_get_mpi_rank(ictxt,iroot)
! !
! This is potentially unsafe when IPK=8 ! This is potentially unsafe when IPK=8
! But then, IPK=8 is highly experimental anyway. ! 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() m = desc_a%get_global_rows()
n = desc_a%get_global_cols() n = desc_a%get_global_cols()
icomm = psb_get_mpicomm(ictxt) icomm = psb_get_mpi_comm(ictxt)
myrank = psb_get_rank(ictxt,me) myrank = psb_get_mpi_rank(ictxt,me)
if (iroot==-1) then if (iroot==-1) then
lda_globx = size(globx, 1) lda_globx = size(globx, 1)
@ -159,7 +159,7 @@ subroutine psb_sscatterm(globx, locx, desc_a, info, root)
end do end do
else else
rootrank = psb_get_rank(ictxt,iroot) rootrank = psb_get_mpi_rank(ictxt,iroot)
! !
! This is potentially unsafe when IPK=8 ! This is potentially unsafe when IPK=8
! But then, IPK=8 is highly experimental anyway. ! But then, IPK=8 is highly experimental anyway.
@ -347,8 +347,8 @@ subroutine psb_sscatterv(globx, locx, desc_a, info, root)
iroot = psb_root_ iroot = psb_root_
end if end if
icomm = psb_get_mpicomm(ictxt) icomm = psb_get_mpi_comm(ictxt)
myrank = psb_get_rank(ictxt,iam) myrank = psb_get_mpi_rank(ictxt,iam)
iglobx = 1 iglobx = 1
jglobx = 1 jglobx = 1
@ -394,7 +394,7 @@ subroutine psb_sscatterv(globx, locx, desc_a, info, root)
locx(i)=globx(ltg(i)) locx(i)=globx(ltg(i))
end do end do
else else
rootrank = psb_get_rank(ictxt,iroot) rootrank = psb_get_mpi_rank(ictxt,iroot)
! !
! This is potentially unsafe when IPK=8 ! This is potentially unsafe when IPK=8
! But then, IPK=8 is highly experimental anyway. ! 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() m = desc_a%get_global_rows()
n = desc_a%get_global_cols() n = desc_a%get_global_cols()
icomm = psb_get_mpicomm(ictxt) icomm = psb_get_mpi_comm(ictxt)
myrank = psb_get_rank(ictxt,me) myrank = psb_get_mpi_rank(ictxt,me)
if (iroot==-1) then if (iroot==-1) then
lda_globx = size(globx, 1) lda_globx = size(globx, 1)
@ -159,7 +159,7 @@ subroutine psb_zscatterm(globx, locx, desc_a, info, root)
end do end do
else else
rootrank = psb_get_rank(ictxt,iroot) rootrank = psb_get_mpi_rank(ictxt,iroot)
! !
! This is potentially unsafe when IPK=8 ! This is potentially unsafe when IPK=8
! But then, IPK=8 is highly experimental anyway. ! But then, IPK=8 is highly experimental anyway.
@ -347,8 +347,8 @@ subroutine psb_zscatterv(globx, locx, desc_a, info, root)
iroot = psb_root_ iroot = psb_root_
end if end if
icomm = psb_get_mpicomm(ictxt) icomm = psb_get_mpi_comm(ictxt)
myrank = psb_get_rank(ictxt,iam) myrank = psb_get_mpi_rank(ictxt,iam)
iglobx = 1 iglobx = 1
jglobx = 1 jglobx = 1
@ -394,7 +394,7 @@ subroutine psb_zscatterv(globx, locx, desc_a, info, root)
locx(i)=globx(ltg(i)) locx(i)=globx(ltg(i))
end do end do
else else
rootrank = psb_get_rank(ictxt,iroot) rootrank = psb_get_mpi_rank(ictxt,iroot)
! !
! This is potentially unsafe when IPK=8 ! This is potentially unsafe when IPK=8
! But then, IPK=8 is highly experimental anyway. ! 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 do i = 0, np-1
if (rvsz(i)>0) then if (rvsz(i)>0) then
! write(0,*) me, ' First receive from ',i,rvsz(i) ! 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 p2ptag = psb_long_swap_tag
!write(0,*) me, ' Posting first receive from ',i,rvsz(i),prc !write(0,*) me, ' Posting first receive from ',i,rvsz(i),prc
call mpi_irecv(rmtidx(hidx(i)+1),rvsz(i),& 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 end do
do j=1, nadj do j=1, nadj
if (nidx > 0) then if (nidx > 0) then
prc = psb_get_rank(ictxt,adj(j)) prc = psb_get_mpi_rank(ictxt,adj(j))
p2ptag = psb_long_swap_tag p2ptag = psb_long_swap_tag
!write(0,*) me, ' First send to ',adj(j),nidx, prc !write(0,*) me, ' First send to ',adj(j),nidx, prc
call mpi_send(idx,nidx,& call mpi_send(idx,nidx,&
@ -260,7 +260,7 @@ subroutine psi_adjcncy_fnd_owner(idx,iprc,adj,idxmap,info)
do j=1, nadj do j=1, nadj
!write(0,*) me, ' First send to ',adj(j),nidx !write(0,*) me, ' First send to ',adj(j),nidx
if (nidx > 0) then if (nidx > 0) then
prc = psb_get_rank(ictxt,adj(j)) prc = psb_get_mpi_rank(ictxt,adj(j))
p2ptag = psb_int_swap_tag p2ptag = psb_int_swap_tag
!write(0,*) me, ' Posting second receive from ',adj(j),nidx, prc !write(0,*) me, ' Posting second receive from ',adj(j),nidx, prc
call mpi_irecv(lclidx((j-1)*nidx+1),nidx, & 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 do i = 0, np-1
if (rvsz(i)>0) then if (rvsz(i)>0) then
prc = psb_get_rank(ictxt,i) prc = psb_get_mpi_rank(ictxt,i)
p2ptag = psb_int_swap_tag p2ptag = psb_int_swap_tag
!write(0,*) me, ' Second send to ',i,rvsz(i), prc !write(0,*) me, ' Second send to ',i,rvsz(i), prc
call mpi_send(tproc(hidx(i)+1),rvsz(i),& 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 end if
call psb_sum(iictxt,length_dl(0:np)) 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_,& call mpi_allgather(itmp,dl_lda,psb_mpi_ipk_,&
& dep_list,dl_lda,psb_mpi_ipk_,icomm,minfo) & dep_list,dl_lda,psb_mpi_ipk_,icomm,minfo)
info = minfo info = minfo
@ -288,7 +288,7 @@ subroutine psi_i_extract_dep_list(ictxt,is_bld,is_upd,desc_str,dep_list,&
goto 9999 goto 9999
end if end if
call psb_sum(iictxt,length_dl(0:np)) 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_,& call mpi_allgather(itmp,dl_lda,psb_mpi_ipk_,&
& dep_list,dl_lda,psb_mpi_ipk_,icomm,minfo) & dep_list,dl_lda,psb_mpi_ipk_,icomm,minfo)
info = minfo info = minfo

@ -70,7 +70,7 @@ subroutine psi_symm_dep_list_inrv(rvsz,adj,ictxt,info)
name = 'psi_symm_dep_list' name = 'psi_symm_dep_list'
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
icomm = psb_get_mpicomm(ictxt) icomm = psb_get_mpi_comm(ictxt)
call psb_info(ictxt, me, np) call psb_info(ictxt, me, np)
@ -151,7 +151,7 @@ subroutine psi_symm_dep_list_norv(adj,ictxt,info)
name = 'psi_symm_dep_list' name = 'psi_symm_dep_list'
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
icomm = psb_get_mpicomm(ictxt) icomm = psb_get_mpi_comm(ictxt)
call psb_info(ictxt, me, np) call psb_info(ictxt, me, np)

@ -2005,7 +2005,7 @@ contains
idxmap%local_cols = nl idxmap%local_cols = nl
idxmap%ictxt = ictxt idxmap%ictxt = ictxt
idxmap%state = psb_desc_bld_ 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%min_glob_row = vnl(iam)+1
idxmap%max_glob_row = vnl(iam+1) idxmap%max_glob_row = vnl(iam+1)
call move_alloc(vnl,idxmap%vnl) call move_alloc(vnl,idxmap%vnl)

@ -126,7 +126,7 @@ contains
idxmap%ictxt = ictxt idxmap%ictxt = ictxt
idxmap%state = psb_desc_bld_ idxmap%state = psb_desc_bld_
idxmap%mpic = psb_get_mpicomm(ictxt) idxmap%mpic = psb_get_mpi_comm(ictxt)
nl = 0 nl = 0
do i=1, n do i=1, n

@ -961,7 +961,7 @@ contains
idxmap%local_cols = nl idxmap%local_cols = nl
idxmap%ictxt = ictxt idxmap%ictxt = ictxt
idxmap%state = psb_desc_bld_ idxmap%state = psb_desc_bld_
idxmap%mpic = psb_get_mpicomm(ictxt) idxmap%mpic = psb_get_mpi_comm(ictxt)
lc2 = int(1.5*nl) lc2 = int(1.5*nl)
call psb_realloc(lc2,idxmap%loc_to_glob,info) call psb_realloc(lc2,idxmap%loc_to_glob,info)

@ -1119,7 +1119,7 @@ contains
idxmap%ictxt = ictxt idxmap%ictxt = ictxt
idxmap%state = psb_desc_bld_ idxmap%state = psb_desc_bld_
idxmap%mpic = psb_get_mpicomm(ictxt) idxmap%mpic = psb_get_mpi_comm(ictxt)
do i=1, n do i=1, n
idxmap%glob_to_loc(i) = -1 idxmap%glob_to_loc(i) = -1
end do end do

@ -746,7 +746,7 @@ contains
idxmap%local_cols = nl idxmap%local_cols = nl
idxmap%ictxt = ictxt idxmap%ictxt = ictxt
idxmap%state = psb_desc_bld_ 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_) call idxmap%set_state(psb_desc_bld_)
end subroutine repl_init end subroutine repl_init

@ -563,17 +563,30 @@ contains
end subroutine psb_info_mpik 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 integer(psb_mpk_) :: ictxt, comm
comm = ictxt 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 integer(psb_mpk_) :: rank,ictxt,id
rank = 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_) n_el_recv = ipdxv(counter+psb_n_elem_recv_)
counter = counter+n_el_recv counter = counter+n_el_recv
n_el_send = ipdxv(counter+psb_n_elem_send_) 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) sz = rvsz(ip+1)
if (sz > 0) then if (sz > 0) then
idx = brvindx(ip+1) idx = brvindx(ip+1)
@ -1235,7 +1235,7 @@ contains
n_el_recv = ipdxv(counter+psb_n_elem_recv_) n_el_recv = ipdxv(counter+psb_n_elem_recv_)
counter = counter+n_el_recv counter = counter+n_el_recv
n_el_send = ipdxv(counter+psb_n_elem_send_) 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) sz = sdsz(ip+1)
if (sz > 0) then if (sz > 0) then
idx = bsdindx(ip+1) idx = bsdindx(ip+1)

@ -1208,7 +1208,7 @@ contains
n_el_recv = ipdxv(counter+psb_n_elem_recv_) n_el_recv = ipdxv(counter+psb_n_elem_recv_)
counter = counter+n_el_recv counter = counter+n_el_recv
n_el_send = ipdxv(counter+psb_n_elem_send_) 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) sz = rvsz(ip+1)
if (sz > 0) then if (sz > 0) then
idx = brvindx(ip+1) idx = brvindx(ip+1)
@ -1235,7 +1235,7 @@ contains
n_el_recv = ipdxv(counter+psb_n_elem_recv_) n_el_recv = ipdxv(counter+psb_n_elem_recv_)
counter = counter+n_el_recv counter = counter+n_el_recv
n_el_send = ipdxv(counter+psb_n_elem_send_) 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) sz = sdsz(ip+1)
if (sz > 0) then if (sz > 0) then
idx = bsdindx(ip+1) idx = bsdindx(ip+1)

@ -1208,7 +1208,7 @@ contains
n_el_recv = ipdxv(counter+psb_n_elem_recv_) n_el_recv = ipdxv(counter+psb_n_elem_recv_)
counter = counter+n_el_recv counter = counter+n_el_recv
n_el_send = ipdxv(counter+psb_n_elem_send_) 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) sz = rvsz(ip+1)
if (sz > 0) then if (sz > 0) then
idx = brvindx(ip+1) idx = brvindx(ip+1)
@ -1235,7 +1235,7 @@ contains
n_el_recv = ipdxv(counter+psb_n_elem_recv_) n_el_recv = ipdxv(counter+psb_n_elem_recv_)
counter = counter+n_el_recv counter = counter+n_el_recv
n_el_send = ipdxv(counter+psb_n_elem_send_) 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) sz = sdsz(ip+1)
if (sz > 0) then if (sz > 0) then
idx = bsdindx(ip+1) idx = bsdindx(ip+1)

@ -1208,7 +1208,7 @@ contains
n_el_recv = ipdxv(counter+psb_n_elem_recv_) n_el_recv = ipdxv(counter+psb_n_elem_recv_)
counter = counter+n_el_recv counter = counter+n_el_recv
n_el_send = ipdxv(counter+psb_n_elem_send_) 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) sz = rvsz(ip+1)
if (sz > 0) then if (sz > 0) then
idx = brvindx(ip+1) idx = brvindx(ip+1)
@ -1235,7 +1235,7 @@ contains
n_el_recv = ipdxv(counter+psb_n_elem_recv_) n_el_recv = ipdxv(counter+psb_n_elem_recv_)
counter = counter+n_el_recv counter = counter+n_el_recv
n_el_send = ipdxv(counter+psb_n_elem_send_) 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) sz = sdsz(ip+1)
if (sz > 0) then if (sz > 0) then
idx = bsdindx(ip+1) idx = bsdindx(ip+1)

@ -137,7 +137,7 @@ sample scatter/gather routines.
. .
</PRE> </PRE>
</DD> </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> HREF="node126.html#tex2html31"><SUP><SPAN CLASS="arabic">4</SPAN></SUP></A></DT>
<DD>The string is case-insensitive <DD>The string is case-insensitive
@ -173,7 +173,7 @@ sample scatter/gather routines.
. .
</PRE> </PRE>
</DD> </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> HREF="node133.html#tex2html32"><SUP><SPAN CLASS="arabic">5</SPAN></SUP></A></DT>
<DD>Note: <DD>Note:
the implementation is for <SPAN CLASS="MATH"><IMG 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 HREF="node102.html">psb_exit -- Exit from PSBLAS parallel
environment</A> environment</A>
<LI><A NAME="tex2html139" <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" <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" <LI><A NAME="tex2html141"
HREF="node105.html">psb_wtime -- Wall clock timing</A> HREF="node105.html">psb_wtime -- Wall clock timing</A>
<LI><A NAME="tex2html142" <LI><A NAME="tex2html142"

@ -37,7 +37,7 @@
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html1542" <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" <B> Up:</B> <A NAME="tex2html1538"
HREF="node99.html">Parallel environment routines</A> HREF="node99.html">Parallel environment routines</A>
<B> Previous:</B> <A NAME="tex2html1532" <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> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html1542" <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" <B> Up:</B> <A NAME="tex2html1538"
HREF="node99.html">Parallel environment routines</A> HREF="node99.html">Parallel environment routines</A>
<B> Previous:</B> <A NAME="tex2html1532" <B> Previous:</B> <A NAME="tex2html1532"

@ -3,8 +3,8 @@
<!--Converted with LaTeX2HTML 2018 (Released Feb 1, 2018) --> <!--Converted with LaTeX2HTML 2018 (Released Feb 1, 2018) -->
<HTML> <HTML>
<HEAD> <HEAD>
<TITLE>psb_get_mpicomm -- Get the MPI communicator</TITLE> <TITLE>psb_get_mpi_comm -- Get the MPI communicator</TITLE>
<META NAME="description" CONTENT="psb_get_mpicomm -- Get the MPI communicator"> <META NAME="description" CONTENT="psb_get_mpi_comm -- Get the MPI communicator">
<META NAME="keywords" CONTENT="userhtml"> <META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document"> <META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global"> <META NAME="distribution" CONTENT="global">
@ -37,7 +37,7 @@
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR> <BR>
<B> Next:</B> <A NAME="tex2html1554" <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" <B> Up:</B> <A NAME="tex2html1550"
HREF="node99.html">Parallel environment routines</A> HREF="node99.html">Parallel environment routines</A>
<B> Previous:</B> <A NAME="tex2html1544" <B> Previous:</B> <A NAME="tex2html1544"
@ -49,16 +49,16 @@
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H2><A NAME="SECTION00084000000000000000"> <H2><A NAME="SECTION00084000000000000000">
psb_get_mpicomm -- Get the MPI communicator</A> psb_get_mpi_comm -- Get the MPI communicator</A>
</H2> </H2>
<P> <P>
<PRE> <PRE>
icomm = psb_get_mpicomm(icontxt) icomm = psb_get_mpi_comm(icontxt)
</PRE> </PRE>
<P> <P>
This subroutine returns the MPI communicator associated with a PSBLAS context This function returns the MPI communicator associated with a PSBLAS context
<DL> <DL>
<DT><STRONG>Type:</STRONG></DT> <DT><STRONG>Type:</STRONG></DT>
<DD>Asynchronous. <DD>Asynchronous.
@ -96,6 +96,11 @@ Intent: <B>out</B>.
<BR></DD> <BR></DD>
</DL> </DL>
<P>
<BIG CLASS="LARGE"><B>Notes</B></BIG>
The subroutine version <code>psb_get_mpicomm</code> is still available but
is deprecated.
<P> <P>
<BR><HR> <BR><HR>

@ -3,8 +3,8 @@
<!--Converted with LaTeX2HTML 2018 (Released Feb 1, 2018) --> <!--Converted with LaTeX2HTML 2018 (Released Feb 1, 2018) -->
<HTML> <HTML>
<HEAD> <HEAD>
<TITLE>psb_get_rank -- Get the MPI rank</TITLE> <TITLE>psb_get_mpi_rank -- Get the MPI rank</TITLE>
<META NAME="description" CONTENT="psb_get_rank -- Get the MPI rank"> <META NAME="description" CONTENT="psb_get_mpi_rank -- Get the MPI rank">
<META NAME="keywords" CONTENT="userhtml"> <META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document"> <META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global"> <META NAME="distribution" CONTENT="global">
@ -41,7 +41,7 @@
<B> Up:</B> <A NAME="tex2html1562" <B> Up:</B> <A NAME="tex2html1562"
HREF="node99.html">Parallel environment routines</A> HREF="node99.html">Parallel environment routines</A>
<B> Previous:</B> <A NAME="tex2html1556" <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" &nbsp; <B> <A NAME="tex2html1564"
HREF="node1.html">Contents</A></B> HREF="node1.html">Contents</A></B>
<BR> <BR>
@ -49,16 +49,16 @@
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H2><A NAME="SECTION00085000000000000000"> <H2><A NAME="SECTION00085000000000000000">
psb_get_rank -- Get the MPI rank</A> psb_get_mpi_rank -- Get the MPI rank</A>
</H2> </H2>
<P> <P>
<PRE> <PRE>
rank = psb_get_rank(icontxt, id) rank = psb_get_mpi_rank(icontxt, id)
</PRE> </PRE>
<P> <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" WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img138.png" SRC="img138.png"
ALT="$id$"></SPAN> ALT="$id$"></SPAN>
@ -118,6 +118,11 @@ Intent: <B>out</B>.
<BR></DD> <BR></DD>
</DL> </DL>
<P>
<BIG CLASS="LARGE"><B>Notes</B></BIG>
The subroutine version <code>psb_get_rank</code> is still available but is
deprecated.
<P> <P>
<BR><HR> <BR><HR>

@ -41,7 +41,7 @@
<B> Up:</B> <A NAME="tex2html1574" <B> Up:</B> <A NAME="tex2html1574"
HREF="node99.html">Parallel environment routines</A> HREF="node99.html">Parallel environment routines</A>
<B> Previous:</B> <A NAME="tex2html1568" <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" &nbsp; <B> <A NAME="tex2html1576"
HREF="node1.html">Contents</A></B> HREF="node1.html">Contents</A></B>
<BR> <BR>

@ -91,7 +91,7 @@ explicitly.
<P> <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> <TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 9:</STRONG> <CAPTION ALIGN="BOTTOM"><STRONG>Figure 9:</STRONG>
The layout of a generic <TT>psb_foo</TT> 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> <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> <TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 10:</STRONG> <CAPTION ALIGN="BOTTOM"><STRONG>Figure 10:</STRONG>
A sample PSBLAS-2.0 error 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" WIDTH="41" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img165.png" SRC="img165.png"
ALT="$ptype$"></SPAN> string as follows<A NAME="tex2html31" 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> <DL>
<DT><STRONG>NONE</STRONG></DT> <DT><STRONG>NONE</STRONG></DT>
<DD>No preconditioning, i.e. the preconditioner is just a copy <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> </DD>
<DT><STRONG>FCG:</STRONG></DT> <DT><STRONG>FCG:</STRONG></DT>
<DD>the Flexible Conjugate Gradient method<A NAME="tex2html32" <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> <P>
</DD> </DD>

@ -60,7 +60,7 @@ Mathematics Department, Macquarie University, Sydney.
The command line arguments were: <BR> The command line arguments were: <BR>
<STRONG>latex2html</STRONG> <TT>-local_icons -noaddress -dir ../../html userhtml.tex</TT> <STRONG>latex2html</STRONG> <TT>-local_icons -noaddress -dir ../../html userhtml.tex</TT>
<P> <P>
The translation was initiated on 2019-11-20 The translation was initiated on 2019-12-11
<BR><HR> <BR><HR>
</BODY> </BODY>

@ -70,9 +70,9 @@ Parallel environment routines
HREF="node102.html">psb_exit -- Exit from PSBLAS parallel HREF="node102.html">psb_exit -- Exit from PSBLAS parallel
environment</A> environment</A>
<LI><A NAME="tex2html1493" <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" <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" <LI><A NAME="tex2html1495"
HREF="node105.html">psb_wtime -- Wall clock timing</A> HREF="node105.html">psb_wtime -- Wall clock timing</A>
<LI><A NAME="tex2html1496" <LI><A NAME="tex2html1496"

@ -313,9 +313,9 @@ of a dense vector</A>
HREF="node102.html">psb_exit -- Exit from PSBLAS parallel HREF="node102.html">psb_exit -- Exit from PSBLAS parallel
environment</A> environment</A>
<LI><A NAME="tex2html139" <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" <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" <LI><A NAME="tex2html141"
HREF="node105.html">psb_wtime -- Wall clock timing</A> HREF="node105.html">psb_wtime -- Wall clock timing</A>
<LI><A NAME="tex2html142" <LI><A NAME="tex2html142"

@ -1084,20 +1084,20 @@ endobj
<< <<
/Type /ObjStm /Type /ObjStm
/N 100 /N 100
/First 865 /First 866
/Length 7127 /Length 7139
>> >>
stream stream
403 0 407 44 408 70 411 114 412 140 415 184 416 220 419 264 420 297 423 341 403 0 407 44 408 70 411 114 412 140 415 184 416 224 419 268 420 308 423 352
424 368 427 412 428 441 431 485 432 512 435 556 436 583 439 627 440 652 443 696 424 379 427 423 428 452 431 496 432 523 435 567 436 594 439 638 440 663 443 707
444 721 447 765 448 790 451 834 452 859 455 903 456 928 459 972 460 998 463 1042 444 732 447 776 448 801 451 845 452 870 455 914 456 939 459 983 460 1009 463 1053
464 1067 467 1111 468 1136 471 1178 472 1209 475 1253 476 1282 479 1326 480 1353 483 1397 464 1078 467 1122 468 1147 471 1189 472 1220 475 1264 476 1293 479 1337 480 1364 483 1408
484 1438 487 1482 488 1520 491 1562 492 1588 495 1632 496 1657 499 1702 500 1728 503 1773 484 1449 487 1493 488 1531 491 1573 492 1599 495 1643 496 1668 499 1713 500 1739 503 1784
504 1805 507 1850 508 1884 511 1929 512 1962 515 2007 516 2042 519 2085 520 2126 523 2171 504 1816 507 1861 508 1895 511 1940 512 1973 515 2018 516 2053 519 2096 520 2137 523 2182
524 2198 527 2243 528 2271 531 2316 532 2344 535 2389 536 2417 539 2462 540 2482 543 2527 524 2209 527 2254 528 2282 531 2327 532 2355 535 2400 536 2428 539 2473 540 2493 543 2538
544 2554 547 2597 548 2632 551 2677 552 2705 553 2750 556 2864 557 2920 3 2976 554 3030 544 2565 547 2608 548 2643 551 2688 552 2716 553 2761 556 2875 557 2931 3 2987 554 3041
564 3135 566 3249 563 3306 615 3372 567 3866 568 4012 569 4158 570 4310 571 4462 572 4614 564 3146 566 3260 563 3317 615 3383 567 3877 568 4023 569 4169 570 4321 571 4473 572 4625
573 4771 574 4923 575 5069 576 5221 577 5377 578 5524 579 5671 580 5819 581 5967 582 6114 573 4782 574 4934 575 5080 576 5232 577 5388 578 5535 579 5682 580 5830 581 5978 582 6125
% 403 0 obj % 403 0 obj
<< /S /GoTo /D (section*.79) >> << /S /GoTo /D (section*.79) >>
% 407 0 obj % 407 0 obj
@ -1109,11 +1109,11 @@ stream
% 412 0 obj % 412 0 obj
<< /S /GoTo /D (section*.81) >> << /S /GoTo /D (section*.81) >>
% 415 0 obj % 415 0 obj
(psb\137get\137mpicomm) (psb\137get\137mpi\137comm)
% 416 0 obj % 416 0 obj
<< /S /GoTo /D (section*.82) >> << /S /GoTo /D (section*.82) >>
% 419 0 obj % 419 0 obj
(psb\137get\137rank) (psb\137get\137mpi\137rank)
% 420 0 obj % 420 0 obj
<< /S /GoTo /D (section*.83) >> << /S /GoTo /D (section*.83) >>
% 423 0 obj % 423 0 obj
@ -2117,7 +2117,7 @@ endstream
endobj endobj
715 0 obj 715 0 obj
<< <<
/Length 18018 /Length 18231
>> >>
stream stream
0 g 0 G 0 g 0 G
@ -2247,14 +2247,21 @@ q
[]0 d 0 J 0.398 w 0 0 m 2.989 0 l S []0 d 0 J 0.398 w 0 0 m 2.989 0 l S
Q Q
BT 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 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 0 g 0 G
[-583(107)]TJ [-583(107)]TJ
0 g 0 G 0 g 0 G
0 0 1 rg 0 0 1 RG 0 0 1 rg 0 0 1 RG
-35.456 -11.955 Td [(psb)]TJ -55.647 -11.955 Td [(psb)]TJ
ET ET
q q
1 0 0 1 130.436 588.769 cm 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 []0 d 0 J 0.398 w 0 0 m 2.989 0 l S
Q Q
BT 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 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 0 g 0 G
[-584(108)]TJ [-583(108)]TJ
0 g 0 G 0 g 0 G
0 0 1 rg 0 0 1 RG 0 0 1 rg 0 0 1 RG
-35.456 -11.955 Td [(psb)]TJ -55.647 -11.955 Td [(psb)]TJ
ET ET
q q
1 0 0 1 130.436 576.814 cm 1 0 0 1 130.436 576.814 cm
@ -2708,7 +2722,7 @@ endobj
/Type /ObjStm /Type /ObjStm
/N 100 /N 100
/First 924 /First 924
/Length 16089 /Length 16090
>> >>
stream stream
583 0 584 148 585 296 586 445 587 594 588 751 589 903 590 1059 591 1208 592 1357 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 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 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 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 % 583 0 obj
<< <<
/Type /Annot /Type /Annot
@ -3446,7 +3460,7 @@ stream
/Type /Annot /Type /Annot
/Subtype /Link /Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0] /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) >> /A << /S /GoTo /D (section*.81) >>
>> >>
% 679 0 obj % 679 0 obj
@ -3454,7 +3468,7 @@ stream
/Type /Annot /Type /Annot
/Subtype /Link /Subtype /Link
/Border[0 0 0]/H/I/C[1 0 0] /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) >> /A << /S /GoTo /D (section*.82) >>
>> >>
% 680 0 obj % 680 0 obj
@ -19381,7 +19395,7 @@ endstream
endobj endobj
1576 0 obj 1576 0 obj
<< <<
/Length 2196 /Length 2610
>> >>
stream stream
0 g 0 G 0 g 0 G
@ -19401,10 +19415,17 @@ q
[]0 d 0 J 0.398 w 0 0 m 4.035 0 l S []0 d 0 J 0.398 w 0 0 m 4.035 0 l S
Q Q
BT 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
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 0 g 0 G
/F27 9.9626 Tf 0 -19.926 Td [(T)32(yp)-32(e:)]TJ /F27 9.9626 Tf 0 -19.926 Td [(T)32(yp)-32(e:)]TJ
0 g 0 G 0 g 0 G
@ -19422,9 +19443,9 @@ BT
0 g 0 G 0 g 0 G
0 -19.925 Td [(F)96(unction)-384(v)64(alue)]TJ 0 -19.925 Td [(F)96(unction)-384(v)64(alue)]TJ
0 g 0 G 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 0 g 0 G
89.442 -366.168 Td [(107)]TJ 164.384 -320.34 Td [(107)]TJ
0 g 0 G 0 g 0 G
ET ET
@ -19432,7 +19453,7 @@ endstream
endobj endobj
1580 0 obj 1580 0 obj
<< <<
/Length 3044 /Length 3460
>> >>
stream stream
0 g 0 G 0 g 0 G
@ -19452,12 +19473,19 @@ q
[]0 d 0 J 0.398 w 0 0 m 4.035 0 l S []0 d 0 J 0.398 w 0 0 m 4.035 0 l S
Q Q
BT 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
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 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 0 g 0 G
/F8 9.9626 Tf 33.797 0 Td [(Async)28(hronous.)]TJ /F8 9.9626 Tf 33.797 0 Td [(Async)28(hronous.)]TJ
0 g 0 G 0 g 0 G
@ -19466,20 +19494,20 @@ BT
0 g 0 G 0 g 0 G
0 -19.925 Td [(icon)32(txt)]TJ 0 -19.925 Td [(icon)32(txt)]TJ
0 g 0 G 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 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 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 0 g 0 G
/F27 9.9626 Tf -222.543 -21.918 Td [(On)-383(Return)]TJ /F27 9.9626 Tf -222.543 -21.918 Td [(On)-383(Return)]TJ
0 g 0 G 0 g 0 G
0 g 0 G 0 g 0 G
0 -19.925 Td [(F)96(unciton)-384(v)64(alue)]TJ 0 -19.925 Td [(F)96(unciton)-384(v)64(alue)]TJ
0 g 0 G 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 0 g 0 G
89.442 -322.333 Td [(108)]TJ 164.383 -276.504 Td [(108)]TJ
0 g 0 G 0 g 0 G
ET ET
@ -28619,8 +28647,8 @@ endobj
2039 0 obj 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() /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) /CreationDate (D:20191211092119Z)
/ModDate (D:20191120134929Z) /ModDate (D:20191211092119Z)
/Trapped /False /Trapped /False
/PTEX.Fullbanner (This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2) /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] /W [1 3 1]
/Root 2038 0 R /Root 2038 0 R
/Info 2039 0 R /Info 2039 0 R
/ID [<3E2A82116FCF1FDC3F29F720B9A71E82> <3E2A82116FCF1FDC3F29F720B9A71E82>] /ID [<A5759746D0550A6AB1C801C452CBC240> <A5759746D0550A6AB1C801C452CBC240>]
/Length 10205 /Length 10205
>> >>
stream 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   ó€@Ë Ë ó)€?Ë Ëó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   "& * 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 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ÍÍÍÍÍÍÍÍÍÍ Í 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×ÏÍ:­ÍÍÍÍ!Í"Í#Í$Í%Í&Í'Í(Í)Í*Í,Í ^-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@ @@ Í Í Í ÍÍÍÍÍÍÍÍÍÍÍÍÍÍ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^.@ @@
@ @@@@@@@@@@@@@ @!@(@¬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óóóóÇ @ @@@@@@@@@‹ù@@@@ @!@(@­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²#^^^^^
ó óó·ñó óóóÙ<óóóóóóÛêóóó#óöñóóóóó ó!ó"ó%ó&ó'ó+ó$ ó(ó*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,^ ^ ^ ^^^^^  \^^^^^^^^^^^^^!^&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 ÔÔŸÆÔÔÔ ®&ÔÔ
^òª^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ÔÔ Ô Ô Ô ÔÔ¾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
Ô Ô Ô ÔÔ½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 G?C
eG?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
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 mCDCFCICJCMCH
PCKCOCPCSCN 2CKCOCPCSCN
#€CQCXCT $bCQCXCT
>vCUCVCWGACZC[C\C_CY ?XCUCVCWGACZC[C\C_CY
C C]CaCb¬C`
C]CaCb¬C` XˆCc ®é¬¬
Cc ®¬¬ <EFBFBD>Ò¬¬¬
Žð¬¬¬
¬ ¬
œ›¬¬¬  <EFBFBD>}¬¬¬ 
¶d¬ ¬ ¬¬¬¬ ·F¬ ¬ ¬¬¬¬
¹b¬GB¬¬¬ ºD¬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 ° Õ‡  çë þ‚¬)¬+¬.¬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 ÷#  ö!'$ ƒ%-( 0u)+,3. /1294 YJ578GF?: ;=>E@ ‚‰ACDLF —FGIJG!KQM ¯ÒNPVR ÄñSUXY\W Ú"ZGG] óL^_`G abc    ú  | =GE #  !'$ %-( 4•)+,3. /1294 ]j578GF?: ;=>E@ †©ACDLF fGIJG!KQM ³òNPVR ÉSUXY\W ÞBZGG] ÷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ééééé é øêéé é    Ú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é éééééé Ùééééé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Ó¸ÌÓÓÓÓÓÓÓÓÓ Ó 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
Ó Ó Ó ÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓÓ Ó!Ó"Ó#¶—Îx 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 endstream
endobj endobj
startxref startxref
1298040 1299096
%%EOF %%EOF

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

Loading…
Cancel
Save