Fixes for IPK8

pull/28/head
sfilippone 12 months ago
parent 4d0226b7d6
commit 07fa2323eb

@ -48,7 +48,8 @@ subroutine psi_covrl_restr_vect(x,xs,desc_a,info)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
integer(psb_mpk_) :: np, me, isz
integer(psb_ipk_) :: err_act, i, idx
character(len=20) :: name, ch_err
name='psi_covrl_restr_vect'
@ -91,7 +92,8 @@ subroutine psi_covrl_restr_multivect(x,xs,desc_a,info)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
integer(psb_mpk_) :: np, me, isz,nc
integer(psb_ipk_) :: err_act, i, idx
character(len=20) :: name, ch_err
name='psi_covrl_restr_mv'

@ -48,7 +48,8 @@ subroutine psi_covrl_save_vect(x,xs,desc_a,info)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
integer(psb_mpk_) :: np, me, isz
integer(psb_ipk_) :: err_act, i, idx
character(len=20) :: name, ch_err
name='psi_dovrl_saver1'
@ -97,7 +98,8 @@ subroutine psi_covrl_save_multivect(x,xs,desc_a,info)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
integer(psb_mpk_) :: np, me, isz, nc
integer(psb_ipk_) :: err_act, i, idx
character(len=20) :: name, ch_err
name='psi_dovrl_saver1'

@ -51,7 +51,8 @@ subroutine psi_covrl_upd_vect(x,desc_a,update,info)
! locals
complex(psb_spk_), allocatable :: xs(:)
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm, nx
integer(psb_mpk_) :: np, me, isz, nx, ndm
integer(psb_ipk_) :: err_act, i, idx
integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err
@ -133,7 +134,8 @@ subroutine psi_covrl_upd_multivect(x,desc_a,update,info)
! locals
complex(psb_spk_), allocatable :: xs(:,:)
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm, nx, nc
integer(psb_mpk_) :: np, me, isz, ndm, nx, nc
integer(psb_ipk_) :: err_act, i, idx
integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err

