diff --git a/mlprec/impl/aggregator/mld_c_dec_aggregator_mat_asb.f90 b/mlprec/impl/aggregator/mld_c_dec_aggregator_mat_asb.f90 index e0c20250..6057992a 100644 --- a/mlprec/impl/aggregator/mld_c_dec_aggregator_mat_asb.f90 +++ b/mlprec/impl/aggregator/mld_c_dec_aggregator_mat_asb.f90 @@ -92,7 +92,7 @@ subroutine mld_c_dec_aggregator_mat_asb(ag,parms,a,desc_a,ilaggr,nlaggr,& class(mld_c_dec_aggregator_type), target, intent(inout) :: ag type(mld_sml_parms), intent(inout) :: parms type(psb_cspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(psb_lcspmat_type), intent(inout) :: op_prol, ac,op_restr type(psb_desc_type), intent(inout) :: desc_ac diff --git a/mlprec/impl/aggregator/mld_c_dec_aggregator_mat_bld.f90 b/mlprec/impl/aggregator/mld_c_dec_aggregator_mat_bld.f90 index 1a73cca2..964bf374 100644 --- a/mlprec/impl/aggregator/mld_c_dec_aggregator_mat_bld.f90 +++ b/mlprec/impl/aggregator/mld_c_dec_aggregator_mat_bld.f90 @@ -142,7 +142,7 @@ subroutine mld_c_dec_aggregator_mat_bld(ag,parms,a,desc_a,ilaggr,nlaggr,ac,op_p class(mld_c_dec_aggregator_type), target, intent(inout) :: ag type(mld_sml_parms), intent(inout) :: parms type(psb_cspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(psb_lcspmat_type), intent(inout) :: op_prol type(psb_lcspmat_type), intent(out) :: ac,op_restr diff --git a/mlprec/impl/aggregator/mld_c_spmm_bld_inner.f90 b/mlprec/impl/aggregator/mld_c_spmm_bld_inner.f90 index ec9dc221..eb2da61e 100644 --- a/mlprec/impl/aggregator/mld_c_spmm_bld_inner.f90 +++ b/mlprec/impl/aggregator/mld_c_spmm_bld_inner.f90 @@ -62,7 +62,7 @@ subroutine mld_c_spmm_bld_inner(a_csr,desc_a,nlaggr,parms,ac,& integer(psb_ipk_) :: debug_level, debug_unit, naggr integer(psb_lpk_) :: nrow, nglob, ncol, ntaggr, nzl, ip, & & nzt, naggrm1, naggrp1, i, k - integer(psb_lpk_) :: nrsave, ncsave, nzsave, nza, nrpsave, ncpsave, nzpsave + integer(psb_lpk_) :: nrsave, ncsave, nzsave, nza logical, parameter :: do_timings=.true., oldstyle=.false., debug=.false. integer(psb_ipk_), save :: idx_spspmm=-1 @@ -89,10 +89,6 @@ subroutine mld_c_spmm_bld_inner(a_csr,desc_a,nlaggr,parms,ac,& naggrm1 = sum(nlaggr(1:me)) naggrp1 = sum(nlaggr(1:me+1)) !write(0,*)me,' ',name,' input sizes',nlaggr(:),':',naggr - nrpsave = coo_prol%get_nrows() - ncpsave = coo_prol%get_ncols() - nzpsave = coo_prol%get_nzeros() - !write(0,*)me,' ',name,' input coo_prol ',nrpsave,ncpsave,nzpsave ! ! Here COO_PROL should be with GLOBAL indices on the cols @@ -205,7 +201,7 @@ subroutine mld_c_spmm_bld_inner(a_csr,desc_a,nlaggr,parms,ac,& if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'Done smooth_aggregate ' + & 'Done spmm_bld_inner ' call psb_erractionrestore(err_act) return diff --git a/mlprec/impl/aggregator/mld_d_dec_aggregator_mat_asb.f90 b/mlprec/impl/aggregator/mld_d_dec_aggregator_mat_asb.f90 index 90a12d83..6fab2ee9 100644 --- a/mlprec/impl/aggregator/mld_d_dec_aggregator_mat_asb.f90 +++ b/mlprec/impl/aggregator/mld_d_dec_aggregator_mat_asb.f90 @@ -92,7 +92,7 @@ subroutine mld_d_dec_aggregator_mat_asb(ag,parms,a,desc_a,ilaggr,nlaggr,& class(mld_d_dec_aggregator_type), target, intent(inout) :: ag type(mld_dml_parms), intent(inout) :: parms type(psb_dspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(psb_ldspmat_type), intent(inout) :: op_prol, ac,op_restr type(psb_desc_type), intent(inout) :: desc_ac diff --git a/mlprec/impl/aggregator/mld_d_dec_aggregator_mat_bld.f90 b/mlprec/impl/aggregator/mld_d_dec_aggregator_mat_bld.f90 index b0317d76..fa8bd60b 100644 --- a/mlprec/impl/aggregator/mld_d_dec_aggregator_mat_bld.f90 +++ b/mlprec/impl/aggregator/mld_d_dec_aggregator_mat_bld.f90 @@ -142,7 +142,7 @@ subroutine mld_d_dec_aggregator_mat_bld(ag,parms,a,desc_a,ilaggr,nlaggr,ac,op_p class(mld_d_dec_aggregator_type), target, intent(inout) :: ag type(mld_dml_parms), intent(inout) :: parms type(psb_dspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(psb_ldspmat_type), intent(inout) :: op_prol type(psb_ldspmat_type), intent(out) :: ac,op_restr diff --git a/mlprec/impl/aggregator/mld_d_spmm_bld_inner.f90 b/mlprec/impl/aggregator/mld_d_spmm_bld_inner.f90 index bd79f475..c9cca92c 100644 --- a/mlprec/impl/aggregator/mld_d_spmm_bld_inner.f90 +++ b/mlprec/impl/aggregator/mld_d_spmm_bld_inner.f90 @@ -62,7 +62,7 @@ subroutine mld_d_spmm_bld_inner(a_csr,desc_a,nlaggr,parms,ac,& integer(psb_ipk_) :: debug_level, debug_unit, naggr integer(psb_lpk_) :: nrow, nglob, ncol, ntaggr, nzl, ip, & & nzt, naggrm1, naggrp1, i, k - integer(psb_lpk_) :: nrsave, ncsave, nzsave, nza, nrpsave, ncpsave, nzpsave + integer(psb_lpk_) :: nrsave, ncsave, nzsave, nza logical, parameter :: do_timings=.true., oldstyle=.false., debug=.false. integer(psb_ipk_), save :: idx_spspmm=-1 @@ -89,10 +89,6 @@ subroutine mld_d_spmm_bld_inner(a_csr,desc_a,nlaggr,parms,ac,& naggrm1 = sum(nlaggr(1:me)) naggrp1 = sum(nlaggr(1:me+1)) !write(0,*)me,' ',name,' input sizes',nlaggr(:),':',naggr - nrpsave = coo_prol%get_nrows() - ncpsave = coo_prol%get_ncols() - nzpsave = coo_prol%get_nzeros() - !write(0,*)me,' ',name,' input coo_prol ',nrpsave,ncpsave,nzpsave ! ! Here COO_PROL should be with GLOBAL indices on the cols @@ -205,7 +201,7 @@ subroutine mld_d_spmm_bld_inner(a_csr,desc_a,nlaggr,parms,ac,& if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'Done smooth_aggregate ' + & 'Done spmm_bld_inner ' call psb_erractionrestore(err_act) return diff --git a/mlprec/impl/aggregator/mld_s_dec_aggregator_mat_asb.f90 b/mlprec/impl/aggregator/mld_s_dec_aggregator_mat_asb.f90 index 15f2d347..254cc55a 100644 --- a/mlprec/impl/aggregator/mld_s_dec_aggregator_mat_asb.f90 +++ b/mlprec/impl/aggregator/mld_s_dec_aggregator_mat_asb.f90 @@ -92,7 +92,7 @@ subroutine mld_s_dec_aggregator_mat_asb(ag,parms,a,desc_a,ilaggr,nlaggr,& class(mld_s_dec_aggregator_type), target, intent(inout) :: ag type(mld_sml_parms), intent(inout) :: parms type(psb_sspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(psb_lsspmat_type), intent(inout) :: op_prol, ac,op_restr type(psb_desc_type), intent(inout) :: desc_ac diff --git a/mlprec/impl/aggregator/mld_s_dec_aggregator_mat_bld.f90 b/mlprec/impl/aggregator/mld_s_dec_aggregator_mat_bld.f90 index e1008f91..23848360 100644 --- a/mlprec/impl/aggregator/mld_s_dec_aggregator_mat_bld.f90 +++ b/mlprec/impl/aggregator/mld_s_dec_aggregator_mat_bld.f90 @@ -142,7 +142,7 @@ subroutine mld_s_dec_aggregator_mat_bld(ag,parms,a,desc_a,ilaggr,nlaggr,ac,op_p class(mld_s_dec_aggregator_type), target, intent(inout) :: ag type(mld_sml_parms), intent(inout) :: parms type(psb_sspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(psb_lsspmat_type), intent(inout) :: op_prol type(psb_lsspmat_type), intent(out) :: ac,op_restr diff --git a/mlprec/impl/aggregator/mld_s_spmm_bld_inner.f90 b/mlprec/impl/aggregator/mld_s_spmm_bld_inner.f90 index d7acb319..925f8207 100644 --- a/mlprec/impl/aggregator/mld_s_spmm_bld_inner.f90 +++ b/mlprec/impl/aggregator/mld_s_spmm_bld_inner.f90 @@ -62,7 +62,7 @@ subroutine mld_s_spmm_bld_inner(a_csr,desc_a,nlaggr,parms,ac,& integer(psb_ipk_) :: debug_level, debug_unit, naggr integer(psb_lpk_) :: nrow, nglob, ncol, ntaggr, nzl, ip, & & nzt, naggrm1, naggrp1, i, k - integer(psb_lpk_) :: nrsave, ncsave, nzsave, nza, nrpsave, ncpsave, nzpsave + integer(psb_lpk_) :: nrsave, ncsave, nzsave, nza logical, parameter :: do_timings=.true., oldstyle=.false., debug=.false. integer(psb_ipk_), save :: idx_spspmm=-1 @@ -89,10 +89,6 @@ subroutine mld_s_spmm_bld_inner(a_csr,desc_a,nlaggr,parms,ac,& naggrm1 = sum(nlaggr(1:me)) naggrp1 = sum(nlaggr(1:me+1)) !write(0,*)me,' ',name,' input sizes',nlaggr(:),':',naggr - nrpsave = coo_prol%get_nrows() - ncpsave = coo_prol%get_ncols() - nzpsave = coo_prol%get_nzeros() - !write(0,*)me,' ',name,' input coo_prol ',nrpsave,ncpsave,nzpsave ! ! Here COO_PROL should be with GLOBAL indices on the cols @@ -205,7 +201,7 @@ subroutine mld_s_spmm_bld_inner(a_csr,desc_a,nlaggr,parms,ac,& if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'Done smooth_aggregate ' + & 'Done spmm_bld_inner ' call psb_erractionrestore(err_act) return diff --git a/mlprec/impl/aggregator/mld_z_dec_aggregator_mat_asb.f90 b/mlprec/impl/aggregator/mld_z_dec_aggregator_mat_asb.f90 index a71473a7..fcc10cea 100644 --- a/mlprec/impl/aggregator/mld_z_dec_aggregator_mat_asb.f90 +++ b/mlprec/impl/aggregator/mld_z_dec_aggregator_mat_asb.f90 @@ -92,7 +92,7 @@ subroutine mld_z_dec_aggregator_mat_asb(ag,parms,a,desc_a,ilaggr,nlaggr,& class(mld_z_dec_aggregator_type), target, intent(inout) :: ag type(mld_dml_parms), intent(inout) :: parms type(psb_zspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(psb_lzspmat_type), intent(inout) :: op_prol, ac,op_restr type(psb_desc_type), intent(inout) :: desc_ac diff --git a/mlprec/impl/aggregator/mld_z_dec_aggregator_mat_bld.f90 b/mlprec/impl/aggregator/mld_z_dec_aggregator_mat_bld.f90 index 219049eb..2a1dc1fa 100644 --- a/mlprec/impl/aggregator/mld_z_dec_aggregator_mat_bld.f90 +++ b/mlprec/impl/aggregator/mld_z_dec_aggregator_mat_bld.f90 @@ -142,7 +142,7 @@ subroutine mld_z_dec_aggregator_mat_bld(ag,parms,a,desc_a,ilaggr,nlaggr,ac,op_p class(mld_z_dec_aggregator_type), target, intent(inout) :: ag type(mld_dml_parms), intent(inout) :: parms type(psb_zspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(psb_lzspmat_type), intent(inout) :: op_prol type(psb_lzspmat_type), intent(out) :: ac,op_restr diff --git a/mlprec/impl/aggregator/mld_z_spmm_bld_inner.f90 b/mlprec/impl/aggregator/mld_z_spmm_bld_inner.f90 index 0fbcb9ad..d7f3308d 100644 --- a/mlprec/impl/aggregator/mld_z_spmm_bld_inner.f90 +++ b/mlprec/impl/aggregator/mld_z_spmm_bld_inner.f90 @@ -62,7 +62,7 @@ subroutine mld_z_spmm_bld_inner(a_csr,desc_a,nlaggr,parms,ac,& integer(psb_ipk_) :: debug_level, debug_unit, naggr integer(psb_lpk_) :: nrow, nglob, ncol, ntaggr, nzl, ip, & & nzt, naggrm1, naggrp1, i, k - integer(psb_lpk_) :: nrsave, ncsave, nzsave, nza, nrpsave, ncpsave, nzpsave + integer(psb_lpk_) :: nrsave, ncsave, nzsave, nza logical, parameter :: do_timings=.true., oldstyle=.false., debug=.false. integer(psb_ipk_), save :: idx_spspmm=-1 @@ -89,10 +89,6 @@ subroutine mld_z_spmm_bld_inner(a_csr,desc_a,nlaggr,parms,ac,& naggrm1 = sum(nlaggr(1:me)) naggrp1 = sum(nlaggr(1:me+1)) !write(0,*)me,' ',name,' input sizes',nlaggr(:),':',naggr - nrpsave = coo_prol%get_nrows() - ncpsave = coo_prol%get_ncols() - nzpsave = coo_prol%get_nzeros() - !write(0,*)me,' ',name,' input coo_prol ',nrpsave,ncpsave,nzpsave ! ! Here COO_PROL should be with GLOBAL indices on the cols @@ -205,7 +201,7 @@ subroutine mld_z_spmm_bld_inner(a_csr,desc_a,nlaggr,parms,ac,& if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'Done smooth_aggregate ' + & 'Done spmm_bld_inner ' call psb_erractionrestore(err_act) return diff --git a/mlprec/impl/level/mld_c_base_onelev_mat_asb.f90 b/mlprec/impl/level/mld_c_base_onelev_mat_asb.f90 index 0a5a98f0..f0c2ae53 100644 --- a/mlprec/impl/level/mld_c_base_onelev_mat_asb.f90 +++ b/mlprec/impl/level/mld_c_base_onelev_mat_asb.f90 @@ -94,7 +94,7 @@ subroutine mld_c_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) ! Arguments class(mld_c_onelev_type), intent(inout), target :: lv type(psb_cspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: nlaggr(:) integer(psb_lpk_), intent(inout) :: ilaggr(:) type(psb_lcspmat_type), intent(inout) :: op_prol diff --git a/mlprec/impl/level/mld_d_base_onelev_mat_asb.f90 b/mlprec/impl/level/mld_d_base_onelev_mat_asb.f90 index bdd587d1..2e5cb2ee 100644 --- a/mlprec/impl/level/mld_d_base_onelev_mat_asb.f90 +++ b/mlprec/impl/level/mld_d_base_onelev_mat_asb.f90 @@ -94,7 +94,7 @@ subroutine mld_d_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) ! Arguments class(mld_d_onelev_type), intent(inout), target :: lv type(psb_dspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: nlaggr(:) integer(psb_lpk_), intent(inout) :: ilaggr(:) type(psb_ldspmat_type), intent(inout) :: op_prol diff --git a/mlprec/impl/level/mld_s_base_onelev_mat_asb.f90 b/mlprec/impl/level/mld_s_base_onelev_mat_asb.f90 index 65367375..ebcf3b25 100644 --- a/mlprec/impl/level/mld_s_base_onelev_mat_asb.f90 +++ b/mlprec/impl/level/mld_s_base_onelev_mat_asb.f90 @@ -94,7 +94,7 @@ subroutine mld_s_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) ! Arguments class(mld_s_onelev_type), intent(inout), target :: lv type(psb_sspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: nlaggr(:) integer(psb_lpk_), intent(inout) :: ilaggr(:) type(psb_lsspmat_type), intent(inout) :: op_prol diff --git a/mlprec/impl/level/mld_z_base_onelev_mat_asb.f90 b/mlprec/impl/level/mld_z_base_onelev_mat_asb.f90 index d15eab3f..15f70b01 100644 --- a/mlprec/impl/level/mld_z_base_onelev_mat_asb.f90 +++ b/mlprec/impl/level/mld_z_base_onelev_mat_asb.f90 @@ -94,7 +94,7 @@ subroutine mld_z_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) ! Arguments class(mld_z_onelev_type), intent(inout), target :: lv type(psb_zspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: nlaggr(:) integer(psb_lpk_), intent(inout) :: ilaggr(:) type(psb_lzspmat_type), intent(inout) :: op_prol diff --git a/mlprec/impl/solver/mld_c_mumps_solver_apply.F90 b/mlprec/impl/solver/mld_c_mumps_solver_apply.F90 index 7424e6aa..c005699f 100644 --- a/mlprec/impl/solver/mld_c_mumps_solver_apply.F90 +++ b/mlprec/impl/solver/mld_c_mumps_solver_apply.F90 @@ -57,6 +57,7 @@ subroutine c_mumps_solver_apply(alpha,sv,x,beta,y,desc_data,& integer(psb_ipk_) :: n_row, n_col integer(psb_lpk_) :: nglob + integer(psb_epk_) :: eng complex(psb_spk_), allocatable :: ww(:) complex(psb_spk_), allocatable, target :: gx(:) integer(psb_ipk_) :: ictxt,np,me,i, err_act @@ -101,8 +102,8 @@ subroutine c_mumps_solver_apply(alpha,sv,x,beta,y,desc_data,& end if allocate(gx(nglob),stat=info) if (info /= psb_success_) then - info=psb_err_alloc_request_ - call psb_errpush(info,name,e_err=(/nglob/),& + info=psb_err_alloc_request_; eng = nglob + call psb_errpush(info,name,e_err=(/eng/),& & a_err='complex(psb_spk_)') goto 9999 end if diff --git a/mlprec/impl/solver/mld_d_mumps_solver_apply.F90 b/mlprec/impl/solver/mld_d_mumps_solver_apply.F90 index 8b77ae6b..68f3f55f 100644 --- a/mlprec/impl/solver/mld_d_mumps_solver_apply.F90 +++ b/mlprec/impl/solver/mld_d_mumps_solver_apply.F90 @@ -57,6 +57,7 @@ subroutine d_mumps_solver_apply(alpha,sv,x,beta,y,desc_data,& integer(psb_ipk_) :: n_row, n_col integer(psb_lpk_) :: nglob + integer(psb_epk_) :: eng real(psb_dpk_), allocatable :: ww(:) real(psb_dpk_), allocatable, target :: gx(:) integer(psb_ipk_) :: ictxt,np,me,i, err_act @@ -101,8 +102,8 @@ subroutine d_mumps_solver_apply(alpha,sv,x,beta,y,desc_data,& end if allocate(gx(nglob),stat=info) if (info /= psb_success_) then - info=psb_err_alloc_request_ - call psb_errpush(info,name,e_err=(/nglob/),& + info=psb_err_alloc_request_; eng = nglob + call psb_errpush(info,name,e_err=(/eng/),& & a_err='real(psb_dpk_)') goto 9999 end if diff --git a/mlprec/impl/solver/mld_s_mumps_solver_apply.F90 b/mlprec/impl/solver/mld_s_mumps_solver_apply.F90 index 01ba296d..fbd52539 100644 --- a/mlprec/impl/solver/mld_s_mumps_solver_apply.F90 +++ b/mlprec/impl/solver/mld_s_mumps_solver_apply.F90 @@ -57,6 +57,7 @@ subroutine s_mumps_solver_apply(alpha,sv,x,beta,y,desc_data,& integer(psb_ipk_) :: n_row, n_col integer(psb_lpk_) :: nglob + integer(psb_epk_) :: eng real(psb_spk_), allocatable :: ww(:) real(psb_spk_), allocatable, target :: gx(:) integer(psb_ipk_) :: ictxt,np,me,i, err_act @@ -101,8 +102,8 @@ subroutine s_mumps_solver_apply(alpha,sv,x,beta,y,desc_data,& end if allocate(gx(nglob),stat=info) if (info /= psb_success_) then - info=psb_err_alloc_request_ - call psb_errpush(info,name,e_err=(/nglob/),& + info=psb_err_alloc_request_; eng = nglob + call psb_errpush(info,name,e_err=(/eng/),& & a_err='real(psb_spk_)') goto 9999 end if diff --git a/mlprec/impl/solver/mld_z_mumps_solver_apply.F90 b/mlprec/impl/solver/mld_z_mumps_solver_apply.F90 index d39517f7..1a0b7aff 100644 --- a/mlprec/impl/solver/mld_z_mumps_solver_apply.F90 +++ b/mlprec/impl/solver/mld_z_mumps_solver_apply.F90 @@ -57,6 +57,7 @@ subroutine z_mumps_solver_apply(alpha,sv,x,beta,y,desc_data,& integer(psb_ipk_) :: n_row, n_col integer(psb_lpk_) :: nglob + integer(psb_epk_) :: eng complex(psb_dpk_), allocatable :: ww(:) complex(psb_dpk_), allocatable, target :: gx(:) integer(psb_ipk_) :: ictxt,np,me,i, err_act @@ -101,8 +102,8 @@ subroutine z_mumps_solver_apply(alpha,sv,x,beta,y,desc_data,& end if allocate(gx(nglob),stat=info) if (info /= psb_success_) then - info=psb_err_alloc_request_ - call psb_errpush(info,name,e_err=(/nglob/),& + info=psb_err_alloc_request_; eng = nglob + call psb_errpush(info,name,e_err=(/eng/),& & a_err='complex(psb_dpk_)') goto 9999 end if diff --git a/mlprec/mld_c_base_aggregator_mod.f90 b/mlprec/mld_c_base_aggregator_mod.f90 index 3aea89f1..d71607e1 100644 --- a/mlprec/mld_c_base_aggregator_mod.f90 +++ b/mlprec/mld_c_base_aggregator_mod.f90 @@ -375,7 +375,7 @@ contains class(mld_c_base_aggregator_type), target, intent(inout) :: ag type(mld_sml_parms), intent(inout) :: parms type(psb_cspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(psb_lcspmat_type), intent(inout) :: op_prol type(psb_lcspmat_type), intent(out) :: ac,op_restr @@ -423,7 +423,7 @@ contains class(mld_c_base_aggregator_type), target, intent(inout) :: ag type(mld_sml_parms), intent(inout) :: parms type(psb_cspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(psb_lcspmat_type), intent(inout) :: op_prol,ac,op_restr type(psb_desc_type), intent(inout) :: desc_ac diff --git a/mlprec/mld_c_dec_aggregator_mod.f90 b/mlprec/mld_c_dec_aggregator_mod.f90 index 30620c1e..0a4ee348 100644 --- a/mlprec/mld_c_dec_aggregator_mod.f90 +++ b/mlprec/mld_c_dec_aggregator_mod.f90 @@ -117,7 +117,7 @@ module mld_c_dec_aggregator_mod class(mld_c_dec_aggregator_type), target, intent(inout) :: ag type(mld_sml_parms), intent(inout) :: parms type(psb_cspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(psb_lcspmat_type), intent(inout) :: op_prol type(psb_lcspmat_type), intent(out) :: ac,op_restr @@ -134,7 +134,7 @@ module mld_c_dec_aggregator_mod class(mld_c_dec_aggregator_type), target, intent(inout) :: ag type(mld_sml_parms), intent(inout) :: parms type(psb_cspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(psb_lcspmat_type), intent(inout) :: op_prol,ac,op_restr type(psb_desc_type), intent(inout) :: desc_ac diff --git a/mlprec/mld_c_onelev_mod.f90 b/mlprec/mld_c_onelev_mod.f90 index 9bfa88ef..8f582e27 100644 --- a/mlprec/mld_c_onelev_mod.f90 +++ b/mlprec/mld_c_onelev_mod.f90 @@ -217,7 +217,7 @@ module mld_c_onelev_mod implicit none class(mld_c_onelev_type), intent(inout), target :: lv type(psb_cspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:),nlaggr(:) type(psb_lcspmat_type), intent(inout) :: op_prol integer(psb_ipk_), intent(out) :: info diff --git a/mlprec/mld_d_base_aggregator_mod.f90 b/mlprec/mld_d_base_aggregator_mod.f90 index 5fa11460..2785a805 100644 --- a/mlprec/mld_d_base_aggregator_mod.f90 +++ b/mlprec/mld_d_base_aggregator_mod.f90 @@ -375,7 +375,7 @@ contains class(mld_d_base_aggregator_type), target, intent(inout) :: ag type(mld_dml_parms), intent(inout) :: parms type(psb_dspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(psb_ldspmat_type), intent(inout) :: op_prol type(psb_ldspmat_type), intent(out) :: ac,op_restr @@ -423,7 +423,7 @@ contains class(mld_d_base_aggregator_type), target, intent(inout) :: ag type(mld_dml_parms), intent(inout) :: parms type(psb_dspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(psb_ldspmat_type), intent(inout) :: op_prol,ac,op_restr type(psb_desc_type), intent(inout) :: desc_ac diff --git a/mlprec/mld_d_dec_aggregator_mod.f90 b/mlprec/mld_d_dec_aggregator_mod.f90 index 2a7b2336..4df1f987 100644 --- a/mlprec/mld_d_dec_aggregator_mod.f90 +++ b/mlprec/mld_d_dec_aggregator_mod.f90 @@ -117,7 +117,7 @@ module mld_d_dec_aggregator_mod class(mld_d_dec_aggregator_type), target, intent(inout) :: ag type(mld_dml_parms), intent(inout) :: parms type(psb_dspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(psb_ldspmat_type), intent(inout) :: op_prol type(psb_ldspmat_type), intent(out) :: ac,op_restr @@ -134,7 +134,7 @@ module mld_d_dec_aggregator_mod class(mld_d_dec_aggregator_type), target, intent(inout) :: ag type(mld_dml_parms), intent(inout) :: parms type(psb_dspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(psb_ldspmat_type), intent(inout) :: op_prol,ac,op_restr type(psb_desc_type), intent(inout) :: desc_ac diff --git a/mlprec/mld_d_onelev_mod.f90 b/mlprec/mld_d_onelev_mod.f90 index 511c1816..4b30e83b 100644 --- a/mlprec/mld_d_onelev_mod.f90 +++ b/mlprec/mld_d_onelev_mod.f90 @@ -217,7 +217,7 @@ module mld_d_onelev_mod implicit none class(mld_d_onelev_type), intent(inout), target :: lv type(psb_dspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:),nlaggr(:) type(psb_ldspmat_type), intent(inout) :: op_prol integer(psb_ipk_), intent(out) :: info diff --git a/mlprec/mld_s_base_aggregator_mod.f90 b/mlprec/mld_s_base_aggregator_mod.f90 index df09a0d4..d3fdad1f 100644 --- a/mlprec/mld_s_base_aggregator_mod.f90 +++ b/mlprec/mld_s_base_aggregator_mod.f90 @@ -375,7 +375,7 @@ contains class(mld_s_base_aggregator_type), target, intent(inout) :: ag type(mld_sml_parms), intent(inout) :: parms type(psb_sspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(psb_lsspmat_type), intent(inout) :: op_prol type(psb_lsspmat_type), intent(out) :: ac,op_restr @@ -423,7 +423,7 @@ contains class(mld_s_base_aggregator_type), target, intent(inout) :: ag type(mld_sml_parms), intent(inout) :: parms type(psb_sspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(psb_lsspmat_type), intent(inout) :: op_prol,ac,op_restr type(psb_desc_type), intent(inout) :: desc_ac diff --git a/mlprec/mld_s_dec_aggregator_mod.f90 b/mlprec/mld_s_dec_aggregator_mod.f90 index 8dd2fef9..733e080c 100644 --- a/mlprec/mld_s_dec_aggregator_mod.f90 +++ b/mlprec/mld_s_dec_aggregator_mod.f90 @@ -117,7 +117,7 @@ module mld_s_dec_aggregator_mod class(mld_s_dec_aggregator_type), target, intent(inout) :: ag type(mld_sml_parms), intent(inout) :: parms type(psb_sspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(psb_lsspmat_type), intent(inout) :: op_prol type(psb_lsspmat_type), intent(out) :: ac,op_restr @@ -134,7 +134,7 @@ module mld_s_dec_aggregator_mod class(mld_s_dec_aggregator_type), target, intent(inout) :: ag type(mld_sml_parms), intent(inout) :: parms type(psb_sspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(psb_lsspmat_type), intent(inout) :: op_prol,ac,op_restr type(psb_desc_type), intent(inout) :: desc_ac diff --git a/mlprec/mld_s_onelev_mod.f90 b/mlprec/mld_s_onelev_mod.f90 index 846f227b..3df61f7a 100644 --- a/mlprec/mld_s_onelev_mod.f90 +++ b/mlprec/mld_s_onelev_mod.f90 @@ -217,7 +217,7 @@ module mld_s_onelev_mod implicit none class(mld_s_onelev_type), intent(inout), target :: lv type(psb_sspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:),nlaggr(:) type(psb_lsspmat_type), intent(inout) :: op_prol integer(psb_ipk_), intent(out) :: info diff --git a/mlprec/mld_z_base_aggregator_mod.f90 b/mlprec/mld_z_base_aggregator_mod.f90 index 8733b661..b5c349e3 100644 --- a/mlprec/mld_z_base_aggregator_mod.f90 +++ b/mlprec/mld_z_base_aggregator_mod.f90 @@ -375,7 +375,7 @@ contains class(mld_z_base_aggregator_type), target, intent(inout) :: ag type(mld_dml_parms), intent(inout) :: parms type(psb_zspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(psb_lzspmat_type), intent(inout) :: op_prol type(psb_lzspmat_type), intent(out) :: ac,op_restr @@ -423,7 +423,7 @@ contains class(mld_z_base_aggregator_type), target, intent(inout) :: ag type(mld_dml_parms), intent(inout) :: parms type(psb_zspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(psb_lzspmat_type), intent(inout) :: op_prol,ac,op_restr type(psb_desc_type), intent(inout) :: desc_ac diff --git a/mlprec/mld_z_dec_aggregator_mod.f90 b/mlprec/mld_z_dec_aggregator_mod.f90 index 18db135a..94abd8aa 100644 --- a/mlprec/mld_z_dec_aggregator_mod.f90 +++ b/mlprec/mld_z_dec_aggregator_mod.f90 @@ -117,7 +117,7 @@ module mld_z_dec_aggregator_mod class(mld_z_dec_aggregator_type), target, intent(inout) :: ag type(mld_dml_parms), intent(inout) :: parms type(psb_zspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(psb_lzspmat_type), intent(inout) :: op_prol type(psb_lzspmat_type), intent(out) :: ac,op_restr @@ -134,7 +134,7 @@ module mld_z_dec_aggregator_mod class(mld_z_dec_aggregator_type), target, intent(inout) :: ag type(mld_dml_parms), intent(inout) :: parms type(psb_zspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(psb_lzspmat_type), intent(inout) :: op_prol,ac,op_restr type(psb_desc_type), intent(inout) :: desc_ac diff --git a/mlprec/mld_z_onelev_mod.f90 b/mlprec/mld_z_onelev_mod.f90 index 46aa874e..92253b26 100644 --- a/mlprec/mld_z_onelev_mod.f90 +++ b/mlprec/mld_z_onelev_mod.f90 @@ -217,7 +217,7 @@ module mld_z_onelev_mod implicit none class(mld_z_onelev_type), intent(inout), target :: lv type(psb_zspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a + type(psb_desc_type), intent(inout) :: desc_a integer(psb_lpk_), intent(inout) :: ilaggr(:),nlaggr(:) type(psb_lzspmat_type), intent(inout) :: op_prol integer(psb_ipk_), intent(out) :: info