diff --git a/base/comm/psb_cspgather.F90 b/base/comm/psb_cspgather.F90 index 322b0704..d8dc7a16 100644 --- a/base/comm/psb_cspgather.F90 +++ b/base/comm/psb_cspgather.F90 @@ -51,10 +51,11 @@ subroutine psb_csp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,keep logical, intent(in), optional :: keepnum,keeploc type(psb_c_coo_sparse_mat) :: loc_coo, glob_coo - integer(psb_mpik_) :: ictxt,np,me, icomm, minfo + integer(psb_ipk_) :: ictxt,np,me integer(psb_ipk_) :: err_act, dupl_, nrg, ncg, nzg - integer(psb_ipk_) :: ip, ndx,naggrm1,naggrp1, i, j, k, nzl + integer(psb_ipk_) :: ip,naggrm1,naggrp1, i, j, k, nzl logical :: keepnum_, keeploc_ + integer(psb_mpik_) :: icomm, minfo, ndx integer(psb_mpik_), allocatable :: nzbr(:), idisp(:) integer(psb_ipk_) :: ierr(5) character(len=20) :: name @@ -112,13 +113,15 @@ subroutine psb_csp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,keep idisp(ip) = sum(nzbr(1:ip-1)) enddo ndx = nzbr(me+1) - call mpi_allgatherv(loc_coo%val,ndx,psb_mpi_c_spk_,& + call mpi_allgatherv(loc_coo%val,ndx,mpi_complex,& & glob_coo%val,nzbr,idisp,& - & psb_mpi_c_spk_,icomm,minfo) - if (minfo == psb_success_) call mpi_allgatherv(loc_coo%ia,ndx,psb_mpi_ipk_integer,& + & mpi_complex,icomm,minfo) + if (minfo == psb_success_) call & + & mpi_allgatherv(loc_coo%ia,ndx,psb_mpi_ipk_integer,& & glob_coo%ia,nzbr,idisp,& & psb_mpi_ipk_integer,icomm,minfo) - if (minfo == psb_success_) call mpi_allgatherv(loc_coo%ja,ndx,psb_mpi_ipk_integer,& + if (minfo == psb_success_) call & + & mpi_allgatherv(loc_coo%ja,ndx,psb_mpi_ipk_integer,& & glob_coo%ja,nzbr,idisp,& & psb_mpi_ipk_integer,icomm,minfo) @@ -135,6 +138,8 @@ subroutine psb_csp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,keep else write(psb_err_unit,*) 'SP_ALLGATHER: Not implemented yet with keepnum ',keepnum_ + info = -1 + goto 9999 end if diff --git a/base/comm/psb_dspgather.F90 b/base/comm/psb_dspgather.F90 index 8dbe4e35..b2e9fe06 100644 --- a/base/comm/psb_dspgather.F90 +++ b/base/comm/psb_dspgather.F90 @@ -51,10 +51,11 @@ subroutine psb_dsp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,keep logical, intent(in), optional :: keepnum,keeploc type(psb_d_coo_sparse_mat) :: loc_coo, glob_coo - integer(psb_mpik_) :: ictxt,np,me, icomm, minfo + integer(psb_ipk_) :: ictxt,np,me integer(psb_ipk_) :: err_act, dupl_, nrg, ncg, nzg - integer(psb_ipk_) :: ip, ndx,naggrm1,naggrp1, i, j, k, nzl + integer(psb_ipk_) :: ip,naggrm1,naggrp1, i, j, k, nzl logical :: keepnum_, keeploc_ + integer(psb_mpik_) :: icomm, minfo, ndx integer(psb_mpik_), allocatable :: nzbr(:), idisp(:) integer(psb_ipk_) :: ierr(5) character(len=20) :: name @@ -112,13 +113,15 @@ subroutine psb_dsp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,keep idisp(ip) = sum(nzbr(1:ip-1)) enddo ndx = nzbr(me+1) - call mpi_allgatherv(loc_coo%val,ndx,psb_mpi_r_dpk_,& + call mpi_allgatherv(loc_coo%val,ndx,mpi_double_precision,& & glob_coo%val,nzbr,idisp,& - & psb_mpi_r_dpk_,icomm,minfo) - if (minfo == psb_success_) call mpi_allgatherv(loc_coo%ia,ndx,psb_mpi_ipk_integer,& + & mpi_double_precision,icomm,minfo) + if (minfo == psb_success_) call & + & mpi_allgatherv(loc_coo%ia,ndx,psb_mpi_ipk_integer,& & glob_coo%ia,nzbr,idisp,& & psb_mpi_ipk_integer,icomm,minfo) - if (minfo == psb_success_) call mpi_allgatherv(loc_coo%ja,ndx,psb_mpi_ipk_integer,& + if (minfo == psb_success_) call & + & mpi_allgatherv(loc_coo%ja,ndx,psb_mpi_ipk_integer,& & glob_coo%ja,nzbr,idisp,& & psb_mpi_ipk_integer,icomm,minfo) @@ -135,6 +138,8 @@ subroutine psb_dsp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,keep else write(psb_err_unit,*) 'SP_ALLGATHER: Not implemented yet with keepnum ',keepnum_ + info = -1 + goto 9999 end if diff --git a/base/comm/psb_sspgather.F90 b/base/comm/psb_sspgather.F90 index 834656af..7894fb95 100644 --- a/base/comm/psb_sspgather.F90 +++ b/base/comm/psb_sspgather.F90 @@ -51,10 +51,11 @@ subroutine psb_ssp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,keep logical, intent(in), optional :: keepnum,keeploc type(psb_s_coo_sparse_mat) :: loc_coo, glob_coo - integer(psb_mpik_) :: ictxt,np,me, icomm, minfo + integer(psb_ipk_) :: ictxt,np,me integer(psb_ipk_) :: err_act, dupl_, nrg, ncg, nzg - integer(psb_ipk_) :: ip, ndx,naggrm1,naggrp1, i, j, k, nzl + integer(psb_ipk_) :: ip,naggrm1,naggrp1, i, j, k, nzl logical :: keepnum_, keeploc_ + integer(psb_mpik_) :: icomm, minfo, ndx integer(psb_mpik_), allocatable :: nzbr(:), idisp(:) integer(psb_ipk_) :: ierr(5) character(len=20) :: name @@ -112,13 +113,15 @@ subroutine psb_ssp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,keep idisp(ip) = sum(nzbr(1:ip-1)) enddo ndx = nzbr(me+1) - call mpi_allgatherv(loc_coo%val,ndx,psb_mpi_r_spk_,& + call mpi_allgatherv(loc_coo%val,ndx,mpi_real,& & glob_coo%val,nzbr,idisp,& - & psb_mpi_r_spk_,icomm,minfo) - if (minfo == psb_success_) call mpi_allgatherv(loc_coo%ia,ndx,psb_mpi_ipk_integer,& + & mpi_real,icomm,minfo) + if (minfo == psb_success_) call & + & mpi_allgatherv(loc_coo%ia,ndx,psb_mpi_ipk_integer,& & glob_coo%ia,nzbr,idisp,& & psb_mpi_ipk_integer,icomm,minfo) - if (minfo == psb_success_) call mpi_allgatherv(loc_coo%ja,ndx,psb_mpi_ipk_integer,& + if (minfo == psb_success_) call & + & mpi_allgatherv(loc_coo%ja,ndx,psb_mpi_ipk_integer,& & glob_coo%ja,nzbr,idisp,& & psb_mpi_ipk_integer,icomm,minfo) @@ -135,6 +138,8 @@ subroutine psb_ssp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,keep else write(psb_err_unit,*) 'SP_ALLGATHER: Not implemented yet with keepnum ',keepnum_ + info = -1 + goto 9999 end if diff --git a/base/comm/psb_zspgather.F90 b/base/comm/psb_zspgather.F90 index 30620a33..14aea941 100644 --- a/base/comm/psb_zspgather.F90 +++ b/base/comm/psb_zspgather.F90 @@ -51,10 +51,11 @@ subroutine psb_zsp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,keep logical, intent(in), optional :: keepnum,keeploc type(psb_z_coo_sparse_mat) :: loc_coo, glob_coo - integer(psb_mpik_) :: ictxt,np,me, icomm, minfo + integer(psb_ipk_) :: ictxt,np,me integer(psb_ipk_) :: err_act, dupl_, nrg, ncg, nzg - integer(psb_ipk_) :: ip, ndx,naggrm1,naggrp1, i, j, k, nzl + integer(psb_ipk_) :: ip,naggrm1,naggrp1, i, j, k, nzl logical :: keepnum_, keeploc_ + integer(psb_mpik_) :: icomm, minfo, ndx integer(psb_mpik_), allocatable :: nzbr(:), idisp(:) integer(psb_ipk_) :: ierr(5) character(len=20) :: name @@ -112,13 +113,15 @@ subroutine psb_zsp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,keep idisp(ip) = sum(nzbr(1:ip-1)) enddo ndx = nzbr(me+1) - call mpi_allgatherv(loc_coo%val,ndx,psb_mpi_c_dpk_,& + call mpi_allgatherv(loc_coo%val,ndx,mpi_double_complex,& & glob_coo%val,nzbr,idisp,& - & psb_mpi_c_dpk_,icomm,minfo) - if (minfo == psb_success_) call mpi_allgatherv(loc_coo%ia,ndx,psb_mpi_ipk_integer,& + & mpi_double_complex,icomm,minfo) + if (minfo == psb_success_) call & + & mpi_allgatherv(loc_coo%ia,ndx,psb_mpi_ipk_integer,& & glob_coo%ia,nzbr,idisp,& & psb_mpi_ipk_integer,icomm,minfo) - if (minfo == psb_success_) call mpi_allgatherv(loc_coo%ja,ndx,psb_mpi_ipk_integer,& + if (minfo == psb_success_) call & + & mpi_allgatherv(loc_coo%ja,ndx,psb_mpi_ipk_integer,& & glob_coo%ja,nzbr,idisp,& & psb_mpi_ipk_integer,icomm,minfo) @@ -135,6 +138,8 @@ subroutine psb_zsp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,keep else write(psb_err_unit,*) 'SP_ALLGATHER: Not implemented yet with keepnum ',keepnum_ + info = -1 + goto 9999 end if