@ -203,11 +203,11 @@ subroutine psi_cswap_vidx_vect(ctxt,icomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_) :: np, me
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size),&
& iret, nesd, nerv
integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
@ -541,12 +541,11 @@ subroutine psi_cswap_vidx_multivect(ctxt,icomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false., debug=.false.

@ -98,7 +98,8 @@ subroutine psi_cswapdatam(flag,n,beta,y,desc_a,work,info,data)
include 'mpif.h'
#endif
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
complex(psb_spk_) :: y(:,:), beta
complex(psb_spk_), target :: work(:)
@ -108,7 +109,8 @@ subroutine psi_cswapdatam(flag,n,beta,y,desc_a,work,info,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name
@ -171,7 +173,8 @@ subroutine psi_cswapidxm(ctxt,icomm,flag,n,beta,y,idx, &
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
complex(psb_spk_) :: y(:,:), beta
complex(psb_spk_), target :: work(:)
@ -179,12 +182,11 @@ subroutine psi_cswapidxm(ctxt,icomm,flag,n,beta,y,idx, &
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
@ -585,7 +587,8 @@ subroutine psi_cswapdatav(flag,beta,y,desc_a,work,info,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name
@ -666,13 +669,12 @@ subroutine psi_cswapidxv(ctxt,icomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false.

@ -204,12 +204,11 @@ subroutine psi_ctran_vidx_vect(ctxt,icomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false., debug=.false.
@ -552,12 +551,11 @@ subroutine psi_ctran_vidx_multivect(ctxt,icomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false., debug=.false.

@ -102,7 +102,8 @@ subroutine psi_cswaptranm(flag,n,beta,y,desc_a,work,info,data)
include 'mpif.h'
#endif
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
complex(psb_spk_) :: y(:,:), beta
complex(psb_spk_), target :: work(:)
@ -112,7 +113,8 @@ subroutine psi_cswaptranm(flag,n,beta,y,desc_a,work,info,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, err_act, totxch, data_
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: idxs, idxr, err_act, totxch, data_
integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name
@ -176,19 +178,19 @@ subroutine psi_ctranidxm(ctxt,icomm,flag,n,beta,y,idx,&
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
complex(psb_spk_) :: y(:,:), beta
complex(psb_spk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
@ -678,13 +680,12 @@ subroutine psi_ctranidxv(ctxt,icomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false.

@ -48,7 +48,8 @@ subroutine psi_dovrl_restr_vect(x,xs,desc_a,info)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
integer(psb_mpk_) :: np, me, isz
integer(psb_ipk_) :: err_act, i, idx
character(len=20) :: name, ch_err
name='psi_dovrl_restr_vect'
@ -91,7 +92,8 @@ subroutine psi_dovrl_restr_multivect(x,xs,desc_a,info)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
integer(psb_mpk_) :: np, me, isz,nc
integer(psb_ipk_) :: err_act, i, idx
character(len=20) :: name, ch_err
name='psi_dovrl_restr_mv'

@ -48,7 +48,8 @@ subroutine psi_dovrl_save_vect(x,xs,desc_a,info)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
integer(psb_mpk_) :: np, me, isz
integer(psb_ipk_) :: err_act, i, idx
character(len=20) :: name, ch_err
name='psi_dovrl_saver1'
@ -97,7 +98,8 @@ subroutine psi_dovrl_save_multivect(x,xs,desc_a,info)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
integer(psb_mpk_) :: np, me, isz, nc
integer(psb_ipk_) :: err_act, i, idx
character(len=20) :: name, ch_err
name='psi_dovrl_saver1'

@ -51,7 +51,8 @@ subroutine psi_dovrl_upd_vect(x,desc_a,update,info)
! locals
real(psb_dpk_), allocatable :: xs(:)
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm, nx
integer(psb_mpk_) :: np, me, isz, nx, ndm
integer(psb_ipk_) :: err_act, i, idx
integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err
@ -133,7 +134,8 @@ subroutine psi_dovrl_upd_multivect(x,desc_a,update,info)
! locals
real(psb_dpk_), allocatable :: xs(:,:)
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm, nx, nc
integer(psb_mpk_) :: np, me, isz, ndm, nx, nc
integer(psb_ipk_) :: err_act, i, idx
integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err

@ -203,11 +203,11 @@ subroutine psi_dswap_vidx_vect(ctxt,icomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_) :: np, me
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size),&
& iret, nesd, nerv
integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
@ -541,12 +541,11 @@ subroutine psi_dswap_vidx_multivect(ctxt,icomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false., debug=.false.

@ -98,7 +98,8 @@ subroutine psi_dswapdatam(flag,n,beta,y,desc_a,work,info,data)
include 'mpif.h'
#endif
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
real(psb_dpk_) :: y(:,:), beta
real(psb_dpk_), target :: work(:)
@ -108,7 +109,8 @@ subroutine psi_dswapdatam(flag,n,beta,y,desc_a,work,info,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name
@ -171,7 +173,8 @@ subroutine psi_dswapidxm(ctxt,icomm,flag,n,beta,y,idx, &
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
real(psb_dpk_) :: y(:,:), beta
real(psb_dpk_), target :: work(:)
@ -179,12 +182,11 @@ subroutine psi_dswapidxm(ctxt,icomm,flag,n,beta,y,idx, &
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
@ -585,7 +587,8 @@ subroutine psi_dswapdatav(flag,beta,y,desc_a,work,info,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name
@ -666,13 +669,12 @@ subroutine psi_dswapidxv(ctxt,icomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false.

@ -204,12 +204,11 @@ subroutine psi_dtran_vidx_vect(ctxt,icomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false., debug=.false.
@ -552,12 +551,11 @@ subroutine psi_dtran_vidx_multivect(ctxt,icomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false., debug=.false.

@ -102,7 +102,8 @@ subroutine psi_dswaptranm(flag,n,beta,y,desc_a,work,info,data)
include 'mpif.h'
#endif
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
real(psb_dpk_) :: y(:,:), beta
real(psb_dpk_), target :: work(:)
@ -112,7 +113,8 @@ subroutine psi_dswaptranm(flag,n,beta,y,desc_a,work,info,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, err_act, totxch, data_
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: idxs, idxr, err_act, totxch, data_
integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name
@ -176,19 +178,19 @@ subroutine psi_dtranidxm(ctxt,icomm,flag,n,beta,y,idx,&
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
real(psb_dpk_) :: y(:,:), beta
real(psb_dpk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
@ -678,13 +680,12 @@ subroutine psi_dtranidxv(ctxt,icomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false.

@ -98,7 +98,8 @@ subroutine psi_eswapdatam(flag,n,beta,y,desc_a,work,info,data)
include 'mpif.h'
#endif
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_epk_) :: y(:,:), beta
integer(psb_epk_), target :: work(:)
@ -108,7 +109,8 @@ subroutine psi_eswapdatam(flag,n,beta,y,desc_a,work,info,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name
@ -171,7 +173,8 @@ subroutine psi_eswapidxm(ctxt,icomm,flag,n,beta,y,idx, &
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_epk_) :: y(:,:), beta
integer(psb_epk_), target :: work(:)
@ -179,12 +182,11 @@ subroutine psi_eswapidxm(ctxt,icomm,flag,n,beta,y,idx, &
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
@ -585,7 +587,8 @@ subroutine psi_eswapdatav(flag,beta,y,desc_a,work,info,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name
@ -666,13 +669,12 @@ subroutine psi_eswapidxv(ctxt,icomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false.

@ -102,7 +102,8 @@ subroutine psi_eswaptranm(flag,n,beta,y,desc_a,work,info,data)
include 'mpif.h'
#endif
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_epk_) :: y(:,:), beta
integer(psb_epk_), target :: work(:)
@ -112,7 +113,8 @@ subroutine psi_eswaptranm(flag,n,beta,y,desc_a,work,info,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, err_act, totxch, data_
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: idxs, idxr, err_act, totxch, data_
integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name
@ -176,19 +178,19 @@ subroutine psi_etranidxm(ctxt,icomm,flag,n,beta,y,idx,&
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_epk_) :: y(:,:), beta
integer(psb_epk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
@ -678,13 +680,12 @@ subroutine psi_etranidxv(ctxt,icomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false.

@ -98,7 +98,8 @@ subroutine psi_i2swapdatam(flag,n,beta,y,desc_a,work,info,data)
include 'mpif.h'
#endif
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_i2pk_) :: y(:,:), beta
integer(psb_i2pk_), target :: work(:)
@ -108,7 +109,8 @@ subroutine psi_i2swapdatam(flag,n,beta,y,desc_a,work,info,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name
@ -171,7 +173,8 @@ subroutine psi_i2swapidxm(ctxt,icomm,flag,n,beta,y,idx, &
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_i2pk_) :: y(:,:), beta
integer(psb_i2pk_), target :: work(:)
@ -179,12 +182,11 @@ subroutine psi_i2swapidxm(ctxt,icomm,flag,n,beta,y,idx, &
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
@ -585,7 +587,8 @@ subroutine psi_i2swapdatav(flag,beta,y,desc_a,work,info,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name
@ -666,13 +669,12 @@ subroutine psi_i2swapidxv(ctxt,icomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false.

@ -102,7 +102,8 @@ subroutine psi_i2swaptranm(flag,n,beta,y,desc_a,work,info,data)
include 'mpif.h'
#endif
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_i2pk_) :: y(:,:), beta
integer(psb_i2pk_), target :: work(:)
@ -112,7 +113,8 @@ subroutine psi_i2swaptranm(flag,n,beta,y,desc_a,work,info,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, err_act, totxch, data_
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: idxs, idxr, err_act, totxch, data_
integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name
@ -176,19 +178,19 @@ subroutine psi_i2tranidxm(ctxt,icomm,flag,n,beta,y,idx,&
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_i2pk_) :: y(:,:), beta
integer(psb_i2pk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
@ -678,13 +680,12 @@ subroutine psi_i2tranidxv(ctxt,icomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false.

@ -48,7 +48,8 @@ subroutine psi_iovrl_restr_vect(x,xs,desc_a,info)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
integer(psb_mpk_) :: np, me, isz
integer(psb_ipk_) :: err_act, i, idx
character(len=20) :: name, ch_err
name='psi_iovrl_restr_vect'
@ -91,7 +92,8 @@ subroutine psi_iovrl_restr_multivect(x,xs,desc_a,info)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
integer(psb_mpk_) :: np, me, isz,nc
integer(psb_ipk_) :: err_act, i, idx
character(len=20) :: name, ch_err
name='psi_iovrl_restr_mv'

@ -48,7 +48,8 @@ subroutine psi_iovrl_save_vect(x,xs,desc_a,info)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
integer(psb_mpk_) :: np, me, isz
integer(psb_ipk_) :: err_act, i, idx
character(len=20) :: name, ch_err
name='psi_dovrl_saver1'
@ -97,7 +98,8 @@ subroutine psi_iovrl_save_multivect(x,xs,desc_a,info)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
integer(psb_mpk_) :: np, me, isz, nc
integer(psb_ipk_) :: err_act, i, idx
character(len=20) :: name, ch_err
name='psi_dovrl_saver1'

@ -51,7 +51,8 @@ subroutine psi_iovrl_upd_vect(x,desc_a,update,info)
! locals
integer(psb_ipk_), allocatable :: xs(:)
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm, nx
integer(psb_mpk_) :: np, me, isz, nx, ndm
integer(psb_ipk_) :: err_act, i, idx
integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err
@ -133,7 +134,8 @@ subroutine psi_iovrl_upd_multivect(x,desc_a,update,info)
! locals
integer(psb_ipk_), allocatable :: xs(:,:)
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm, nx, nc
integer(psb_mpk_) :: np, me, isz, ndm, nx, nc
integer(psb_ipk_) :: err_act, i, idx
integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err

@ -203,11 +203,11 @@ subroutine psi_iswap_vidx_vect(ctxt,icomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_) :: np, me
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size),&
& iret, nesd, nerv
integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
@ -541,12 +541,11 @@ subroutine psi_iswap_vidx_multivect(ctxt,icomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false., debug=.false.

@ -204,12 +204,11 @@ subroutine psi_itran_vidx_vect(ctxt,icomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false., debug=.false.
@ -552,12 +551,11 @@ subroutine psi_itran_vidx_multivect(ctxt,icomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false., debug=.false.

@ -48,7 +48,8 @@ subroutine psi_lovrl_restr_vect(x,xs,desc_a,info)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
integer(psb_mpk_) :: np, me, isz
integer(psb_ipk_) :: err_act, i, idx
character(len=20) :: name, ch_err
name='psi_lovrl_restr_vect'
@ -91,7 +92,8 @@ subroutine psi_lovrl_restr_multivect(x,xs,desc_a,info)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
integer(psb_mpk_) :: np, me, isz,nc
integer(psb_ipk_) :: err_act, i, idx
character(len=20) :: name, ch_err
name='psi_lovrl_restr_mv'

@ -48,7 +48,8 @@ subroutine psi_lovrl_save_vect(x,xs,desc_a,info)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
integer(psb_mpk_) :: np, me, isz
integer(psb_ipk_) :: err_act, i, idx
character(len=20) :: name, ch_err
name='psi_dovrl_saver1'
@ -97,7 +98,8 @@ subroutine psi_lovrl_save_multivect(x,xs,desc_a,info)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
integer(psb_mpk_) :: np, me, isz, nc
integer(psb_ipk_) :: err_act, i, idx
character(len=20) :: name, ch_err
name='psi_dovrl_saver1'

@ -51,7 +51,8 @@ subroutine psi_lovrl_upd_vect(x,desc_a,update,info)
! locals
integer(psb_lpk_), allocatable :: xs(:)
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm, nx
integer(psb_mpk_) :: np, me, isz, nx, ndm
integer(psb_ipk_) :: err_act, i, idx
integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err
@ -133,7 +134,8 @@ subroutine psi_lovrl_upd_multivect(x,desc_a,update,info)
! locals
integer(psb_lpk_), allocatable :: xs(:,:)
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm, nx, nc
integer(psb_mpk_) :: np, me, isz, ndm, nx, nc
integer(psb_ipk_) :: err_act, i, idx
integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err

@ -203,11 +203,11 @@ subroutine psi_lswap_vidx_vect(ctxt,icomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_) :: np, me
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size),&
& iret, nesd, nerv
integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
@ -541,12 +541,11 @@ subroutine psi_lswap_vidx_multivect(ctxt,icomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false., debug=.false.

@ -204,12 +204,11 @@ subroutine psi_ltran_vidx_vect(ctxt,icomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false., debug=.false.
@ -552,12 +551,11 @@ subroutine psi_ltran_vidx_multivect(ctxt,icomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false., debug=.false.

@ -98,7 +98,8 @@ subroutine psi_mswapdatam(flag,n,beta,y,desc_a,work,info,data)
include 'mpif.h'
#endif
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_mpk_) :: y(:,:), beta
integer(psb_mpk_), target :: work(:)
@ -108,7 +109,8 @@ subroutine psi_mswapdatam(flag,n,beta,y,desc_a,work,info,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name
@ -171,7 +173,8 @@ subroutine psi_mswapidxm(ctxt,icomm,flag,n,beta,y,idx, &
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_mpk_) :: y(:,:), beta
integer(psb_mpk_), target :: work(:)
@ -179,12 +182,11 @@ subroutine psi_mswapidxm(ctxt,icomm,flag,n,beta,y,idx, &
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
@ -585,7 +587,8 @@ subroutine psi_mswapdatav(flag,beta,y,desc_a,work,info,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name
@ -666,13 +669,12 @@ subroutine psi_mswapidxv(ctxt,icomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false.

@ -102,7 +102,8 @@ subroutine psi_mswaptranm(flag,n,beta,y,desc_a,work,info,data)
include 'mpif.h'
#endif
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_mpk_) :: y(:,:), beta
integer(psb_mpk_), target :: work(:)
@ -112,7 +113,8 @@ subroutine psi_mswaptranm(flag,n,beta,y,desc_a,work,info,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, err_act, totxch, data_
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: idxs, idxr, err_act, totxch, data_
integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name
@ -176,19 +178,19 @@ subroutine psi_mtranidxm(ctxt,icomm,flag,n,beta,y,idx,&
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_mpk_) :: y(:,:), beta
integer(psb_mpk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
@ -678,13 +680,12 @@ subroutine psi_mtranidxv(ctxt,icomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false.

@ -48,7 +48,8 @@ subroutine psi_sovrl_restr_vect(x,xs,desc_a,info)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
integer(psb_mpk_) :: np, me, isz
integer(psb_ipk_) :: err_act, i, idx
character(len=20) :: name, ch_err
name='psi_sovrl_restr_vect'
@ -91,7 +92,8 @@ subroutine psi_sovrl_restr_multivect(x,xs,desc_a,info)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
integer(psb_mpk_) :: np, me, isz,nc
integer(psb_ipk_) :: err_act, i, idx
character(len=20) :: name, ch_err
name='psi_sovrl_restr_mv'

@ -48,7 +48,8 @@ subroutine psi_sovrl_save_vect(x,xs,desc_a,info)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
integer(psb_mpk_) :: np, me, isz
integer(psb_ipk_) :: err_act, i, idx
character(len=20) :: name, ch_err
name='psi_dovrl_saver1'
@ -97,7 +98,8 @@ subroutine psi_sovrl_save_multivect(x,xs,desc_a,info)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
integer(psb_mpk_) :: np, me, isz, nc
integer(psb_ipk_) :: err_act, i, idx
character(len=20) :: name, ch_err
name='psi_dovrl_saver1'

@ -51,7 +51,8 @@ subroutine psi_sovrl_upd_vect(x,desc_a,update,info)
! locals
real(psb_spk_), allocatable :: xs(:)
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm, nx
integer(psb_mpk_) :: np, me, isz, nx, ndm
integer(psb_ipk_) :: err_act, i, idx
integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err
@ -133,7 +134,8 @@ subroutine psi_sovrl_upd_multivect(x,desc_a,update,info)
! locals
real(psb_spk_), allocatable :: xs(:,:)
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm, nx, nc
integer(psb_mpk_) :: np, me, isz, ndm, nx, nc
integer(psb_ipk_) :: err_act, i, idx
integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err

@ -203,11 +203,11 @@ subroutine psi_sswap_vidx_vect(ctxt,icomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_) :: np, me
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size),&
& iret, nesd, nerv
integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
@ -541,12 +541,11 @@ subroutine psi_sswap_vidx_multivect(ctxt,icomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false., debug=.false.

@ -98,7 +98,8 @@ subroutine psi_sswapdatam(flag,n,beta,y,desc_a,work,info,data)
include 'mpif.h'
#endif
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
real(psb_spk_) :: y(:,:), beta
real(psb_spk_), target :: work(:)
@ -108,7 +109,8 @@ subroutine psi_sswapdatam(flag,n,beta,y,desc_a,work,info,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name
@ -171,7 +173,8 @@ subroutine psi_sswapidxm(ctxt,icomm,flag,n,beta,y,idx, &
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
real(psb_spk_) :: y(:,:), beta
real(psb_spk_), target :: work(:)
@ -179,12 +182,11 @@ subroutine psi_sswapidxm(ctxt,icomm,flag,n,beta,y,idx, &
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
@ -585,7 +587,8 @@ subroutine psi_sswapdatav(flag,beta,y,desc_a,work,info,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name
@ -666,13 +669,12 @@ subroutine psi_sswapidxv(ctxt,icomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false.

@ -204,12 +204,11 @@ subroutine psi_stran_vidx_vect(ctxt,icomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false., debug=.false.
@ -552,12 +551,11 @@ subroutine psi_stran_vidx_multivect(ctxt,icomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false., debug=.false.

@ -102,7 +102,8 @@ subroutine psi_sswaptranm(flag,n,beta,y,desc_a,work,info,data)
include 'mpif.h'
#endif
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
real(psb_spk_) :: y(:,:), beta
real(psb_spk_), target :: work(:)
@ -112,7 +113,8 @@ subroutine psi_sswaptranm(flag,n,beta,y,desc_a,work,info,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, err_act, totxch, data_
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: idxs, idxr, err_act, totxch, data_
integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name
@ -176,19 +178,19 @@ subroutine psi_stranidxm(ctxt,icomm,flag,n,beta,y,idx,&
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
real(psb_spk_) :: y(:,:), beta
real(psb_spk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
@ -678,13 +680,12 @@ subroutine psi_stranidxv(ctxt,icomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false.

@ -48,7 +48,8 @@ subroutine psi_zovrl_restr_vect(x,xs,desc_a,info)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
integer(psb_mpk_) :: np, me, isz
integer(psb_ipk_) :: err_act, i, idx
character(len=20) :: name, ch_err
name='psi_zovrl_restr_vect'
@ -91,7 +92,8 @@ subroutine psi_zovrl_restr_multivect(x,xs,desc_a,info)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
integer(psb_mpk_) :: np, me, isz,nc
integer(psb_ipk_) :: err_act, i, idx
character(len=20) :: name, ch_err
name='psi_zovrl_restr_mv'

@ -48,7 +48,8 @@ subroutine psi_zovrl_save_vect(x,xs,desc_a,info)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
integer(psb_mpk_) :: np, me, isz
integer(psb_ipk_) :: err_act, i, idx
character(len=20) :: name, ch_err
name='psi_dovrl_saver1'
@ -97,7 +98,8 @@ subroutine psi_zovrl_save_multivect(x,xs,desc_a,info)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
integer(psb_mpk_) :: np, me, isz, nc
integer(psb_ipk_) :: err_act, i, idx
character(len=20) :: name, ch_err
name='psi_dovrl_saver1'

@ -51,7 +51,8 @@ subroutine psi_zovrl_upd_vect(x,desc_a,update,info)
! locals
complex(psb_dpk_), allocatable :: xs(:)
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm, nx
integer(psb_mpk_) :: np, me, isz, nx, ndm
integer(psb_ipk_) :: err_act, i, idx
integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err
@ -133,7 +134,8 @@ subroutine psi_zovrl_upd_multivect(x,desc_a,update,info)
! locals
complex(psb_dpk_), allocatable :: xs(:,:)
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm, nx, nc
integer(psb_mpk_) :: np, me, isz, ndm, nx, nc
integer(psb_ipk_) :: err_act, i, idx
integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err

@ -203,11 +203,11 @@ subroutine psi_zswap_vidx_vect(ctxt,icomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_) :: np, me
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size),&
& iret, nesd, nerv
integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
@ -541,12 +541,11 @@ subroutine psi_zswap_vidx_multivect(ctxt,icomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false., debug=.false.

@ -98,7 +98,8 @@ subroutine psi_zswapdatam(flag,n,beta,y,desc_a,work,info,data)
include 'mpif.h'
#endif
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
complex(psb_dpk_) :: y(:,:), beta
complex(psb_dpk_), target :: work(:)
@ -108,7 +109,8 @@ subroutine psi_zswapdatam(flag,n,beta,y,desc_a,work,info,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name
@ -171,7 +173,8 @@ subroutine psi_zswapidxm(ctxt,icomm,flag,n,beta,y,idx, &
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
complex(psb_dpk_) :: y(:,:), beta
complex(psb_dpk_), target :: work(:)
@ -179,12 +182,11 @@ subroutine psi_zswapidxm(ctxt,icomm,flag,n,beta,y,idx, &
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
@ -585,7 +587,8 @@ subroutine psi_zswapdatav(flag,beta,y,desc_a,work,info,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name
@ -666,13 +669,12 @@ subroutine psi_zswapidxv(ctxt,icomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false.

@ -204,12 +204,11 @@ subroutine psi_ztran_vidx_vect(ctxt,icomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false., debug=.false.
@ -552,12 +551,11 @@ subroutine psi_ztran_vidx_multivect(ctxt,icomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false., debug=.false.

@ -102,7 +102,8 @@ subroutine psi_zswaptranm(flag,n,beta,y,desc_a,work,info,data)
include 'mpif.h'
#endif
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
complex(psb_dpk_) :: y(:,:), beta
complex(psb_dpk_), target :: work(:)
@ -112,7 +113,8 @@ subroutine psi_zswaptranm(flag,n,beta,y,desc_a,work,info,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, err_act, totxch, data_
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: idxs, idxr, err_act, totxch, data_
integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name
@ -176,19 +178,19 @@ subroutine psi_ztranidxm(ctxt,icomm,flag,n,beta,y,idx,&
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
complex(psb_dpk_) :: y(:,:), beta
complex(psb_dpk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
@ -678,13 +680,12 @@ subroutine psi_ztranidxv(ctxt,icomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: np, me, nesd, nerv, n
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
integer(psb_ipk_) :: nesd, nerv,&
& err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti, n
integer(psb_ipk_) :: err_act, i, idx_pt, totsnd_, totrcv_,&
& snd_pt, rcv_pt, pnti
logical :: swap_mpi, swap_sync, swap_send, swap_recv,&
& albf,do_send,do_recv
logical, parameter :: usersend=.false.

@ -66,8 +66,8 @@ subroutine psb_chalom(x,desc_a,info,jx,ik,work,tran,mode,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: err_act, iix, jjx, k, maxk, nrow, imode, i,&
integer(psb_mpk_) :: np, me, k
integer(psb_ipk_) :: err_act, iix, jjx, maxk, nrow, imode, i,&
& liwork,data_, ldx
integer(psb_lpk_) :: m, n, ix, ijx
complex(psb_spk_),pointer :: iwork(:), xp(:,:)

@ -77,8 +77,8 @@ subroutine psb_covrlm(x,desc_a,info,jx,ik,work,update,mode)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: err_act, iix, jjx, nrow, ncol, k, maxk, update_,&
integer(psb_mpk_) :: np, me, k
integer(psb_ipk_) :: err_act, iix, jjx, nrow, ncol, maxk, update_,&
& mode_, liwork, ldx
integer(psb_lpk_) :: m, n, ix, ijx
complex(psb_spk_),pointer :: iwork(:), xp(:,:)

@ -63,7 +63,8 @@ subroutine psb_cscatterm(globx, locx, desc_a, info, root)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, me, iroot, icomm, myrank, rootrank, iam, nlr
integer(psb_mpk_) :: np, me, iroot, icomm, myrank, rootrank, iam,&
& nlr, minfo
integer(psb_ipk_) :: ierr(5), err_act, nrow,&
& ilocx, jlocx, lda_locx, lda_globx, lock, globk, k, maxk, &
& col,pos
@ -167,8 +168,8 @@ subroutine psb_cscatterm(globx, locx, desc_a, info, root)
!
nlr = nrow
call mpi_gather(nlr,1,psb_mpi_mpk_,all_dim,&
& 1,psb_mpi_mpk_,rootrank,icomm,info)
& 1,psb_mpi_mpk_,rootrank,icomm,minfo)
info = minfo
if (iam == iroot) then
displ(1)=0
do i=2,np
@ -195,8 +196,8 @@ subroutine psb_cscatterm(globx, locx, desc_a, info, root)
call mpi_gatherv(ltg,nlr,&
& psb_mpi_lpk_,l_t_g_all,all_dim,&
& displ,psb_mpi_lpk_,rootrank,icomm,info)
& displ,psb_mpi_lpk_,rootrank,icomm,minfo)
info = minfo
do col=1, k
! prepare vector to scatter
if(iam == iroot) then
@ -211,9 +212,9 @@ subroutine psb_cscatterm(globx, locx, desc_a, info, root)
! scatter
call mpi_scatterv(scatterv,all_dim,displ,&
& psb_mpi_c_spk_,locx(1,col),nrow,&
& psb_mpi_c_spk_,rootrank,icomm,info)
& psb_mpi_c_spk_,locx(1,col),nlr,&
& psb_mpi_c_spk_,rootrank,icomm,minfo)
info = minfo
end do
deallocate(l_t_g_all, scatterv,stat=info)
@ -308,7 +309,7 @@ subroutine psb_cscatterv(globx, locx, desc_a, info, root)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, iam, iroot, iiroot, icomm, myrank, rootrank, nlr
integer(psb_mpk_) :: np, iam, iroot, iiroot, icomm, myrank, rootrank, nlr, minfo
integer(psb_ipk_) :: ierr(5), err_act, nrow,&
& ilocx, jlocx, lda_locx, lda_globx, k, pos, ilx, jlx
integer(psb_lpk_) :: m, n, i, j, idx, iglobx, jglobx
@ -403,8 +404,8 @@ subroutine psb_cscatterv(globx, locx, desc_a, info, root)
!
nlr = nrow
call mpi_gather(nlr,1,psb_mpi_mpk_,all_dim,&
& 1,psb_mpi_mpk_,rootrank,icomm,info)
& 1,psb_mpi_mpk_,rootrank,icomm,minfo)
info = minfo
if(iam == iroot) then
displ(1)=0
do i=2,np
@ -436,8 +437,8 @@ subroutine psb_cscatterv(globx, locx, desc_a, info, root)
call mpi_gatherv(ltg,nlr,&
& psb_mpi_lpk_,l_t_g_all,all_dim,&
& displ,psb_mpi_lpk_,rootrank,icomm,info)
& displ,psb_mpi_lpk_,rootrank,icomm,minfo)
info = minfo
! prepare vector to scatter
if (iam == iroot) then
do i=1,np
@ -451,9 +452,9 @@ subroutine psb_cscatterv(globx, locx, desc_a, info, root)
end if
call mpi_scatterv(scatterv,all_dim,displ,&
& psb_mpi_c_spk_,locx,nrow,&
& psb_mpi_c_spk_,rootrank,icomm,info)
& psb_mpi_c_spk_,locx,nlr,&
& psb_mpi_c_spk_,rootrank,icomm,minfo)
info = minfo
deallocate(l_t_g_all, scatterv,stat=info)
if(info /= psb_success_) then
info=psb_err_from_subroutine_

@ -66,8 +66,8 @@ subroutine psb_dhalom(x,desc_a,info,jx,ik,work,tran,mode,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: err_act, iix, jjx, k, maxk, nrow, imode, i,&
integer(psb_mpk_) :: np, me, k
integer(psb_ipk_) :: err_act, iix, jjx, maxk, nrow, imode, i,&
& liwork,data_, ldx
integer(psb_lpk_) :: m, n, ix, ijx
real(psb_dpk_),pointer :: iwork(:), xp(:,:)

@ -77,8 +77,8 @@ subroutine psb_dovrlm(x,desc_a,info,jx,ik,work,update,mode)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: err_act, iix, jjx, nrow, ncol, k, maxk, update_,&
integer(psb_mpk_) :: np, me, k
integer(psb_ipk_) :: err_act, iix, jjx, nrow, ncol, maxk, update_,&
& mode_, liwork, ldx
integer(psb_lpk_) :: m, n, ix, ijx
real(psb_dpk_),pointer :: iwork(:), xp(:,:)

@ -63,7 +63,8 @@ subroutine psb_dscatterm(globx, locx, desc_a, info, root)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, me, iroot, icomm, myrank, rootrank, iam, nlr
integer(psb_mpk_) :: np, me, iroot, icomm, myrank, rootrank, iam,&
& nlr, minfo
integer(psb_ipk_) :: ierr(5), err_act, nrow,&
& ilocx, jlocx, lda_locx, lda_globx, lock, globk, k, maxk, &
& col,pos
@ -167,8 +168,8 @@ subroutine psb_dscatterm(globx, locx, desc_a, info, root)
!
nlr = nrow
call mpi_gather(nlr,1,psb_mpi_mpk_,all_dim,&
& 1,psb_mpi_mpk_,rootrank,icomm,info)
& 1,psb_mpi_mpk_,rootrank,icomm,minfo)
info = minfo
if (iam == iroot) then
displ(1)=0
do i=2,np
@ -195,8 +196,8 @@ subroutine psb_dscatterm(globx, locx, desc_a, info, root)
call mpi_gatherv(ltg,nlr,&
& psb_mpi_lpk_,l_t_g_all,all_dim,&
& displ,psb_mpi_lpk_,rootrank,icomm,info)
& displ,psb_mpi_lpk_,rootrank,icomm,minfo)
info = minfo
do col=1, k
! prepare vector to scatter
if(iam == iroot) then
@ -211,9 +212,9 @@ subroutine psb_dscatterm(globx, locx, desc_a, info, root)
! scatter
call mpi_scatterv(scatterv,all_dim,displ,&
& psb_mpi_r_dpk_,locx(1,col),nrow,&
& psb_mpi_r_dpk_,rootrank,icomm,info)
& psb_mpi_r_dpk_,locx(1,col),nlr,&
& psb_mpi_r_dpk_,rootrank,icomm,minfo)
info = minfo
end do
deallocate(l_t_g_all, scatterv,stat=info)
@ -308,7 +309,7 @@ subroutine psb_dscatterv(globx, locx, desc_a, info, root)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, iam, iroot, iiroot, icomm, myrank, rootrank, nlr
integer(psb_mpk_) :: np, iam, iroot, iiroot, icomm, myrank, rootrank, nlr, minfo
integer(psb_ipk_) :: ierr(5), err_act, nrow,&
& ilocx, jlocx, lda_locx, lda_globx, k, pos, ilx, jlx
integer(psb_lpk_) :: m, n, i, j, idx, iglobx, jglobx
@ -403,8 +404,8 @@ subroutine psb_dscatterv(globx, locx, desc_a, info, root)
!
nlr = nrow
call mpi_gather(nlr,1,psb_mpi_mpk_,all_dim,&
& 1,psb_mpi_mpk_,rootrank,icomm,info)
& 1,psb_mpi_mpk_,rootrank,icomm,minfo)
info = minfo
if(iam == iroot) then
displ(1)=0
do i=2,np
@ -436,8 +437,8 @@ subroutine psb_dscatterv(globx, locx, desc_a, info, root)
call mpi_gatherv(ltg,nlr,&
& psb_mpi_lpk_,l_t_g_all,all_dim,&
& displ,psb_mpi_lpk_,rootrank,icomm,info)
& displ,psb_mpi_lpk_,rootrank,icomm,minfo)
info = minfo
! prepare vector to scatter
if (iam == iroot) then
do i=1,np
@ -451,9 +452,9 @@ subroutine psb_dscatterv(globx, locx, desc_a, info, root)
end if
call mpi_scatterv(scatterv,all_dim,displ,&
& psb_mpi_r_dpk_,locx,nrow,&
& psb_mpi_r_dpk_,rootrank,icomm,info)
& psb_mpi_r_dpk_,locx,nlr,&
& psb_mpi_r_dpk_,rootrank,icomm,minfo)
info = minfo
deallocate(l_t_g_all, scatterv,stat=info)
if(info /= psb_success_) then
info=psb_err_from_subroutine_

@ -66,8 +66,8 @@ subroutine psb_ehalom(x,desc_a,info,jx,ik,work,tran,mode,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: err_act, iix, jjx, k, maxk, nrow, imode, i,&
integer(psb_mpk_) :: np, me, k
integer(psb_ipk_) :: err_act, iix, jjx, maxk, nrow, imode, i,&
& liwork,data_, ldx
integer(psb_lpk_) :: m, n, ix, ijx
integer(psb_epk_),pointer :: iwork(:), xp(:,:)

@ -77,8 +77,8 @@ subroutine psb_eovrlm(x,desc_a,info,jx,ik,work,update,mode)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: err_act, iix, jjx, nrow, ncol, k, maxk, update_,&
integer(psb_mpk_) :: np, me, k
integer(psb_ipk_) :: err_act, iix, jjx, nrow, ncol, maxk, update_,&
& mode_, liwork, ldx
integer(psb_lpk_) :: m, n, ix, ijx
integer(psb_epk_),pointer :: iwork(:), xp(:,:)

@ -63,7 +63,8 @@ subroutine psb_escatterm(globx, locx, desc_a, info, root)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, me, iroot, icomm, myrank, rootrank, iam, nlr
integer(psb_mpk_) :: np, me, iroot, icomm, myrank, rootrank, iam,&
& nlr, minfo
integer(psb_ipk_) :: ierr(5), err_act, nrow,&
& ilocx, jlocx, lda_locx, lda_globx, lock, globk, k, maxk, &
& col,pos
@ -167,8 +168,8 @@ subroutine psb_escatterm(globx, locx, desc_a, info, root)
!
nlr = nrow
call mpi_gather(nlr,1,psb_mpi_mpk_,all_dim,&
& 1,psb_mpi_mpk_,rootrank,icomm,info)
& 1,psb_mpi_mpk_,rootrank,icomm,minfo)
info = minfo
if (iam == iroot) then
displ(1)=0
do i=2,np
@ -195,8 +196,8 @@ subroutine psb_escatterm(globx, locx, desc_a, info, root)
call mpi_gatherv(ltg,nlr,&
& psb_mpi_lpk_,l_t_g_all,all_dim,&
& displ,psb_mpi_lpk_,rootrank,icomm,info)
& displ,psb_mpi_lpk_,rootrank,icomm,minfo)
info = minfo
do col=1, k
! prepare vector to scatter
if(iam == iroot) then
@ -211,9 +212,9 @@ subroutine psb_escatterm(globx, locx, desc_a, info, root)
! scatter
call mpi_scatterv(scatterv,all_dim,displ,&
& psb_mpi_epk_,locx(1,col),nrow,&
& psb_mpi_epk_,rootrank,icomm,info)
& psb_mpi_epk_,locx(1,col),nlr,&
& psb_mpi_epk_,rootrank,icomm,minfo)
info = minfo
end do
deallocate(l_t_g_all, scatterv,stat=info)
@ -308,7 +309,7 @@ subroutine psb_escatterv(globx, locx, desc_a, info, root)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, iam, iroot, iiroot, icomm, myrank, rootrank, nlr
integer(psb_mpk_) :: np, iam, iroot, iiroot, icomm, myrank, rootrank, nlr, minfo
integer(psb_ipk_) :: ierr(5), err_act, nrow,&
& ilocx, jlocx, lda_locx, lda_globx, k, pos, ilx, jlx
integer(psb_lpk_) :: m, n, i, j, idx, iglobx, jglobx
@ -403,8 +404,8 @@ subroutine psb_escatterv(globx, locx, desc_a, info, root)
!
nlr = nrow
call mpi_gather(nlr,1,psb_mpi_mpk_,all_dim,&
& 1,psb_mpi_mpk_,rootrank,icomm,info)
& 1,psb_mpi_mpk_,rootrank,icomm,minfo)
info = minfo
if(iam == iroot) then
displ(1)=0
do i=2,np
@ -436,8 +437,8 @@ subroutine psb_escatterv(globx, locx, desc_a, info, root)
call mpi_gatherv(ltg,nlr,&
& psb_mpi_lpk_,l_t_g_all,all_dim,&
& displ,psb_mpi_lpk_,rootrank,icomm,info)
& displ,psb_mpi_lpk_,rootrank,icomm,minfo)
info = minfo
! prepare vector to scatter
if (iam == iroot) then
do i=1,np
@ -451,9 +452,9 @@ subroutine psb_escatterv(globx, locx, desc_a, info, root)
end if
call mpi_scatterv(scatterv,all_dim,displ,&
& psb_mpi_epk_,locx,nrow,&
& psb_mpi_epk_,rootrank,icomm,info)
& psb_mpi_epk_,locx,nlr,&
& psb_mpi_epk_,rootrank,icomm,minfo)
info = minfo
deallocate(l_t_g_all, scatterv,stat=info)
if(info /= psb_success_) then
info=psb_err_from_subroutine_

@ -66,8 +66,8 @@ subroutine psb_i2halom(x,desc_a,info,jx,ik,work,tran,mode,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: err_act, iix, jjx, k, maxk, nrow, imode, i,&
integer(psb_mpk_) :: np, me, k
integer(psb_ipk_) :: err_act, iix, jjx, maxk, nrow, imode, i,&
& liwork,data_, ldx
integer(psb_lpk_) :: m, n, ix, ijx
integer(psb_i2pk_),pointer :: iwork(:), xp(:,:)

@ -77,8 +77,8 @@ subroutine psb_i2ovrlm(x,desc_a,info,jx,ik,work,update,mode)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: err_act, iix, jjx, nrow, ncol, k, maxk, update_,&
integer(psb_mpk_) :: np, me, k
integer(psb_ipk_) :: err_act, iix, jjx, nrow, ncol, maxk, update_,&
& mode_, liwork, ldx
integer(psb_lpk_) :: m, n, ix, ijx
integer(psb_i2pk_),pointer :: iwork(:), xp(:,:)

@ -63,7 +63,8 @@ subroutine psb_i2scatterm(globx, locx, desc_a, info, root)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, me, iroot, icomm, myrank, rootrank, iam, nlr
integer(psb_mpk_) :: np, me, iroot, icomm, myrank, rootrank, iam,&
& nlr, minfo
integer(psb_ipk_) :: ierr(5), err_act, nrow,&
& ilocx, jlocx, lda_locx, lda_globx, lock, globk, k, maxk, &
& col,pos
@ -167,8 +168,8 @@ subroutine psb_i2scatterm(globx, locx, desc_a, info, root)
!
nlr = nrow
call mpi_gather(nlr,1,psb_mpi_mpk_,all_dim,&
& 1,psb_mpi_mpk_,rootrank,icomm,info)
& 1,psb_mpi_mpk_,rootrank,icomm,minfo)
info = minfo
if (iam == iroot) then
displ(1)=0
do i=2,np
@ -195,8 +196,8 @@ subroutine psb_i2scatterm(globx, locx, desc_a, info, root)
call mpi_gatherv(ltg,nlr,&
& psb_mpi_lpk_,l_t_g_all,all_dim,&
& displ,psb_mpi_lpk_,rootrank,icomm,info)
& displ,psb_mpi_lpk_,rootrank,icomm,minfo)
info = minfo
do col=1, k
! prepare vector to scatter
if(iam == iroot) then
@ -211,9 +212,9 @@ subroutine psb_i2scatterm(globx, locx, desc_a, info, root)
! scatter
call mpi_scatterv(scatterv,all_dim,displ,&
& psb_mpi_i2pk_,locx(1,col),nrow,&
& psb_mpi_i2pk_,rootrank,icomm,info)
& psb_mpi_i2pk_,locx(1,col),nlr,&
& psb_mpi_i2pk_,rootrank,icomm,minfo)
info = minfo
end do
deallocate(l_t_g_all, scatterv,stat=info)
@ -308,7 +309,7 @@ subroutine psb_i2scatterv(globx, locx, desc_a, info, root)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, iam, iroot, iiroot, icomm, myrank, rootrank, nlr
integer(psb_mpk_) :: np, iam, iroot, iiroot, icomm, myrank, rootrank, nlr, minfo
integer(psb_ipk_) :: ierr(5), err_act, nrow,&
& ilocx, jlocx, lda_locx, lda_globx, k, pos, ilx, jlx
integer(psb_lpk_) :: m, n, i, j, idx, iglobx, jglobx
@ -403,8 +404,8 @@ subroutine psb_i2scatterv(globx, locx, desc_a, info, root)
!
nlr = nrow
call mpi_gather(nlr,1,psb_mpi_mpk_,all_dim,&
& 1,psb_mpi_mpk_,rootrank,icomm,info)
& 1,psb_mpi_mpk_,rootrank,icomm,minfo)
info = minfo
if(iam == iroot) then
displ(1)=0
do i=2,np
@ -436,8 +437,8 @@ subroutine psb_i2scatterv(globx, locx, desc_a, info, root)
call mpi_gatherv(ltg,nlr,&
& psb_mpi_lpk_,l_t_g_all,all_dim,&
& displ,psb_mpi_lpk_,rootrank,icomm,info)
& displ,psb_mpi_lpk_,rootrank,icomm,minfo)
info = minfo
! prepare vector to scatter
if (iam == iroot) then
do i=1,np
@ -451,9 +452,9 @@ subroutine psb_i2scatterv(globx, locx, desc_a, info, root)
end if
call mpi_scatterv(scatterv,all_dim,displ,&
& psb_mpi_i2pk_,locx,nrow,&
& psb_mpi_i2pk_,rootrank,icomm,info)
& psb_mpi_i2pk_,locx,nlr,&
& psb_mpi_i2pk_,rootrank,icomm,minfo)
info = minfo
deallocate(l_t_g_all, scatterv,stat=info)
if(info /= psb_success_) then
info=psb_err_from_subroutine_

@ -66,8 +66,8 @@ subroutine psb_mhalom(x,desc_a,info,jx,ik,work,tran,mode,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: err_act, iix, jjx, k, maxk, nrow, imode, i,&
integer(psb_mpk_) :: np, me, k
integer(psb_ipk_) :: err_act, iix, jjx, maxk, nrow, imode, i,&
& liwork,data_, ldx
integer(psb_lpk_) :: m, n, ix, ijx
integer(psb_mpk_),pointer :: iwork(:), xp(:,:)

@ -77,8 +77,8 @@ subroutine psb_movrlm(x,desc_a,info,jx,ik,work,update,mode)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: err_act, iix, jjx, nrow, ncol, k, maxk, update_,&
integer(psb_mpk_) :: np, me, k
integer(psb_ipk_) :: err_act, iix, jjx, nrow, ncol, maxk, update_,&
& mode_, liwork, ldx
integer(psb_lpk_) :: m, n, ix, ijx
integer(psb_mpk_),pointer :: iwork(:), xp(:,:)

@ -63,7 +63,8 @@ subroutine psb_mscatterm(globx, locx, desc_a, info, root)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, me, iroot, icomm, myrank, rootrank, iam, nlr
integer(psb_mpk_) :: np, me, iroot, icomm, myrank, rootrank, iam,&
& nlr, minfo
integer(psb_ipk_) :: ierr(5), err_act, nrow,&
& ilocx, jlocx, lda_locx, lda_globx, lock, globk, k, maxk, &
& col,pos
@ -167,8 +168,8 @@ subroutine psb_mscatterm(globx, locx, desc_a, info, root)
!
nlr = nrow
call mpi_gather(nlr,1,psb_mpi_mpk_,all_dim,&
& 1,psb_mpi_mpk_,rootrank,icomm,info)
& 1,psb_mpi_mpk_,rootrank,icomm,minfo)
info = minfo
if (iam == iroot) then
displ(1)=0
do i=2,np
@ -195,8 +196,8 @@ subroutine psb_mscatterm(globx, locx, desc_a, info, root)
call mpi_gatherv(ltg,nlr,&
& psb_mpi_lpk_,l_t_g_all,all_dim,&
& displ,psb_mpi_lpk_,rootrank,icomm,info)
& displ,psb_mpi_lpk_,rootrank,icomm,minfo)
info = minfo
do col=1, k
! prepare vector to scatter
if(iam == iroot) then
@ -211,9 +212,9 @@ subroutine psb_mscatterm(globx, locx, desc_a, info, root)
! scatter
call mpi_scatterv(scatterv,all_dim,displ,&
& psb_mpi_mpk_,locx(1,col),nrow,&
& psb_mpi_mpk_,rootrank,icomm,info)
& psb_mpi_mpk_,locx(1,col),nlr,&
& psb_mpi_mpk_,rootrank,icomm,minfo)
info = minfo
end do
deallocate(l_t_g_all, scatterv,stat=info)
@ -308,7 +309,7 @@ subroutine psb_mscatterv(globx, locx, desc_a, info, root)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, iam, iroot, iiroot, icomm, myrank, rootrank, nlr
integer(psb_mpk_) :: np, iam, iroot, iiroot, icomm, myrank, rootrank, nlr, minfo
integer(psb_ipk_) :: ierr(5), err_act, nrow,&
& ilocx, jlocx, lda_locx, lda_globx, k, pos, ilx, jlx
integer(psb_lpk_) :: m, n, i, j, idx, iglobx, jglobx
@ -403,8 +404,8 @@ subroutine psb_mscatterv(globx, locx, desc_a, info, root)
!
nlr = nrow
call mpi_gather(nlr,1,psb_mpi_mpk_,all_dim,&
& 1,psb_mpi_mpk_,rootrank,icomm,info)
& 1,psb_mpi_mpk_,rootrank,icomm,minfo)
info = minfo
if(iam == iroot) then
displ(1)=0
do i=2,np
@ -436,8 +437,8 @@ subroutine psb_mscatterv(globx, locx, desc_a, info, root)
call mpi_gatherv(ltg,nlr,&
& psb_mpi_lpk_,l_t_g_all,all_dim,&
& displ,psb_mpi_lpk_,rootrank,icomm,info)
& displ,psb_mpi_lpk_,rootrank,icomm,minfo)
info = minfo
! prepare vector to scatter
if (iam == iroot) then
do i=1,np
@ -451,9 +452,9 @@ subroutine psb_mscatterv(globx, locx, desc_a, info, root)
end if
call mpi_scatterv(scatterv,all_dim,displ,&
& psb_mpi_mpk_,locx,nrow,&
& psb_mpi_mpk_,rootrank,icomm,info)
& psb_mpi_mpk_,locx,nlr,&
& psb_mpi_mpk_,rootrank,icomm,minfo)
info = minfo
deallocate(l_t_g_all, scatterv,stat=info)
if(info /= psb_success_) then
info=psb_err_from_subroutine_

@ -66,8 +66,8 @@ subroutine psb_shalom(x,desc_a,info,jx,ik,work,tran,mode,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: err_act, iix, jjx, k, maxk, nrow, imode, i,&
integer(psb_mpk_) :: np, me, k
integer(psb_ipk_) :: err_act, iix, jjx, maxk, nrow, imode, i,&
& liwork,data_, ldx
integer(psb_lpk_) :: m, n, ix, ijx
real(psb_spk_),pointer :: iwork(:), xp(:,:)

@ -77,8 +77,8 @@ subroutine psb_sovrlm(x,desc_a,info,jx,ik,work,update,mode)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: err_act, iix, jjx, nrow, ncol, k, maxk, update_,&
integer(psb_mpk_) :: np, me, k
integer(psb_ipk_) :: err_act, iix, jjx, nrow, ncol, maxk, update_,&
& mode_, liwork, ldx
integer(psb_lpk_) :: m, n, ix, ijx
real(psb_spk_),pointer :: iwork(:), xp(:,:)

@ -63,7 +63,8 @@ subroutine psb_sscatterm(globx, locx, desc_a, info, root)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, me, iroot, icomm, myrank, rootrank, iam, nlr
integer(psb_mpk_) :: np, me, iroot, icomm, myrank, rootrank, iam,&
& nlr, minfo
integer(psb_ipk_) :: ierr(5), err_act, nrow,&
& ilocx, jlocx, lda_locx, lda_globx, lock, globk, k, maxk, &
& col,pos
@ -167,8 +168,8 @@ subroutine psb_sscatterm(globx, locx, desc_a, info, root)
!
nlr = nrow
call mpi_gather(nlr,1,psb_mpi_mpk_,all_dim,&
& 1,psb_mpi_mpk_,rootrank,icomm,info)
& 1,psb_mpi_mpk_,rootrank,icomm,minfo)
info = minfo
if (iam == iroot) then
displ(1)=0
do i=2,np
@ -195,8 +196,8 @@ subroutine psb_sscatterm(globx, locx, desc_a, info, root)
call mpi_gatherv(ltg,nlr,&
& psb_mpi_lpk_,l_t_g_all,all_dim,&
& displ,psb_mpi_lpk_,rootrank,icomm,info)
& displ,psb_mpi_lpk_,rootrank,icomm,minfo)
info = minfo
do col=1, k
! prepare vector to scatter
if(iam == iroot) then
@ -211,9 +212,9 @@ subroutine psb_sscatterm(globx, locx, desc_a, info, root)
! scatter
call mpi_scatterv(scatterv,all_dim,displ,&
& psb_mpi_r_spk_,locx(1,col),nrow,&
& psb_mpi_r_spk_,rootrank,icomm,info)
& psb_mpi_r_spk_,locx(1,col),nlr,&
& psb_mpi_r_spk_,rootrank,icomm,minfo)
info = minfo
end do
deallocate(l_t_g_all, scatterv,stat=info)
@ -308,7 +309,7 @@ subroutine psb_sscatterv(globx, locx, desc_a, info, root)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, iam, iroot, iiroot, icomm, myrank, rootrank, nlr
integer(psb_mpk_) :: np, iam, iroot, iiroot, icomm, myrank, rootrank, nlr, minfo
integer(psb_ipk_) :: ierr(5), err_act, nrow,&
& ilocx, jlocx, lda_locx, lda_globx, k, pos, ilx, jlx
integer(psb_lpk_) :: m, n, i, j, idx, iglobx, jglobx
@ -403,8 +404,8 @@ subroutine psb_sscatterv(globx, locx, desc_a, info, root)
!
nlr = nrow
call mpi_gather(nlr,1,psb_mpi_mpk_,all_dim,&
& 1,psb_mpi_mpk_,rootrank,icomm,info)
& 1,psb_mpi_mpk_,rootrank,icomm,minfo)
info = minfo
if(iam == iroot) then
displ(1)=0
do i=2,np
@ -436,8 +437,8 @@ subroutine psb_sscatterv(globx, locx, desc_a, info, root)
call mpi_gatherv(ltg,nlr,&
& psb_mpi_lpk_,l_t_g_all,all_dim,&
& displ,psb_mpi_lpk_,rootrank,icomm,info)
& displ,psb_mpi_lpk_,rootrank,icomm,minfo)
info = minfo
! prepare vector to scatter
if (iam == iroot) then
do i=1,np
@ -451,9 +452,9 @@ subroutine psb_sscatterv(globx, locx, desc_a, info, root)
end if
call mpi_scatterv(scatterv,all_dim,displ,&
& psb_mpi_r_spk_,locx,nrow,&
& psb_mpi_r_spk_,rootrank,icomm,info)
& psb_mpi_r_spk_,locx,nlr,&
& psb_mpi_r_spk_,rootrank,icomm,minfo)
info = minfo
deallocate(l_t_g_all, scatterv,stat=info)
if(info /= psb_success_) then
info=psb_err_from_subroutine_

@ -66,8 +66,8 @@ subroutine psb_zhalom(x,desc_a,info,jx,ik,work,tran,mode,data)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: err_act, iix, jjx, k, maxk, nrow, imode, i,&
integer(psb_mpk_) :: np, me, k
integer(psb_ipk_) :: err_act, iix, jjx, maxk, nrow, imode, i,&
& liwork,data_, ldx
integer(psb_lpk_) :: m, n, ix, ijx
complex(psb_dpk_),pointer :: iwork(:), xp(:,:)

@ -77,8 +77,8 @@ subroutine psb_zovrlm(x,desc_a,info,jx,ik,work,update,mode)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: err_act, iix, jjx, nrow, ncol, k, maxk, update_,&
integer(psb_mpk_) :: np, me, k
integer(psb_ipk_) :: err_act, iix, jjx, nrow, ncol, maxk, update_,&
& mode_, liwork, ldx
integer(psb_lpk_) :: m, n, ix, ijx
complex(psb_dpk_),pointer :: iwork(:), xp(:,:)

@ -63,7 +63,8 @@ subroutine psb_zscatterm(globx, locx, desc_a, info, root)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, me, iroot, icomm, myrank, rootrank, iam, nlr
integer(psb_mpk_) :: np, me, iroot, icomm, myrank, rootrank, iam,&
& nlr, minfo
integer(psb_ipk_) :: ierr(5), err_act, nrow,&
& ilocx, jlocx, lda_locx, lda_globx, lock, globk, k, maxk, &
& col,pos
@ -167,8 +168,8 @@ subroutine psb_zscatterm(globx, locx, desc_a, info, root)
!
nlr = nrow
call mpi_gather(nlr,1,psb_mpi_mpk_,all_dim,&
& 1,psb_mpi_mpk_,rootrank,icomm,info)
& 1,psb_mpi_mpk_,rootrank,icomm,minfo)
info = minfo
if (iam == iroot) then
displ(1)=0
do i=2,np
@ -195,8 +196,8 @@ subroutine psb_zscatterm(globx, locx, desc_a, info, root)
call mpi_gatherv(ltg,nlr,&
& psb_mpi_lpk_,l_t_g_all,all_dim,&
& displ,psb_mpi_lpk_,rootrank,icomm,info)
& displ,psb_mpi_lpk_,rootrank,icomm,minfo)
info = minfo
do col=1, k
! prepare vector to scatter
if(iam == iroot) then
@ -211,9 +212,9 @@ subroutine psb_zscatterm(globx, locx, desc_a, info, root)
! scatter
call mpi_scatterv(scatterv,all_dim,displ,&
& psb_mpi_c_dpk_,locx(1,col),nrow,&
& psb_mpi_c_dpk_,rootrank,icomm,info)
& psb_mpi_c_dpk_,locx(1,col),nlr,&
& psb_mpi_c_dpk_,rootrank,icomm,minfo)
info = minfo
end do
deallocate(l_t_g_all, scatterv,stat=info)
@ -308,7 +309,7 @@ subroutine psb_zscatterv(globx, locx, desc_a, info, root)
! locals
type(psb_ctxt_type) :: ctxt
integer(psb_mpk_) :: np, iam, iroot, iiroot, icomm, myrank, rootrank, nlr
integer(psb_mpk_) :: np, iam, iroot, iiroot, icomm, myrank, rootrank, nlr, minfo
integer(psb_ipk_) :: ierr(5), err_act, nrow,&
& ilocx, jlocx, lda_locx, lda_globx, k, pos, ilx, jlx
integer(psb_lpk_) :: m, n, i, j, idx, iglobx, jglobx
@ -403,8 +404,8 @@ subroutine psb_zscatterv(globx, locx, desc_a, info, root)
!
nlr = nrow
call mpi_gather(nlr,1,psb_mpi_mpk_,all_dim,&
& 1,psb_mpi_mpk_,rootrank,icomm,info)
& 1,psb_mpi_mpk_,rootrank,icomm,minfo)
info = minfo
if(iam == iroot) then
displ(1)=0
do i=2,np
@ -436,8 +437,8 @@ subroutine psb_zscatterv(globx, locx, desc_a, info, root)
call mpi_gatherv(ltg,nlr,&
& psb_mpi_lpk_,l_t_g_all,all_dim,&
& displ,psb_mpi_lpk_,rootrank,icomm,info)
& displ,psb_mpi_lpk_,rootrank,icomm,minfo)
info = minfo
! prepare vector to scatter
if (iam == iroot) then
do i=1,np
@ -451,9 +452,9 @@ subroutine psb_zscatterv(globx, locx, desc_a, info, root)
end if
call mpi_scatterv(scatterv,all_dim,displ,&
& psb_mpi_c_dpk_,locx,nrow,&
& psb_mpi_c_dpk_,rootrank,icomm,info)
& psb_mpi_c_dpk_,locx,nlr,&
& psb_mpi_c_dpk_,rootrank,icomm,minfo)
info = minfo
deallocate(l_t_g_all, scatterv,stat=info)
if(info /= psb_success_) then
info=psb_err_from_subroutine_

@ -81,12 +81,12 @@ subroutine psi_adjcncy_fnd_owner(idx,iprc,adj,idxmap,info)
integer(psb_mpk_), allocatable :: hsz(:),hidx(:), sdidx(:), rvidx(:),&
& sdsz(:), rvsz(:), sdhd(:), rvhd(:), p2pstat(:,:)
integer(psb_mpk_) :: prc, p2ptag, iret
integer(psb_mpk_) :: icomm, minfo
integer(psb_ipk_) :: i,n_row,n_col,err_act,hsize,ip,isz,j, k,&
& last_ih, last_j, nidx, nrecv, nadj
integer(psb_mpk_) :: icomm, minfo, ip,nidx
integer(psb_ipk_) :: n_row,n_col,err_act,hsize,isz,j, k,&
& last_ih, last_j, nrecv, nadj
integer(psb_lpk_) :: mglob, ih
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: np,me
integer(psb_mpk_) :: np,me
logical, parameter :: debug=.false.
integer(psb_mpk_) :: xchg_alg
logical, parameter :: do_timings=.false.
@ -176,8 +176,8 @@ subroutine psi_adjcncy_fnd_owner(idx,iprc,adj,idxmap,info)
if (do_timings) call psb_toc(idx_phase11)
if (do_timings) call psb_tic(idx_phase12)
rvidx(0) = 0
do i=0, np-1
rvidx(i+1) = rvidx(i) + rvsz(i)
do ip=0, np-1
rvidx(ip+1) = rvidx(ip) + rvsz(ip)
end do
hsize = rvidx(np)
@ -204,9 +204,9 @@ subroutine psi_adjcncy_fnd_owner(idx,iprc,adj,idxmap,info)
! Third, compute local answers
!
call idxmap%g2l(rmtidx(1:hsize),lclidx(1:hsize),info,owned=.true.)
do i=1, hsize
tproc(i) = -1
if ((0 < lclidx(i)).and. (lclidx(i) <= n_row)) tproc(i) = me
do ip=1, hsize
tproc(ip) = -1
if ((0 < lclidx(ip)).and. (lclidx(ip) <= n_row)) tproc(ip) = me
end do
if (do_timings) call psb_toc(idx_phase2)
if (do_timings) call psb_tic(idx_phase3)
@ -215,8 +215,8 @@ subroutine psi_adjcncy_fnd_owner(idx,iprc,adj,idxmap,info)
! Fourth, exchange the answers
!
! Adjust sdidx for reuse in receiving lclidx array
do i=0,np-1
sdidx(i+1) = sdidx(i) + sdsz(i)
do ip=0,np-1
sdidx(ip+1) = sdidx(ip) + sdsz(ip)
end do
call mpi_alltoallv(tproc,rvsz,rvidx,psb_mpi_ipk_,&
& lclidx,sdsz,sdidx,psb_mpi_ipk_,icomm,iret)
@ -225,10 +225,10 @@ subroutine psi_adjcncy_fnd_owner(idx,iprc,adj,idxmap,info)
! Because IPRC has been initialized to -1, the MAX operation selects
! the answers.
!
do i=0, np-1
if (sdsz(i)>0) then
do ip=0, np-1
if (sdsz(ip)>0) then
! Must be nidx == sdsz(i)
iprc(1:nidx) = max(iprc(1:nidx), lclidx(sdidx(i)+1:sdidx(i)+sdsz(i)))
iprc(1:nidx) = max(iprc(1:nidx), lclidx(sdidx(ip)+1:sdidx(ip)+sdsz(ip)))
end if
end do
if (do_timings) call psb_toc(idx_phase3)
@ -262,8 +262,8 @@ subroutine psi_adjcncy_fnd_owner(idx,iprc,adj,idxmap,info)
call mpi_alltoall(sdsz,1,psb_mpi_mpk_,&
& rvsz,1,psb_mpi_mpk_,icomm,minfo)
hidx(0) = 0
do i=0, np-1
hidx(i+1) = hidx(i) + rvsz(i)
do ip=0, np-1
hidx(ip+1) = hidx(ip) + rvsz(ip)
end do
hsize = hidx(np)
! write(0,*)me,' Check on sizes from a2a:',hsize,rvsz(:)
@ -276,22 +276,23 @@ subroutine psi_adjcncy_fnd_owner(idx,iprc,adj,idxmap,info)
call psb_errpush(psb_err_from_subroutine_,name,a_err='Allocate')
goto 9999
end if
do i = 0, np-1
if (rvsz(i)>0) then
do ip = 0, np-1
if (rvsz(ip)>0) then
! write(0,*) me, ' First receive from ',i,rvsz(i)
prc = psb_get_mpi_rank(ctxt,i)
prc = psb_get_mpi_rank(ctxt,ip)
p2ptag = psb_long_swap_tag
!write(0,*) me, ' Posting first receive from ',i,rvsz(i),prc
call mpi_irecv(rmtidx(hidx(i)+1),rvsz(i),&
call mpi_irecv(rmtidx(hidx(ip)+1),rvsz(ip),&
& psb_mpi_lpk_,prc,&
& p2ptag, icomm,rvhd(i),iret)
& p2ptag, icomm,rvhd(ip),iret)
end if
end do
if (do_timings) call psb_toc(idx_phase11)
if (do_timings) call psb_tic(idx_phase12)
do j=1, nadj
if (nidx > 0) then
prc = psb_get_mpi_rank(ctxt,adj(j))
ip = adj(j)
prc = psb_get_mpi_rank(ctxt,ip)
p2ptag = psb_long_swap_tag
!write(0,*) me, ' First send to ',adj(j),nidx, prc
call mpi_send(idx,nidx,&
@ -310,9 +311,9 @@ subroutine psi_adjcncy_fnd_owner(idx,iprc,adj,idxmap,info)
! Third, compute local answers
!
call idxmap%g2l(rmtidx(1:hsize),lclidx(1:hsize),info,owned=.true.)
do i=1, hsize
tproc(i) = -1
if ((0 < lclidx(i)).and. (lclidx(i) <= n_row)) tproc(i) = me
do ip=1, hsize
tproc(ip) = -1
if ((0 < lclidx(ip)).and. (lclidx(ip) <= n_row)) tproc(ip) = me
end do
if (do_timings) call psb_toc(idx_phase2)
if (do_timings) call psb_tic(idx_phase3)
@ -323,7 +324,8 @@ subroutine psi_adjcncy_fnd_owner(idx,iprc,adj,idxmap,info)
do j=1, nadj
!write(0,*) me, ' First send to ',adj(j),nidx
if (nidx > 0) then
prc = psb_get_mpi_rank(ctxt,adj(j))
ip = adj(j)
prc = psb_get_mpi_rank(ctxt,ip)
p2ptag = psb_int_swap_tag
!write(0,*) me, ' Posting second receive from ',adj(j),nidx, prc
call mpi_irecv(lclidx((j-1)*nidx+1),nidx, &
@ -335,12 +337,12 @@ subroutine psi_adjcncy_fnd_owner(idx,iprc,adj,idxmap,info)
!
! Fourth, send data back;
!
do i = 0, np-1
if (rvsz(i)>0) then
prc = psb_get_mpi_rank(ctxt,i)
do ip = 0, np-1
if (rvsz(ip)>0) then
prc = psb_get_mpi_rank(ctxt,ip)
p2ptag = psb_int_swap_tag
!write(0,*) me, ' Second send to ',i,rvsz(i), prc
call mpi_send(tproc(hidx(i)+1),rvsz(i),&
call mpi_send(tproc(hidx(ip)+1),rvsz(ip),&
& psb_mpi_ipk_,prc,&
& p2ptag, icomm,iret)
end if
@ -372,8 +374,8 @@ subroutine psi_adjcncy_fnd_owner(idx,iprc,adj,idxmap,info)
call mpi_alltoall(sdsz,1,psb_mpi_mpk_,&
& rvsz,1,psb_mpi_mpk_,icomm,minfo)
hidx(0) = 0
do i=0, np-1
hidx(i+1) = hidx(i) + rvsz(i)
do ip=0, np-1
hidx(ip+1) = hidx(ip) + rvsz(ip)
end do
hsize = hidx(np)
! write(0,*)me,' Check on sizes from a2a:',hsize,rvsz(:)
@ -388,12 +390,13 @@ subroutine psi_adjcncy_fnd_owner(idx,iprc,adj,idxmap,info)
end if
do j=1, nadj
!write(0,*) me, ' First send to ',adj(j),nidx
if (nidx > 0) call psb_snd(ctxt,idx(1:nidx),adj(j))
ip = adj(j)
if (nidx > 0) call psb_snd(ctxt,idx(1:nidx),ip)
end do
do i = 0, np-1
if (rvsz(i)>0) then
do ip = 0, np-1
if (rvsz(ip)>0) then
! write(0,*) me, ' First receive from ',i,rvsz(i)
call psb_rcv(ctxt,rmtidx(hidx(i)+1:hidx(i)+rvsz(i)),i)
call psb_rcv(ctxt,rmtidx(hidx(ip)+1:hidx(ip)+rvsz(ip)),ip)
end if
end do
@ -401,18 +404,18 @@ subroutine psi_adjcncy_fnd_owner(idx,iprc,adj,idxmap,info)
! Third, compute local answers
!
call idxmap%g2l(rmtidx(1:hsize),lclidx(1:hsize),info,owned=.true.)
do i=1, hsize
tproc(i) = -1
if ((0 < lclidx(i)).and. (lclidx(i) <= n_row)) tproc(i) = me
do ip=1, hsize
tproc(ip) = -1
if ((0 < lclidx(ip)).and. (lclidx(ip) <= n_row)) tproc(ip) = me
end do
!
! Fourth, send data back;
!
do i = 0, np-1
if (rvsz(i)>0) then
do ip = 0, np-1
if (rvsz(ip)>0) then
!write(0,*) me, ' Second send to ',i,rvsz(i)
call psb_snd(ctxt,tproc(hidx(i)+1:hidx(i)+rvsz(i)),i)
call psb_snd(ctxt,tproc(hidx(ip)+1:hidx(ip)+rvsz(ip)),ip)
end if
end do
!
@ -420,8 +423,9 @@ subroutine psi_adjcncy_fnd_owner(idx,iprc,adj,idxmap,info)
! answer is -1. Reuse tproc
!
do j = 1, nadj
!write(0,*) me, ' Second receive from ',adj(j), nidx
if (nidx > 0) call psb_rcv(ctxt,tproc(1:nidx),adj(j))
!write(0,*) me, ' Second receive from ',adj(j), nidx
ip = adj(j)
if (nidx > 0) call psb_rcv(ctxt,tproc(1:nidx),ip)
iprc(1:nidx) = max(iprc(1:nidx), tproc(1:nidx))
end do
case default

@ -45,8 +45,10 @@ subroutine psi_i_bld_glb_dep_list(ctxt,loc_dl,length_dl,c_dep_list,dl_ptr,info)
#endif
! ....scalar parameters...
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_ipk_), intent(in) :: loc_dl(:), length_dl(0:)
integer(psb_ipk_), allocatable, intent(out) :: c_dep_list(:), dl_ptr(:)
integer(psb_ipk_), intent(in) :: loc_dl(:)
integer(psb_mpk_), intent(in) :: length_dl(0:)
integer(psb_mpk_), allocatable, intent(out) :: dl_ptr(:)
integer(psb_ipk_), allocatable, intent(out) :: c_dep_list(:)
integer(psb_ipk_), intent(out) :: info
@ -54,10 +56,11 @@ subroutine psi_i_bld_glb_dep_list(ctxt,loc_dl,length_dl,c_dep_list,dl_ptr,info)
integer(psb_ipk_) :: int_err(5)
! .....local scalars...
integer(psb_ipk_) :: i, proc,j,err_act, length, myld
integer(psb_mpk_) :: myld
integer(psb_ipk_) :: i, proc,j,err_act, length
integer(psb_ipk_) :: err
integer(psb_ipk_) :: debug_level, debug_unit
integer(psb_ipk_) :: me, np
integer(psb_mpk_) :: me, np
integer(psb_mpk_) :: icomm, minfo
logical, parameter :: dist_symm_list=.false., print_dl=.false.
character name*20

@ -67,8 +67,8 @@ subroutine psi_i_crea_index(desc_a,index_in,index_out,nxch,nsnd,nrcv,info)
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_) :: me, np, mode, err_act, dl_lda, ldl
! ...parameters...
integer(psb_ipk_), allocatable :: length_dl(:), loc_dl(:),&
& c_dep_list(:), dl_ptr(:)
integer(psb_mpk_), allocatable :: length_dl(:), dl_ptr(:)
integer(psb_ipk_), allocatable :: loc_dl(:), c_dep_list(:)
integer(psb_ipk_) :: dlmax, dlavg
integer(psb_ipk_),parameter :: root=psb_root_,no_comm=-1
integer(psb_ipk_) :: debug_level, debug_unit
@ -132,7 +132,7 @@ subroutine psi_i_crea_index(desc_a,index_in,index_out,nxch,nsnd,nrcv,info)
if (do_timings) call psb_toc(idx_phase21)
if (do_timings) call psb_tic(idx_phase22)
call psi_sort_dl(dl_ptr,c_dep_list,length_dl,ctxt,info)
call psi_i_csr_sort_dl(dl_ptr,c_dep_list,length_dl,ctxt,info)
if (info /= 0) then
write(0,*) me,trim(name),' From sort_dl ',info
end if

@ -119,7 +119,8 @@ subroutine psi_i_desc_index(desc,index_in,dep_list,&
integer(psb_ipk_),allocatable :: desc_index(:)
integer(psb_ipk_) :: length_dl,nsnd,nrcv,info
! ....local scalars...
integer(psb_ipk_) :: j,me,np,i,proc
integer(psb_mpk_) :: me,np,proc
integer(psb_ipk_) :: j,i
! ...parameters...
type(psb_ctxt_type) :: ctxt
integer(psb_ipk_), parameter :: no_comm=-1

@ -237,7 +237,7 @@ subroutine psi_graph_fnd_owner(idx,iprc,ladj,idxmap,info)
! Choose a sample, should it be done in this simplistic way?
! Note: nsampl_in is a hint, not an absolute, hence nsampl_out
!
call psi_get_sample(1,idx,iprc,tidx,tsmpl,iend,nsampl_in,nsampl_out)
call psi_get_sample(ione,idx,iprc,tidx,tsmpl,iend,nsampl_in,nsampl_out)
nsampl = min(nsampl_out,nsampl_in)
if (debugsz) write(0,*) me,' From first sampling ',nsampl_in
!

@ -84,8 +84,8 @@ subroutine psi_i_csr_sort_dl(dl_ptr,c_dep_list,l_dep_list,ctxt,info)
use psb_sort_mod
implicit none
integer(psb_ipk_), intent(in) :: dl_ptr(0:)
integer(psb_ipk_), intent(inout) :: c_dep_list(:), l_dep_list(0:)
integer(psb_mpk_), intent(in) :: dl_ptr(0:), l_dep_list(0:)
integer(psb_ipk_), intent(inout) :: c_dep_list(:)
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_ipk_), intent(out) :: info
! Local variables

@ -125,7 +125,8 @@ subroutine psi_i_xtr_loc_dl(ctxt,is_bld,is_upd,desc_str,loc_dl,length_dl,info)
logical, intent(in) :: is_bld, is_upd
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_ipk_), intent(in) :: desc_str(:)
integer(psb_ipk_), allocatable, intent(out) :: loc_dl(:), length_dl(:)
integer(psb_ipk_), allocatable, intent(out) :: loc_dl(:)
integer(psb_mpk_), allocatable, intent(out) :: length_dl(:)
integer(psb_ipk_), intent(out) :: info
! .....local arrays....
integer(psb_ipk_) :: int_err(5)

@ -128,64 +128,72 @@ module psi_c_serial_mod
interface psi_gth
subroutine psi_cgthmv(n,k,idx,alpha,x,beta,y)
import :: psb_ipk_, psb_spk_
import :: psb_ipk_, psb_mpk_, psb_spk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
complex(psb_spk_) :: x(:,:), y(:),alpha,beta
end subroutine psi_cgthmv
subroutine psi_cgthv(n,idx,alpha,x,beta,y)
import :: psb_ipk_, psb_spk_
import :: psb_ipk_, psb_mpk_, psb_spk_
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
complex(psb_spk_) :: x(:), y(:),alpha,beta
end subroutine psi_cgthv
subroutine psi_cgthzmv(n,k,idx,x,y)
import :: psb_ipk_, psb_spk_
import :: psb_ipk_, psb_mpk_, psb_spk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
complex(psb_spk_) :: x(:,:), y(:)
end subroutine psi_cgthzmv
subroutine psi_cgthzmm(n,k,idx,x,y)
import :: psb_ipk_, psb_spk_
import :: psb_ipk_, psb_mpk_, psb_spk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
complex(psb_spk_) :: x(:,:), y(:,:)
end subroutine psi_cgthzmm
subroutine psi_cgthzv(n,idx,x,y)
import :: psb_ipk_, psb_spk_
import :: psb_ipk_, psb_mpk_, psb_spk_
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
complex(psb_spk_) :: x(:), y(:)
end subroutine psi_cgthzv
end interface psi_gth
interface psi_sct
subroutine psi_csctmm(n,k,idx,x,beta,y)
import :: psb_ipk_, psb_spk_
import :: psb_ipk_, psb_mpk_, psb_spk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
complex(psb_spk_) :: beta, x(:,:), y(:,:)
end subroutine psi_csctmm
subroutine psi_csctmv(n,k,idx,x,beta,y)
import :: psb_ipk_, psb_spk_
import :: psb_ipk_, psb_mpk_, psb_spk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
complex(psb_spk_) :: beta, x(:), y(:,:)
end subroutine psi_csctmv
subroutine psi_csctv(n,idx,x,beta,y)
import :: psb_ipk_, psb_spk_
import :: psb_ipk_, psb_mpk_, psb_spk_
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
complex(psb_spk_) :: beta, x(:), y(:)
end subroutine psi_csctv
end interface psi_sct
interface psi_exscan
subroutine psi_c_exscanv(n,x,info,shift)
import :: psb_ipk_, psb_spk_
import :: psb_ipk_, psb_mpk_, psb_spk_
implicit none
integer(psb_ipk_), intent(in) :: n
complex(psb_spk_), intent (inout) :: x(:)

@ -128,64 +128,72 @@ module psi_d_serial_mod
interface psi_gth
subroutine psi_dgthmv(n,k,idx,alpha,x,beta,y)
import :: psb_ipk_, psb_dpk_
import :: psb_ipk_, psb_mpk_, psb_dpk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
real(psb_dpk_) :: x(:,:), y(:),alpha,beta
end subroutine psi_dgthmv
subroutine psi_dgthv(n,idx,alpha,x,beta,y)
import :: psb_ipk_, psb_dpk_
import :: psb_ipk_, psb_mpk_, psb_dpk_
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
real(psb_dpk_) :: x(:), y(:),alpha,beta
end subroutine psi_dgthv
subroutine psi_dgthzmv(n,k,idx,x,y)
import :: psb_ipk_, psb_dpk_
import :: psb_ipk_, psb_mpk_, psb_dpk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
real(psb_dpk_) :: x(:,:), y(:)
end subroutine psi_dgthzmv
subroutine psi_dgthzmm(n,k,idx,x,y)
import :: psb_ipk_, psb_dpk_
import :: psb_ipk_, psb_mpk_, psb_dpk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
real(psb_dpk_) :: x(:,:), y(:,:)
end subroutine psi_dgthzmm
subroutine psi_dgthzv(n,idx,x,y)
import :: psb_ipk_, psb_dpk_
import :: psb_ipk_, psb_mpk_, psb_dpk_
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
real(psb_dpk_) :: x(:), y(:)
end subroutine psi_dgthzv
end interface psi_gth
interface psi_sct
subroutine psi_dsctmm(n,k,idx,x,beta,y)
import :: psb_ipk_, psb_dpk_
import :: psb_ipk_, psb_mpk_, psb_dpk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
real(psb_dpk_) :: beta, x(:,:), y(:,:)
end subroutine psi_dsctmm
subroutine psi_dsctmv(n,k,idx,x,beta,y)
import :: psb_ipk_, psb_dpk_
import :: psb_ipk_, psb_mpk_, psb_dpk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
real(psb_dpk_) :: beta, x(:), y(:,:)
end subroutine psi_dsctmv
subroutine psi_dsctv(n,idx,x,beta,y)
import :: psb_ipk_, psb_dpk_
import :: psb_ipk_, psb_mpk_, psb_dpk_
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
real(psb_dpk_) :: beta, x(:), y(:)
end subroutine psi_dsctv
end interface psi_sct
interface psi_exscan
subroutine psi_d_exscanv(n,x,info,shift)
import :: psb_ipk_, psb_dpk_
import :: psb_ipk_, psb_mpk_, psb_dpk_
implicit none
integer(psb_ipk_), intent(in) :: n
real(psb_dpk_), intent (inout) :: x(:)

@ -130,33 +130,38 @@ module psi_e_serial_mod
subroutine psi_egthmv(n,k,idx,alpha,x,beta,y)
import :: psb_ipk_, psb_lpk_,psb_mpk_, psb_epk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
integer(psb_epk_) :: x(:,:), y(:),alpha,beta
end subroutine psi_egthmv
subroutine psi_egthv(n,idx,alpha,x,beta,y)
import :: psb_ipk_, psb_lpk_,psb_mpk_, psb_epk_
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
integer(psb_epk_) :: x(:), y(:),alpha,beta
end subroutine psi_egthv
subroutine psi_egthzmv(n,k,idx,x,y)
import :: psb_ipk_, psb_lpk_,psb_mpk_, psb_epk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
integer(psb_epk_) :: x(:,:), y(:)
end subroutine psi_egthzmv
subroutine psi_egthzmm(n,k,idx,x,y)
import :: psb_ipk_, psb_lpk_,psb_mpk_, psb_epk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
integer(psb_epk_) :: x(:,:), y(:,:)
end subroutine psi_egthzmm
subroutine psi_egthzv(n,idx,x,y)
import :: psb_ipk_, psb_lpk_,psb_mpk_, psb_epk_
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
integer(psb_epk_) :: x(:), y(:)
end subroutine psi_egthzv
end interface psi_gth
@ -165,20 +170,23 @@ module psi_e_serial_mod
subroutine psi_esctmm(n,k,idx,x,beta,y)
import :: psb_ipk_, psb_lpk_,psb_mpk_, psb_epk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
integer(psb_epk_) :: beta, x(:,:), y(:,:)
end subroutine psi_esctmm
subroutine psi_esctmv(n,k,idx,x,beta,y)
import :: psb_ipk_, psb_lpk_,psb_mpk_, psb_epk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
integer(psb_epk_) :: beta, x(:), y(:,:)
end subroutine psi_esctmv
subroutine psi_esctv(n,idx,x,beta,y)
import :: psb_ipk_, psb_lpk_,psb_mpk_, psb_epk_
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
integer(psb_epk_) :: beta, x(:), y(:)
end subroutine psi_esctv
end interface psi_sct

@ -130,33 +130,38 @@ module psi_i2_serial_mod
subroutine psi_i2gthmv(n,k,idx,alpha,x,beta,y)
import :: psb_ipk_, psb_lpk_,psb_mpk_, psb_epk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
integer(psb_i2pk_) :: x(:,:), y(:),alpha,beta
end subroutine psi_i2gthmv
subroutine psi_i2gthv(n,idx,alpha,x,beta,y)
import :: psb_ipk_, psb_lpk_,psb_mpk_, psb_epk_
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
integer(psb_i2pk_) :: x(:), y(:),alpha,beta
end subroutine psi_i2gthv
subroutine psi_i2gthzmv(n,k,idx,x,y)
import :: psb_ipk_, psb_lpk_,psb_mpk_, psb_epk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
integer(psb_i2pk_) :: x(:,:), y(:)
end subroutine psi_i2gthzmv
subroutine psi_i2gthzmm(n,k,idx,x,y)
import :: psb_ipk_, psb_lpk_,psb_mpk_, psb_epk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
integer(psb_i2pk_) :: x(:,:), y(:,:)
end subroutine psi_i2gthzmm
subroutine psi_i2gthzv(n,idx,x,y)
import :: psb_ipk_, psb_lpk_,psb_mpk_, psb_epk_
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
integer(psb_i2pk_) :: x(:), y(:)
end subroutine psi_i2gthzv
end interface psi_gth
@ -165,20 +170,23 @@ module psi_i2_serial_mod
subroutine psi_i2sctmm(n,k,idx,x,beta,y)
import :: psb_ipk_, psb_lpk_,psb_mpk_, psb_epk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
integer(psb_i2pk_) :: beta, x(:,:), y(:,:)
end subroutine psi_i2sctmm
subroutine psi_i2sctmv(n,k,idx,x,beta,y)
import :: psb_ipk_, psb_lpk_,psb_mpk_, psb_epk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
integer(psb_i2pk_) :: beta, x(:), y(:,:)
end subroutine psi_i2sctmv
subroutine psi_i2sctv(n,idx,x,beta,y)
import :: psb_ipk_, psb_lpk_,psb_mpk_, psb_epk_
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
integer(psb_i2pk_) :: beta, x(:), y(:)
end subroutine psi_i2sctv
end interface psi_sct

@ -130,33 +130,38 @@ module psi_m_serial_mod
subroutine psi_mgthmv(n,k,idx,alpha,x,beta,y)
import :: psb_ipk_, psb_lpk_,psb_mpk_, psb_epk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
integer(psb_mpk_) :: x(:,:), y(:),alpha,beta
end subroutine psi_mgthmv
subroutine psi_mgthv(n,idx,alpha,x,beta,y)
import :: psb_ipk_, psb_lpk_,psb_mpk_, psb_epk_
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
integer(psb_mpk_) :: x(:), y(:),alpha,beta
end subroutine psi_mgthv
subroutine psi_mgthzmv(n,k,idx,x,y)
import :: psb_ipk_, psb_lpk_,psb_mpk_, psb_epk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
integer(psb_mpk_) :: x(:,:), y(:)
end subroutine psi_mgthzmv
subroutine psi_mgthzmm(n,k,idx,x,y)
import :: psb_ipk_, psb_lpk_,psb_mpk_, psb_epk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
integer(psb_mpk_) :: x(:,:), y(:,:)
end subroutine psi_mgthzmm
subroutine psi_mgthzv(n,idx,x,y)
import :: psb_ipk_, psb_lpk_,psb_mpk_, psb_epk_
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
integer(psb_mpk_) :: x(:), y(:)
end subroutine psi_mgthzv
end interface psi_gth
@ -165,20 +170,23 @@ module psi_m_serial_mod
subroutine psi_msctmm(n,k,idx,x,beta,y)
import :: psb_ipk_, psb_lpk_,psb_mpk_, psb_epk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
integer(psb_mpk_) :: beta, x(:,:), y(:,:)
end subroutine psi_msctmm
subroutine psi_msctmv(n,k,idx,x,beta,y)
import :: psb_ipk_, psb_lpk_,psb_mpk_, psb_epk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
integer(psb_mpk_) :: beta, x(:), y(:,:)
end subroutine psi_msctmv
subroutine psi_msctv(n,idx,x,beta,y)
import :: psb_ipk_, psb_lpk_,psb_mpk_, psb_epk_
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
integer(psb_mpk_) :: beta, x(:), y(:)
end subroutine psi_msctv
end interface psi_sct

@ -128,64 +128,72 @@ module psi_s_serial_mod
interface psi_gth
subroutine psi_sgthmv(n,k,idx,alpha,x,beta,y)
import :: psb_ipk_, psb_spk_
import :: psb_ipk_, psb_mpk_, psb_spk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
real(psb_spk_) :: x(:,:), y(:),alpha,beta
end subroutine psi_sgthmv
subroutine psi_sgthv(n,idx,alpha,x,beta,y)
import :: psb_ipk_, psb_spk_
import :: psb_ipk_, psb_mpk_, psb_spk_
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
real(psb_spk_) :: x(:), y(:),alpha,beta
end subroutine psi_sgthv
subroutine psi_sgthzmv(n,k,idx,x,y)
import :: psb_ipk_, psb_spk_
import :: psb_ipk_, psb_mpk_, psb_spk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
real(psb_spk_) :: x(:,:), y(:)
end subroutine psi_sgthzmv
subroutine psi_sgthzmm(n,k,idx,x,y)
import :: psb_ipk_, psb_spk_
import :: psb_ipk_, psb_mpk_, psb_spk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
real(psb_spk_) :: x(:,:), y(:,:)
end subroutine psi_sgthzmm
subroutine psi_sgthzv(n,idx,x,y)
import :: psb_ipk_, psb_spk_
import :: psb_ipk_, psb_mpk_, psb_spk_
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
real(psb_spk_) :: x(:), y(:)
end subroutine psi_sgthzv
end interface psi_gth
interface psi_sct
subroutine psi_ssctmm(n,k,idx,x,beta,y)
import :: psb_ipk_, psb_spk_
import :: psb_ipk_, psb_mpk_, psb_spk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
real(psb_spk_) :: beta, x(:,:), y(:,:)
end subroutine psi_ssctmm
subroutine psi_ssctmv(n,k,idx,x,beta,y)
import :: psb_ipk_, psb_spk_
import :: psb_ipk_, psb_mpk_, psb_spk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
real(psb_spk_) :: beta, x(:), y(:,:)
end subroutine psi_ssctmv
subroutine psi_ssctv(n,idx,x,beta,y)
import :: psb_ipk_, psb_spk_
import :: psb_ipk_, psb_mpk_, psb_spk_
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
real(psb_spk_) :: beta, x(:), y(:)
end subroutine psi_ssctv
end interface psi_sct
interface psi_exscan
subroutine psi_s_exscanv(n,x,info,shift)
import :: psb_ipk_, psb_spk_
import :: psb_ipk_, psb_mpk_, psb_spk_
implicit none
integer(psb_ipk_), intent(in) :: n
real(psb_spk_), intent (inout) :: x(:)

@ -128,64 +128,72 @@ module psi_z_serial_mod
interface psi_gth
subroutine psi_zgthmv(n,k,idx,alpha,x,beta,y)
import :: psb_ipk_, psb_dpk_
import :: psb_ipk_, psb_mpk_, psb_dpk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
complex(psb_dpk_) :: x(:,:), y(:),alpha,beta
end subroutine psi_zgthmv
subroutine psi_zgthv(n,idx,alpha,x,beta,y)
import :: psb_ipk_, psb_dpk_
import :: psb_ipk_, psb_mpk_, psb_dpk_
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
complex(psb_dpk_) :: x(:), y(:),alpha,beta
end subroutine psi_zgthv
subroutine psi_zgthzmv(n,k,idx,x,y)
import :: psb_ipk_, psb_dpk_
import :: psb_ipk_, psb_mpk_, psb_dpk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
complex(psb_dpk_) :: x(:,:), y(:)
end subroutine psi_zgthzmv
subroutine psi_zgthzmm(n,k,idx,x,y)
import :: psb_ipk_, psb_dpk_
import :: psb_ipk_, psb_mpk_, psb_dpk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
complex(psb_dpk_) :: x(:,:), y(:,:)
end subroutine psi_zgthzmm
subroutine psi_zgthzv(n,idx,x,y)
import :: psb_ipk_, psb_dpk_
import :: psb_ipk_, psb_mpk_, psb_dpk_
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
complex(psb_dpk_) :: x(:), y(:)
end subroutine psi_zgthzv
end interface psi_gth
interface psi_sct
subroutine psi_zsctmm(n,k,idx,x,beta,y)
import :: psb_ipk_, psb_dpk_
import :: psb_ipk_, psb_mpk_, psb_dpk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
complex(psb_dpk_) :: beta, x(:,:), y(:,:)
end subroutine psi_zsctmm
subroutine psi_zsctmv(n,k,idx,x,beta,y)
import :: psb_ipk_, psb_dpk_
import :: psb_ipk_, psb_mpk_, psb_dpk_
implicit none
integer(psb_ipk_) :: n, k, idx(:)
integer(psb_mpk_) :: n, k
integer(psb_ipk_) :: idx(:)
complex(psb_dpk_) :: beta, x(:), y(:,:)
end subroutine psi_zsctmv
subroutine psi_zsctv(n,idx,x,beta,y)
import :: psb_ipk_, psb_dpk_
import :: psb_ipk_, psb_mpk_, psb_dpk_
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
complex(psb_dpk_) :: beta, x(:), y(:)
end subroutine psi_zsctv
end interface psi_sct
interface psi_exscan
subroutine psi_z_exscanv(n,x,info,shift)
import :: psb_ipk_, psb_dpk_
import :: psb_ipk_, psb_mpk_, psb_dpk_
implicit none
integer(psb_ipk_), intent(in) :: n
complex(psb_dpk_), intent (inout) :: x(:)

@ -36,7 +36,8 @@ module psi_c_comm_a_mod
interface psi_swapdata
subroutine psi_cswapdatam(flag,n,beta,y,desc_a,work,info,data)
import
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
complex(psb_spk_) :: y(:,:), beta
complex(psb_spk_),target :: work(:)
@ -57,7 +58,8 @@ module psi_c_comm_a_mod
import
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
complex(psb_spk_) :: y(:,:), beta
complex(psb_spk_),target :: work(:)
@ -80,7 +82,8 @@ module psi_c_comm_a_mod
interface psi_swaptran
subroutine psi_cswaptranm(flag,n,beta,y,desc_a,work,info,data)
import
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_ipk_), intent(in) :: flag
integer(psb_Mpk_), intent(in) :: n
integer(psb_ipk_), intent(out) :: info
complex(psb_spk_) :: y(:,:), beta
complex(psb_spk_),target :: work(:)
@ -101,7 +104,8 @@ module psi_c_comm_a_mod
import
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
complex(psb_spk_) :: y(:,:), beta
complex(psb_spk_),target :: work(:)

@ -36,7 +36,8 @@ module psi_d_comm_a_mod
interface psi_swapdata
subroutine psi_dswapdatam(flag,n,beta,y,desc_a,work,info,data)
import
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
real(psb_dpk_) :: y(:,:), beta
real(psb_dpk_),target :: work(:)
@ -57,7 +58,8 @@ module psi_d_comm_a_mod
import
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
real(psb_dpk_) :: y(:,:), beta
real(psb_dpk_),target :: work(:)
@ -80,7 +82,8 @@ module psi_d_comm_a_mod
interface psi_swaptran
subroutine psi_dswaptranm(flag,n,beta,y,desc_a,work,info,data)
import
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_ipk_), intent(in) :: flag
integer(psb_Mpk_), intent(in) :: n
integer(psb_ipk_), intent(out) :: info
real(psb_dpk_) :: y(:,:), beta
real(psb_dpk_),target :: work(:)
@ -101,7 +104,8 @@ module psi_d_comm_a_mod
import
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
real(psb_dpk_) :: y(:,:), beta
real(psb_dpk_),target :: work(:)

@ -36,7 +36,8 @@ module psi_e_comm_a_mod
interface psi_swapdata
subroutine psi_eswapdatam(flag,n,beta,y,desc_a,work,info,data)
import
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_epk_) :: y(:,:), beta
integer(psb_epk_),target :: work(:)
@ -57,7 +58,8 @@ module psi_e_comm_a_mod
import
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_epk_) :: y(:,:), beta
integer(psb_epk_),target :: work(:)
@ -80,7 +82,8 @@ module psi_e_comm_a_mod
interface psi_swaptran
subroutine psi_eswaptranm(flag,n,beta,y,desc_a,work,info,data)
import
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_ipk_), intent(in) :: flag
integer(psb_Mpk_), intent(in) :: n
integer(psb_ipk_), intent(out) :: info
integer(psb_epk_) :: y(:,:), beta
integer(psb_epk_),target :: work(:)
@ -101,7 +104,8 @@ module psi_e_comm_a_mod
import
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_epk_) :: y(:,:), beta
integer(psb_epk_),target :: work(:)

@ -36,7 +36,8 @@ module psi_i2_comm_a_mod
interface psi_swapdata
subroutine psi_i2swapdatam(flag,n,beta,y,desc_a,work,info,data)
import
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_i2pk_) :: y(:,:), beta
integer(psb_i2pk_),target :: work(:)
@ -57,7 +58,8 @@ module psi_i2_comm_a_mod
import
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_i2pk_) :: y(:,:), beta
integer(psb_i2pk_),target :: work(:)
@ -80,7 +82,8 @@ module psi_i2_comm_a_mod
interface psi_swaptran
subroutine psi_i2swaptranm(flag,n,beta,y,desc_a,work,info,data)
import
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_ipk_), intent(in) :: flag
integer(psb_Mpk_), intent(in) :: n
integer(psb_ipk_), intent(out) :: info
integer(psb_i2pk_) :: y(:,:), beta
integer(psb_i2pk_),target :: work(:)
@ -101,7 +104,8 @@ module psi_i2_comm_a_mod
import
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_i2pk_) :: y(:,:), beta
integer(psb_i2pk_),target :: work(:)

@ -36,7 +36,8 @@ module psi_m_comm_a_mod
interface psi_swapdata
subroutine psi_mswapdatam(flag,n,beta,y,desc_a,work,info,data)
import
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_mpk_) :: y(:,:), beta
integer(psb_mpk_),target :: work(:)
@ -57,7 +58,8 @@ module psi_m_comm_a_mod
import
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_mpk_) :: y(:,:), beta
integer(psb_mpk_),target :: work(:)
@ -80,7 +82,8 @@ module psi_m_comm_a_mod
interface psi_swaptran
subroutine psi_mswaptranm(flag,n,beta,y,desc_a,work,info,data)
import
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_ipk_), intent(in) :: flag
integer(psb_Mpk_), intent(in) :: n
integer(psb_ipk_), intent(out) :: info
integer(psb_mpk_) :: y(:,:), beta
integer(psb_mpk_),target :: work(:)
@ -101,7 +104,8 @@ module psi_m_comm_a_mod
import
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_mpk_) :: y(:,:), beta
integer(psb_mpk_),target :: work(:)

@ -36,7 +36,8 @@ module psi_s_comm_a_mod
interface psi_swapdata
subroutine psi_sswapdatam(flag,n,beta,y,desc_a,work,info,data)
import
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
real(psb_spk_) :: y(:,:), beta
real(psb_spk_),target :: work(:)
@ -57,7 +58,8 @@ module psi_s_comm_a_mod
import
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
real(psb_spk_) :: y(:,:), beta
real(psb_spk_),target :: work(:)
@ -80,7 +82,8 @@ module psi_s_comm_a_mod
interface psi_swaptran
subroutine psi_sswaptranm(flag,n,beta,y,desc_a,work,info,data)
import
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_ipk_), intent(in) :: flag
integer(psb_Mpk_), intent(in) :: n
integer(psb_ipk_), intent(out) :: info
real(psb_spk_) :: y(:,:), beta
real(psb_spk_),target :: work(:)
@ -101,7 +104,8 @@ module psi_s_comm_a_mod
import
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
real(psb_spk_) :: y(:,:), beta
real(psb_spk_),target :: work(:)

@ -36,7 +36,8 @@ module psi_z_comm_a_mod
interface psi_swapdata
subroutine psi_zswapdatam(flag,n,beta,y,desc_a,work,info,data)
import
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
complex(psb_dpk_) :: y(:,:), beta
complex(psb_dpk_),target :: work(:)
@ -57,7 +58,8 @@ module psi_z_comm_a_mod
import
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
complex(psb_dpk_) :: y(:,:), beta
complex(psb_dpk_),target :: work(:)
@ -80,7 +82,8 @@ module psi_z_comm_a_mod
interface psi_swaptran
subroutine psi_zswaptranm(flag,n,beta,y,desc_a,work,info,data)
import
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_ipk_), intent(in) :: flag
integer(psb_Mpk_), intent(in) :: n
integer(psb_ipk_), intent(out) :: info
complex(psb_dpk_) :: y(:,:), beta
complex(psb_dpk_),target :: work(:)
@ -101,7 +104,8 @@ module psi_z_comm_a_mod
import
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag, n
integer(psb_mpk_), intent(in) :: n
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
complex(psb_dpk_) :: y(:,:), beta
complex(psb_dpk_),target :: work(:)

@ -1221,8 +1221,8 @@ contains
integer(psb_mpk_), intent(inout), optional :: request
complex(psb_spk_), intent(inout) :: dat
complex(psb_spk_) :: dat_
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -1256,6 +1256,7 @@ contains
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#endif
end subroutine psb_cscan_sums
@ -1272,8 +1273,8 @@ contains
integer(psb_ipk_), intent(in), optional :: mode
integer(psb_mpk_), intent(inout), optional :: request
complex(psb_spk_) :: dat_
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -1308,6 +1309,7 @@ contains
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#else
dat = czero
#endif
@ -1326,8 +1328,8 @@ contains
integer(psb_ipk_), intent(in), optional :: mode
integer(psb_mpk_), intent(inout), optional :: request
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -1356,11 +1358,12 @@ contains
else
if (collective_start) then
call mpi_iscan(dat_,dat,size(dat),&
& psb_mpi_c_spk_,mpi_sum,icomm,request,info)
& psb_mpi_c_spk_,mpi_sum,icomm,request,minfo)
else if (collective_end) then
call mpi_wait(request,status,info)
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#endif
end subroutine psb_cscan_sumv
@ -1377,8 +1380,8 @@ contains
integer(psb_ipk_), intent(in), optional :: mode
integer(psb_mpk_), intent(inout), optional :: request
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -1408,12 +1411,12 @@ contains
else
if (collective_start) then
call mpi_iexscan(dat_,dat,size(dat),&
& psb_mpi_c_spk_,mpi_sum,icomm,request,info)
& psb_mpi_c_spk_,mpi_sum,icomm,request,minfo)
else if (collective_end) then
call mpi_wait(request,status,info)
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#else
dat = czero
#endif
@ -1428,7 +1431,9 @@ contains
integer(psb_mpk_), intent(in) :: bsdindx(:), brvindx(:), sdsz(:), rvsz(:)
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_) :: iam, np, i,j,k, ip, ipx, idx, sz
integer(psb_ipk_) :: i,j,k, ipx, idx
integer(psb_mpk_) :: ip, sz
integer(psb_mpk_) :: iam, np
call psb_info(ctxt,iam,np)
@ -1473,9 +1478,11 @@ contains
integer(psb_ipk_), intent(out) :: info
!Local variables
integer(psb_ipk_) :: iam, np, i,j,k, ip, ipx, idx, sz, counter
integer(psb_ipk_) :: i,j,k, ipx, idx, counter
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret, icomm
integer(psb_mpk_), allocatable :: prcid(:), rvhd(:,:)
integer(psb_mpk_) :: ip, sz
integer(psb_mpk_) :: iam, np
call psb_info(ctxt,iam,np)
@ -1556,9 +1563,11 @@ contains
integer(psb_ipk_), intent(out) :: info
!Local variables
integer(psb_ipk_) :: iam, np, i,j,k, ip, ipx, idx, sz, counter
integer(psb_ipk_) :: i,j,k, ipx, idx, counter
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret, icomm
integer(psb_mpk_), allocatable :: prcid(:), rvhd(:,:)
integer(psb_mpk_) :: ip, sz
integer(psb_mpk_) :: iam, np
call psb_info(ctxt,iam,np)

@ -1861,8 +1861,8 @@ contains
integer(psb_mpk_), intent(inout), optional :: request
real(psb_dpk_), intent(inout) :: dat
real(psb_dpk_) :: dat_
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -1896,6 +1896,7 @@ contains
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#endif
end subroutine psb_dscan_sums
@ -1912,8 +1913,8 @@ contains
integer(psb_ipk_), intent(in), optional :: mode
integer(psb_mpk_), intent(inout), optional :: request
real(psb_dpk_) :: dat_
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -1948,6 +1949,7 @@ contains
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#else
dat = dzero
#endif
@ -1966,8 +1968,8 @@ contains
integer(psb_ipk_), intent(in), optional :: mode
integer(psb_mpk_), intent(inout), optional :: request
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -1996,11 +1998,12 @@ contains
else
if (collective_start) then
call mpi_iscan(dat_,dat,size(dat),&
& psb_mpi_r_dpk_,mpi_sum,icomm,request,info)
& psb_mpi_r_dpk_,mpi_sum,icomm,request,minfo)
else if (collective_end) then
call mpi_wait(request,status,info)
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#endif
end subroutine psb_dscan_sumv
@ -2017,8 +2020,8 @@ contains
integer(psb_ipk_), intent(in), optional :: mode
integer(psb_mpk_), intent(inout), optional :: request
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -2048,12 +2051,12 @@ contains
else
if (collective_start) then
call mpi_iexscan(dat_,dat,size(dat),&
& psb_mpi_r_dpk_,mpi_sum,icomm,request,info)
& psb_mpi_r_dpk_,mpi_sum,icomm,request,minfo)
else if (collective_end) then
call mpi_wait(request,status,info)
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#else
dat = dzero
#endif
@ -2068,7 +2071,9 @@ contains
integer(psb_mpk_), intent(in) :: bsdindx(:), brvindx(:), sdsz(:), rvsz(:)
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_) :: iam, np, i,j,k, ip, ipx, idx, sz
integer(psb_ipk_) :: i,j,k, ipx, idx
integer(psb_mpk_) :: ip, sz
integer(psb_mpk_) :: iam, np
call psb_info(ctxt,iam,np)
@ -2113,9 +2118,11 @@ contains
integer(psb_ipk_), intent(out) :: info
!Local variables
integer(psb_ipk_) :: iam, np, i,j,k, ip, ipx, idx, sz, counter
integer(psb_ipk_) :: i,j,k, ipx, idx, counter
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret, icomm
integer(psb_mpk_), allocatable :: prcid(:), rvhd(:,:)
integer(psb_mpk_) :: ip, sz
integer(psb_mpk_) :: iam, np
call psb_info(ctxt,iam,np)
@ -2196,9 +2203,11 @@ contains
integer(psb_ipk_), intent(out) :: info
!Local variables
integer(psb_ipk_) :: iam, np, i,j,k, ip, ipx, idx, sz, counter
integer(psb_ipk_) :: i,j,k, ipx, idx, counter
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret, icomm
integer(psb_mpk_), allocatable :: prcid(:), rvhd(:,:)
integer(psb_mpk_) :: ip, sz
integer(psb_mpk_) :: iam, np
call psb_info(ctxt,iam,np)

@ -1699,8 +1699,8 @@ contains
integer(psb_mpk_), intent(inout), optional :: request
integer(psb_epk_), intent(inout) :: dat
integer(psb_epk_) :: dat_
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -1734,6 +1734,7 @@ contains
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#endif
end subroutine psb_escan_sums
@ -1750,8 +1751,8 @@ contains
integer(psb_ipk_), intent(in), optional :: mode
integer(psb_mpk_), intent(inout), optional :: request
integer(psb_epk_) :: dat_
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -1786,6 +1787,7 @@ contains
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#else
dat = ezero
#endif
@ -1804,8 +1806,8 @@ contains
integer(psb_ipk_), intent(in), optional :: mode
integer(psb_mpk_), intent(inout), optional :: request
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -1834,11 +1836,12 @@ contains
else
if (collective_start) then
call mpi_iscan(dat_,dat,size(dat),&
& psb_mpi_epk_,mpi_sum,icomm,request,info)
& psb_mpi_epk_,mpi_sum,icomm,request,minfo)
else if (collective_end) then
call mpi_wait(request,status,info)
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#endif
end subroutine psb_escan_sumv
@ -1855,8 +1858,8 @@ contains
integer(psb_ipk_), intent(in), optional :: mode
integer(psb_mpk_), intent(inout), optional :: request
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -1886,12 +1889,12 @@ contains
else
if (collective_start) then
call mpi_iexscan(dat_,dat,size(dat),&
& psb_mpi_epk_,mpi_sum,icomm,request,info)
& psb_mpi_epk_,mpi_sum,icomm,request,minfo)
else if (collective_end) then
call mpi_wait(request,status,info)
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#else
dat = ezero
#endif
@ -1906,7 +1909,9 @@ contains
integer(psb_mpk_), intent(in) :: bsdindx(:), brvindx(:), sdsz(:), rvsz(:)
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_) :: iam, np, i,j,k, ip, ipx, idx, sz
integer(psb_ipk_) :: i,j,k, ipx, idx
integer(psb_mpk_) :: ip, sz
integer(psb_mpk_) :: iam, np
call psb_info(ctxt,iam,np)
@ -1951,9 +1956,11 @@ contains
integer(psb_ipk_), intent(out) :: info
!Local variables
integer(psb_ipk_) :: iam, np, i,j,k, ip, ipx, idx, sz, counter
integer(psb_ipk_) :: i,j,k, ipx, idx, counter
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret, icomm
integer(psb_mpk_), allocatable :: prcid(:), rvhd(:,:)
integer(psb_mpk_) :: ip, sz
integer(psb_mpk_) :: iam, np
call psb_info(ctxt,iam,np)
@ -2034,9 +2041,11 @@ contains
integer(psb_ipk_), intent(out) :: info
!Local variables
integer(psb_ipk_) :: iam, np, i,j,k, ip, ipx, idx, sz, counter
integer(psb_ipk_) :: i,j,k, ipx, idx, counter
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret, icomm
integer(psb_mpk_), allocatable :: prcid(:), rvhd(:,:)
integer(psb_mpk_) :: ip, sz
integer(psb_mpk_) :: iam, np
call psb_info(ctxt,iam,np)

@ -1699,8 +1699,8 @@ contains
integer(psb_mpk_), intent(inout), optional :: request
integer(psb_i2pk_), intent(inout) :: dat
integer(psb_i2pk_) :: dat_
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -1734,6 +1734,7 @@ contains
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#endif
end subroutine psb_i2scan_sums
@ -1750,8 +1751,8 @@ contains
integer(psb_ipk_), intent(in), optional :: mode
integer(psb_mpk_), intent(inout), optional :: request
integer(psb_i2pk_) :: dat_
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -1786,6 +1787,7 @@ contains
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#else
dat = i2zero
#endif
@ -1804,8 +1806,8 @@ contains
integer(psb_ipk_), intent(in), optional :: mode
integer(psb_mpk_), intent(inout), optional :: request
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -1834,11 +1836,12 @@ contains
else
if (collective_start) then
call mpi_iscan(dat_,dat,size(dat),&
& psb_mpi_i2pk_,mpi_sum,icomm,request,info)
& psb_mpi_i2pk_,mpi_sum,icomm,request,minfo)
else if (collective_end) then
call mpi_wait(request,status,info)
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#endif
end subroutine psb_i2scan_sumv
@ -1855,8 +1858,8 @@ contains
integer(psb_ipk_), intent(in), optional :: mode
integer(psb_mpk_), intent(inout), optional :: request
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -1886,12 +1889,12 @@ contains
else
if (collective_start) then
call mpi_iexscan(dat_,dat,size(dat),&
& psb_mpi_i2pk_,mpi_sum,icomm,request,info)
& psb_mpi_i2pk_,mpi_sum,icomm,request,minfo)
else if (collective_end) then
call mpi_wait(request,status,info)
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#else
dat = i2zero
#endif
@ -1906,7 +1909,9 @@ contains
integer(psb_mpk_), intent(in) :: bsdindx(:), brvindx(:), sdsz(:), rvsz(:)
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_) :: iam, np, i,j,k, ip, ipx, idx, sz
integer(psb_ipk_) :: i,j,k, ipx, idx
integer(psb_mpk_) :: ip, sz
integer(psb_mpk_) :: iam, np
call psb_info(ctxt,iam,np)
@ -1951,9 +1956,11 @@ contains
integer(psb_ipk_), intent(out) :: info
!Local variables
integer(psb_ipk_) :: iam, np, i,j,k, ip, ipx, idx, sz, counter
integer(psb_ipk_) :: i,j,k, ipx, idx, counter
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret, icomm
integer(psb_mpk_), allocatable :: prcid(:), rvhd(:,:)
integer(psb_mpk_) :: ip, sz
integer(psb_mpk_) :: iam, np
call psb_info(ctxt,iam,np)
@ -2034,9 +2041,11 @@ contains
integer(psb_ipk_), intent(out) :: info
!Local variables
integer(psb_ipk_) :: iam, np, i,j,k, ip, ipx, idx, sz, counter
integer(psb_ipk_) :: i,j,k, ipx, idx, counter
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret, icomm
integer(psb_mpk_), allocatable :: prcid(:), rvhd(:,:)
integer(psb_mpk_) :: ip, sz
integer(psb_mpk_) :: iam, np
call psb_info(ctxt,iam,np)

@ -1699,8 +1699,8 @@ contains
integer(psb_mpk_), intent(inout), optional :: request
integer(psb_mpk_), intent(inout) :: dat
integer(psb_mpk_) :: dat_
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -1734,6 +1734,7 @@ contains
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#endif
end subroutine psb_mscan_sums
@ -1750,8 +1751,8 @@ contains
integer(psb_ipk_), intent(in), optional :: mode
integer(psb_mpk_), intent(inout), optional :: request
integer(psb_mpk_) :: dat_
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -1786,6 +1787,7 @@ contains
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#else
dat = mzero
#endif
@ -1804,8 +1806,8 @@ contains
integer(psb_ipk_), intent(in), optional :: mode
integer(psb_mpk_), intent(inout), optional :: request
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -1834,11 +1836,12 @@ contains
else
if (collective_start) then
call mpi_iscan(dat_,dat,size(dat),&
& psb_mpi_mpk_,mpi_sum,icomm,request,info)
& psb_mpi_mpk_,mpi_sum,icomm,request,minfo)
else if (collective_end) then
call mpi_wait(request,status,info)
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#endif
end subroutine psb_mscan_sumv
@ -1855,8 +1858,8 @@ contains
integer(psb_ipk_), intent(in), optional :: mode
integer(psb_mpk_), intent(inout), optional :: request
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -1886,12 +1889,12 @@ contains
else
if (collective_start) then
call mpi_iexscan(dat_,dat,size(dat),&
& psb_mpi_mpk_,mpi_sum,icomm,request,info)
& psb_mpi_mpk_,mpi_sum,icomm,request,minfo)
else if (collective_end) then
call mpi_wait(request,status,info)
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#else
dat = mzero
#endif
@ -1906,7 +1909,9 @@ contains
integer(psb_mpk_), intent(in) :: bsdindx(:), brvindx(:), sdsz(:), rvsz(:)
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_) :: iam, np, i,j,k, ip, ipx, idx, sz
integer(psb_ipk_) :: i,j,k, ipx, idx
integer(psb_mpk_) :: ip, sz
integer(psb_mpk_) :: iam, np
call psb_info(ctxt,iam,np)
@ -1951,9 +1956,11 @@ contains
integer(psb_ipk_), intent(out) :: info
!Local variables
integer(psb_ipk_) :: iam, np, i,j,k, ip, ipx, idx, sz, counter
integer(psb_ipk_) :: i,j,k, ipx, idx, counter
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret, icomm
integer(psb_mpk_), allocatable :: prcid(:), rvhd(:,:)
integer(psb_mpk_) :: ip, sz
integer(psb_mpk_) :: iam, np
call psb_info(ctxt,iam,np)
@ -2034,9 +2041,11 @@ contains
integer(psb_ipk_), intent(out) :: info
!Local variables
integer(psb_ipk_) :: iam, np, i,j,k, ip, ipx, idx, sz, counter
integer(psb_ipk_) :: i,j,k, ipx, idx, counter
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret, icomm
integer(psb_mpk_), allocatable :: prcid(:), rvhd(:,:)
integer(psb_mpk_) :: ip, sz
integer(psb_mpk_) :: iam, np
call psb_info(ctxt,iam,np)

@ -263,7 +263,7 @@ module psi_penv_mod
interface psb_info
module procedure psb_info_mpik
end interface
#if defined(PSB_IPK4) && defined(PSB_LPK8)
#if (defined(PSB_IPK4) && defined(PSB_LPK8))||defined(PSB_IPK8)
interface psb_info
module procedure psb_info_epk
end interface
@ -918,7 +918,7 @@ contains
end subroutine psi_register_mpi_extras
#if defined(PSB_IPK4) && defined(PSB_LPK8)
#if (defined(PSB_IPK4) && defined(PSB_LPK8))||defined(PSB_IPK8)
subroutine psb_info_epk(ctxt,iam,np)
type(psb_ctxt_type), intent(in) :: ctxt

@ -1861,8 +1861,8 @@ contains
integer(psb_mpk_), intent(inout), optional :: request
real(psb_spk_), intent(inout) :: dat
real(psb_spk_) :: dat_
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -1896,6 +1896,7 @@ contains
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#endif
end subroutine psb_sscan_sums
@ -1912,8 +1913,8 @@ contains
integer(psb_ipk_), intent(in), optional :: mode
integer(psb_mpk_), intent(inout), optional :: request
real(psb_spk_) :: dat_
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -1948,6 +1949,7 @@ contains
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#else
dat = szero
#endif
@ -1966,8 +1968,8 @@ contains
integer(psb_ipk_), intent(in), optional :: mode
integer(psb_mpk_), intent(inout), optional :: request
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -1996,11 +1998,12 @@ contains
else
if (collective_start) then
call mpi_iscan(dat_,dat,size(dat),&
& psb_mpi_r_spk_,mpi_sum,icomm,request,info)
& psb_mpi_r_spk_,mpi_sum,icomm,request,minfo)
else if (collective_end) then
call mpi_wait(request,status,info)
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#endif
end subroutine psb_sscan_sumv
@ -2017,8 +2020,8 @@ contains
integer(psb_ipk_), intent(in), optional :: mode
integer(psb_mpk_), intent(inout), optional :: request
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -2048,12 +2051,12 @@ contains
else
if (collective_start) then
call mpi_iexscan(dat_,dat,size(dat),&
& psb_mpi_r_spk_,mpi_sum,icomm,request,info)
& psb_mpi_r_spk_,mpi_sum,icomm,request,minfo)
else if (collective_end) then
call mpi_wait(request,status,info)
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#else
dat = szero
#endif
@ -2068,7 +2071,9 @@ contains
integer(psb_mpk_), intent(in) :: bsdindx(:), brvindx(:), sdsz(:), rvsz(:)
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_) :: iam, np, i,j,k, ip, ipx, idx, sz
integer(psb_ipk_) :: i,j,k, ipx, idx
integer(psb_mpk_) :: ip, sz
integer(psb_mpk_) :: iam, np
call psb_info(ctxt,iam,np)
@ -2113,9 +2118,11 @@ contains
integer(psb_ipk_), intent(out) :: info
!Local variables
integer(psb_ipk_) :: iam, np, i,j,k, ip, ipx, idx, sz, counter
integer(psb_ipk_) :: i,j,k, ipx, idx, counter
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret, icomm
integer(psb_mpk_), allocatable :: prcid(:), rvhd(:,:)
integer(psb_mpk_) :: ip, sz
integer(psb_mpk_) :: iam, np
call psb_info(ctxt,iam,np)
@ -2196,9 +2203,11 @@ contains
integer(psb_ipk_), intent(out) :: info
!Local variables
integer(psb_ipk_) :: iam, np, i,j,k, ip, ipx, idx, sz, counter
integer(psb_ipk_) :: i,j,k, ipx, idx, counter
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret, icomm
integer(psb_mpk_), allocatable :: prcid(:), rvhd(:,:)
integer(psb_mpk_) :: ip, sz
integer(psb_mpk_) :: iam, np
call psb_info(ctxt,iam,np)

@ -1221,8 +1221,8 @@ contains
integer(psb_mpk_), intent(inout), optional :: request
complex(psb_dpk_), intent(inout) :: dat
complex(psb_dpk_) :: dat_
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -1256,6 +1256,7 @@ contains
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#endif
end subroutine psb_zscan_sums
@ -1272,8 +1273,8 @@ contains
integer(psb_ipk_), intent(in), optional :: mode
integer(psb_mpk_), intent(inout), optional :: request
complex(psb_dpk_) :: dat_
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -1308,6 +1309,7 @@ contains
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#else
dat = zzero
#endif
@ -1326,8 +1328,8 @@ contains
integer(psb_ipk_), intent(in), optional :: mode
integer(psb_mpk_), intent(inout), optional :: request
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -1356,11 +1358,12 @@ contains
else
if (collective_start) then
call mpi_iscan(dat_,dat,size(dat),&
& psb_mpi_c_dpk_,mpi_sum,icomm,request,info)
& psb_mpi_c_dpk_,mpi_sum,icomm,request,minfo)
else if (collective_end) then
call mpi_wait(request,status,info)
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#endif
end subroutine psb_zscan_sumv
@ -1377,8 +1380,8 @@ contains
integer(psb_ipk_), intent(in), optional :: mode
integer(psb_mpk_), intent(inout), optional :: request
integer(psb_ipk_) :: iam, np, info
integer(psb_mpk_) :: minfo
integer(psb_ipk_) :: info
integer(psb_mpk_) :: iam, np, minfo
integer(psb_mpk_) :: icomm
integer(psb_mpk_) :: status(mpi_status_size)
logical :: collective_start, collective_end, collective_sync
@ -1408,12 +1411,12 @@ contains
else
if (collective_start) then
call mpi_iexscan(dat_,dat,size(dat),&
& psb_mpi_c_dpk_,mpi_sum,icomm,request,info)
& psb_mpi_c_dpk_,mpi_sum,icomm,request,minfo)
else if (collective_end) then
call mpi_wait(request,status,info)
call mpi_wait(request,status,minfo)
end if
end if
info = minfo
#else
dat = zzero
#endif
@ -1428,7 +1431,9 @@ contains
integer(psb_mpk_), intent(in) :: bsdindx(:), brvindx(:), sdsz(:), rvsz(:)
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_) :: iam, np, i,j,k, ip, ipx, idx, sz
integer(psb_ipk_) :: i,j,k, ipx, idx
integer(psb_mpk_) :: ip, sz
integer(psb_mpk_) :: iam, np
call psb_info(ctxt,iam,np)
@ -1473,9 +1478,11 @@ contains
integer(psb_ipk_), intent(out) :: info
!Local variables
integer(psb_ipk_) :: iam, np, i,j,k, ip, ipx, idx, sz, counter
integer(psb_ipk_) :: i,j,k, ipx, idx, counter
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret, icomm
integer(psb_mpk_), allocatable :: prcid(:), rvhd(:,:)
integer(psb_mpk_) :: ip, sz
integer(psb_mpk_) :: iam, np
call psb_info(ctxt,iam,np)
@ -1556,9 +1563,11 @@ contains
integer(psb_ipk_), intent(out) :: info
!Local variables
integer(psb_ipk_) :: iam, np, i,j,k, ip, ipx, idx, sz, counter
integer(psb_ipk_) :: i,j,k, ipx, idx, counter
integer(psb_mpk_) :: proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret, icomm
integer(psb_mpk_), allocatable :: prcid(:), rvhd(:,:)
integer(psb_mpk_) :: ip, sz
integer(psb_mpk_) :: iam, np
call psb_info(ctxt,iam,np)

@ -155,7 +155,7 @@ module psb_const_mod
integer(psb_i2pk_), parameter :: i2zero=0, i2one=1
integer(psb_i2pk_), parameter :: i2two=2, i2three=3, i2mone=-1
integer(psb_ipk_), parameter :: psb_root_=0
integer(psb_mpk_), parameter :: psb_root_=0
real(psb_spk_), parameter :: szero=0.0_psb_spk_, sone=1.0_psb_spk_
real(psb_dpk_), parameter :: dzero=0.0_psb_dpk_, done=1.0_psb_dpk_
complex(psb_spk_), parameter :: czero=(0.0_psb_spk_,0.0_psb_spk_)

@ -15,7 +15,7 @@ subroutine psb_errcomm_m(ctxt, err)
use psb_error_mod, psb_protect_name => psb_errcomm
use psb_penv_mod
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_ipk_), intent(inout) :: err
integer(psb_mpk_), intent(inout) :: err
if (psb_get_global_checks()) call psb_amx(ctxt, err)

@ -87,8 +87,8 @@ module psi_i_mod
subroutine psi_i_csr_sort_dl(dl_ptr,c_dep_list,l_dep_list,ctxt,info)
import
implicit none
integer(psb_ipk_), intent(in) :: dl_ptr(0:)
integer(psb_ipk_), intent(inout) :: c_dep_list(:), l_dep_list(0:)
integer(psb_mpk_), intent(in) :: dl_ptr(0:), l_dep_list(0:)
integer(psb_ipk_), intent(inout) :: c_dep_list(:)
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_ipk_), intent(out) :: info
end subroutine psi_i_csr_sort_dl
@ -98,8 +98,10 @@ module psi_i_mod
subroutine psi_i_bld_glb_dep_list(ctxt,loc_dl,length_dl,c_dep_list,dl_ptr,info)
import
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_ipk_), intent(in) :: loc_dl(:), length_dl(0:)
integer(psb_ipk_), allocatable, intent(out) :: c_dep_list(:), dl_ptr(:)
integer(psb_ipk_), intent(in) :: loc_dl(:)
integer(psb_mpk_), intent(in) :: length_dl(0:)
integer(psb_mpk_), allocatable, intent(out) :: dl_ptr(:)
integer(psb_ipk_), allocatable, intent(out) :: c_dep_list(:)
integer(psb_ipk_), intent(out) :: info
end subroutine psi_i_bld_glb_dep_list
end interface
@ -110,7 +112,8 @@ module psi_i_mod
logical, intent(in) :: is_bld, is_upd
type(psb_ctxt_type), intent(in) :: ctxt
integer(psb_ipk_), intent(in) :: desc_str(:)
integer(psb_ipk_), allocatable, intent(out) :: loc_dl(:), length_dl(:)
integer(psb_ipk_), allocatable, intent(out) :: loc_dl(:)
integer(psb_mpk_), allocatable, intent(out) :: length_dl(:)
integer(psb_ipk_), intent(out) :: info
end subroutine psi_i_xtr_loc_dl
end interface

@ -1831,7 +1831,8 @@ contains
subroutine c_base_gthab(n,idx,alpha,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
complex(psb_spk_) :: alpha, beta, y(:)
class(psb_c_base_vect_type) :: x
@ -1851,7 +1852,8 @@ contains
subroutine c_base_gthzv_x(i,n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i,n
integer(psb_ipk_) :: i
integer(psb_mpk_) :: n
class(psb_i_base_vect_type) :: idx
complex(psb_spk_) :: y(:)
class(psb_c_base_vect_type) :: x
@ -1867,7 +1869,8 @@ contains
subroutine c_base_gthzbuf(i,n,idx,x)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i,n
integer(psb_ipk_) :: i
integer(psb_mpk_) :: n
class(psb_i_base_vect_type) :: idx
class(psb_c_base_vect_type) :: x
@ -1930,7 +1933,8 @@ contains
subroutine c_base_gthzv(n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
complex(psb_spk_) :: y(:)
class(psb_c_base_vect_type) :: x
@ -1955,7 +1959,8 @@ contains
subroutine c_base_sctb(n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
complex(psb_spk_) :: beta, x(:)
class(psb_c_base_vect_type) :: y
@ -1968,7 +1973,8 @@ contains
subroutine c_base_sctb_x(i,n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, n
integer(psb_mpk_) :: n
integer(psb_ipk_) :: i
class(psb_i_base_vect_type) :: idx
complex(psb_spk_) :: beta, x(:)
class(psb_c_base_vect_type) :: y
@ -1982,7 +1988,8 @@ contains
subroutine c_base_sctb_buf(i,n,idx,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, n
integer(psb_mpk_) :: n
integer(psb_ipk_) :: i
class(psb_i_base_vect_type) :: idx
complex(psb_spk_) :: beta
class(psb_c_base_vect_type) :: y
@ -3247,10 +3254,11 @@ contains
subroutine c_base_mlv_gthab(n,idx,alpha,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
complex(psb_spk_) :: alpha, beta, y(:)
class(psb_c_base_multivect_type) :: x
integer(psb_ipk_) :: nc
integer(psb_mpk_) :: nc
if (x%is_dev()) call x%sync()
if (.not.allocated(x%v)) then
@ -3272,7 +3280,8 @@ contains
subroutine c_base_mlv_gthzv_x(i,n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i,n
integer(psb_mpk_) :: n
integer(psb_ipk_) :: i
class(psb_i_base_vect_type) :: idx
complex(psb_spk_) :: y(:)
class(psb_c_base_multivect_type) :: x
@ -3294,10 +3303,11 @@ contains
subroutine c_base_mlv_gthzv(n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
complex(psb_spk_) :: y(:)
class(psb_c_base_multivect_type) :: x
integer(psb_ipk_) :: nc
integer(psb_mpk_) :: nc
if (x%is_dev()) call x%sync()
if (.not.allocated(x%v)) then
@ -3320,10 +3330,11 @@ contains
subroutine c_base_mlv_gthzm(n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
complex(psb_spk_) :: y(:,:)
class(psb_c_base_multivect_type) :: x
integer(psb_ipk_) :: nc
integer(psb_mpk_) :: nc
if (x%is_dev()) call x%sync()
if (.not.allocated(x%v)) then
@ -3341,7 +3352,8 @@ contains
subroutine c_base_mlv_gthzbuf(i,ixb,n,idx,x)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, ixb, n
integer(psb_mpk_) :: n
integer(psb_ipk_) :: i, ixb
class(psb_i_base_vect_type) :: idx
class(psb_c_base_multivect_type) :: x
integer(psb_ipk_) :: nc
@ -3373,10 +3385,11 @@ contains
subroutine c_base_mlv_sctb(n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
complex(psb_spk_) :: beta, x(:)
class(psb_c_base_multivect_type) :: y
integer(psb_ipk_) :: nc
integer(psb_mpk_) :: nc
if (y%is_dev()) call y%sync()
nc = psb_size(y%v,2_psb_ipk_)
@ -3388,10 +3401,11 @@ contains
subroutine c_base_mlv_sctbr2(n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
complex(psb_spk_) :: beta, x(:,:)
class(psb_c_base_multivect_type) :: y
integer(psb_ipk_) :: nc
integer(psb_mpk_) :: nc
if (y%is_dev()) call y%sync()
nc = y%get_ncols()
@ -3403,7 +3417,8 @@ contains
subroutine c_base_mlv_sctb_x(i,n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, n
integer(psb_mpk_) :: n
integer(psb_ipk_) :: i
class(psb_i_base_vect_type) :: idx
complex( psb_spk_) :: beta, x(:)
class(psb_c_base_multivect_type) :: y
@ -3415,7 +3430,8 @@ contains
subroutine c_base_mlv_sctb_buf(i,iyb,n,idx,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, iyb, n
integer(psb_mpk_) :: n
integer(psb_ipk_) :: i, iyb
class(psb_i_base_vect_type) :: idx
complex(psb_spk_) :: beta
class(psb_c_base_multivect_type) :: y

@ -491,7 +491,8 @@ contains
subroutine c_vect_gthab(n,idx,alpha,x,beta,y)
use psi_serial_mod
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
complex(psb_spk_) :: alpha, beta, y(:)
class(psb_c_vect_type) :: x
@ -502,7 +503,8 @@ contains
subroutine c_vect_gthzv(n,idx,x,y)
use psi_serial_mod
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
complex(psb_spk_) :: y(:)
class(psb_c_vect_type) :: x
@ -513,7 +515,8 @@ contains
subroutine c_vect_sctb(n,idx,x,beta,y)
use psi_serial_mod
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
complex(psb_spk_) :: beta, x(:)
class(psb_c_vect_type) :: y
@ -1649,7 +1652,8 @@ contains
subroutine c_mvect_gthab(n,idx,alpha,x,beta,y)
use psi_serial_mod
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
complex(psb_spk_) :: alpha, beta, y(:)
class(psb_c_multivect_type) :: x
@ -1660,7 +1664,8 @@ contains
subroutine c_mvect_gthzv(n,idx,x,y)
use psi_serial_mod
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
complex(psb_spk_) :: y(:)
class(psb_c_multivect_type) :: x
@ -1671,7 +1676,8 @@ contains
subroutine c_mvect_gthzv_x(i,n,idx,x,y)
use psi_serial_mod
integer(psb_ipk_) :: i,n
integer(psb_mpk_) :: n
integer(psb_ipk_) :: i
class(psb_i_base_vect_type) :: idx
complex(psb_spk_) :: y(:)
class(psb_c_multivect_type) :: x
@ -1683,7 +1689,8 @@ contains
subroutine c_mvect_sctb(n,idx,x,beta,y)
use psi_serial_mod
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
complex(psb_spk_) :: beta, x(:)
class(psb_c_multivect_type) :: y
@ -1694,7 +1701,8 @@ contains
subroutine c_mvect_sctb_x(i,n,idx,x,beta,y)
use psi_serial_mod
integer(psb_ipk_) :: i, n
integer(psb_mpk_) :: n
integer(psb_ipk_) :: i
class(psb_i_base_vect_type) :: idx
complex(psb_spk_) :: beta, x(:)
class(psb_c_multivect_type) :: y

@ -1918,7 +1918,8 @@ contains
subroutine d_base_gthab(n,idx,alpha,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
real(psb_dpk_) :: alpha, beta, y(:)
class(psb_d_base_vect_type) :: x
@ -1938,7 +1939,8 @@ contains
subroutine d_base_gthzv_x(i,n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i,n
integer(psb_ipk_) :: i
integer(psb_mpk_) :: n
class(psb_i_base_vect_type) :: idx
real(psb_dpk_) :: y(:)
class(psb_d_base_vect_type) :: x
@ -1954,7 +1956,8 @@ contains
subroutine d_base_gthzbuf(i,n,idx,x)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i,n
integer(psb_ipk_) :: i
integer(psb_mpk_) :: n
class(psb_i_base_vect_type) :: idx
class(psb_d_base_vect_type) :: x
@ -2017,7 +2020,8 @@ contains
subroutine d_base_gthzv(n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
real(psb_dpk_) :: y(:)
class(psb_d_base_vect_type) :: x
@ -2042,7 +2046,8 @@ contains
subroutine d_base_sctb(n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
real(psb_dpk_) :: beta, x(:)
class(psb_d_base_vect_type) :: y
@ -2055,7 +2060,8 @@ contains
subroutine d_base_sctb_x(i,n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, n
integer(psb_mpk_) :: n
integer(psb_ipk_) :: i
class(psb_i_base_vect_type) :: idx
real(psb_dpk_) :: beta, x(:)
class(psb_d_base_vect_type) :: y
@ -2069,7 +2075,8 @@ contains
subroutine d_base_sctb_buf(i,n,idx,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, n
integer(psb_mpk_) :: n
integer(psb_ipk_) :: i
class(psb_i_base_vect_type) :: idx
real(psb_dpk_) :: beta
class(psb_d_base_vect_type) :: y
@ -3426,10 +3433,11 @@ contains
subroutine d_base_mlv_gthab(n,idx,alpha,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
real(psb_dpk_) :: alpha, beta, y(:)
class(psb_d_base_multivect_type) :: x
integer(psb_ipk_) :: nc
integer(psb_mpk_) :: nc
if (x%is_dev()) call x%sync()
if (.not.allocated(x%v)) then
@ -3451,7 +3459,8 @@ contains
subroutine d_base_mlv_gthzv_x(i,n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i,n
integer(psb_mpk_) :: n
integer(psb_ipk_) :: i
class(psb_i_base_vect_type) :: idx
real(psb_dpk_) :: y(:)
class(psb_d_base_multivect_type) :: x
@ -3473,10 +3482,11 @@ contains
subroutine d_base_mlv_gthzv(n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
real(psb_dpk_) :: y(:)
class(psb_d_base_multivect_type) :: x
integer(psb_ipk_) :: nc
integer(psb_mpk_) :: nc
if (x%is_dev()) call x%sync()
if (.not.allocated(x%v)) then
@ -3499,10 +3509,11 @@ contains
subroutine d_base_mlv_gthzm(n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
real(psb_dpk_) :: y(:,:)
class(psb_d_base_multivect_type) :: x
integer(psb_ipk_) :: nc
integer(psb_mpk_) :: nc
if (x%is_dev()) call x%sync()
if (.not.allocated(x%v)) then
@ -3520,7 +3531,8 @@ contains
subroutine d_base_mlv_gthzbuf(i,ixb,n,idx,x)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, ixb, n
integer(psb_mpk_) :: n
integer(psb_ipk_) :: i, ixb
class(psb_i_base_vect_type) :: idx
class(psb_d_base_multivect_type) :: x
integer(psb_ipk_) :: nc
@ -3552,10 +3564,11 @@ contains
subroutine d_base_mlv_sctb(n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
real(psb_dpk_) :: beta, x(:)
class(psb_d_base_multivect_type) :: y
integer(psb_ipk_) :: nc
integer(psb_mpk_) :: nc
if (y%is_dev()) call y%sync()
nc = psb_size(y%v,2_psb_ipk_)
@ -3567,10 +3580,11 @@ contains
subroutine d_base_mlv_sctbr2(n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_mpk_) :: n
integer(psb_ipk_) :: idx(:)
real(psb_dpk_) :: beta, x(:,:)
class(psb_d_base_multivect_type) :: y
integer(psb_ipk_) :: nc
integer(psb_mpk_) :: nc
if (y%is_dev()) call y%sync()
nc = y%get_ncols()
@ -3582,7 +3596,8 @@ contains
subroutine d_base_mlv_sctb_x(i,n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, n
integer(psb_mpk_) :: n
integer(psb_ipk_) :: i
class(psb_i_base_vect_type) :: idx
real( psb_dpk_) :: beta, x(:)
class(psb_d_base_multivect_type) :: y
@ -3594,7 +3609,8 @@ contains
subroutine d_base_mlv_sctb_buf(i,iyb,n,idx,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, iyb, n
integer(psb_mpk_) :: n
integer(psb_ipk_) :: i, iyb
class(psb_i_base_vect_type) :: idx
real(psb_dpk_) :: beta
class(psb_d_base_multivect_type) :: y

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save