Merge branch 'rebld' into development

implement-ainv
Salvatore Filippone 4 years ago
commit 33e61535df

@ -137,8 +137,8 @@ module amg_c_base_aggregator_mod
end subroutine amg_c_ptap_bld
end interface amg_ptap_bld
interface amg_ptap
subroutine amg_c_ptap(a_csr,desc_a,nlaggr,parms,ac,&
interface amg_rap
subroutine amg_c_rap(a_csr,desc_a,nlaggr,parms,ac,&
& coo_prol,desc_cprol,coo_restr,info)
import :: psb_c_csr_sparse_mat, psb_cspmat_type, psb_desc_type, &
& psb_c_coo_sparse_mat, amg_sml_parms, psb_spk_, psb_ipk_, psb_lpk_
@ -151,8 +151,8 @@ module amg_c_base_aggregator_mod
type(psb_desc_type), intent(inout) :: desc_cprol
type(psb_cspmat_type), intent(out) :: ac
integer(psb_ipk_), intent(out) :: info
end subroutine amg_c_ptap
end interface amg_ptap
end subroutine amg_c_rap
end interface amg_rap
contains

@ -137,8 +137,8 @@ module amg_d_base_aggregator_mod
end subroutine amg_d_ptap_bld
end interface amg_ptap_bld
interface amg_ptap
subroutine amg_d_ptap(a_csr,desc_a,nlaggr,parms,ac,&
interface amg_rap
subroutine amg_d_rap(a_csr,desc_a,nlaggr,parms,ac,&
& coo_prol,desc_cprol,coo_restr,info)
import :: psb_d_csr_sparse_mat, psb_dspmat_type, psb_desc_type, &
& psb_d_coo_sparse_mat, amg_dml_parms, psb_dpk_, psb_ipk_, psb_lpk_
@ -151,8 +151,8 @@ module amg_d_base_aggregator_mod
type(psb_desc_type), intent(inout) :: desc_cprol
type(psb_dspmat_type), intent(out) :: ac
integer(psb_ipk_), intent(out) :: info
end subroutine amg_d_ptap
end interface amg_ptap
end subroutine amg_d_rap
end interface amg_rap
contains

@ -137,8 +137,8 @@ module amg_s_base_aggregator_mod
end subroutine amg_s_ptap_bld
end interface amg_ptap_bld
interface amg_ptap
subroutine amg_s_ptap(a_csr,desc_a,nlaggr,parms,ac,&
interface amg_rap
subroutine amg_s_rap(a_csr,desc_a,nlaggr,parms,ac,&
& coo_prol,desc_cprol,coo_restr,info)
import :: psb_s_csr_sparse_mat, psb_sspmat_type, psb_desc_type, &
& psb_s_coo_sparse_mat, amg_sml_parms, psb_spk_, psb_ipk_, psb_lpk_
@ -151,8 +151,8 @@ module amg_s_base_aggregator_mod
type(psb_desc_type), intent(inout) :: desc_cprol
type(psb_sspmat_type), intent(out) :: ac
integer(psb_ipk_), intent(out) :: info
end subroutine amg_s_ptap
end interface amg_ptap
end subroutine amg_s_rap
end interface amg_rap
contains

@ -137,8 +137,8 @@ module amg_z_base_aggregator_mod
end subroutine amg_z_ptap_bld
end interface amg_ptap_bld
interface amg_ptap
subroutine amg_z_ptap(a_csr,desc_a,nlaggr,parms,ac,&
interface amg_rap
subroutine amg_z_rap(a_csr,desc_a,nlaggr,parms,ac,&
& coo_prol,desc_cprol,coo_restr,info)
import :: psb_z_csr_sparse_mat, psb_zspmat_type, psb_desc_type, &
& psb_z_coo_sparse_mat, amg_dml_parms, psb_dpk_, psb_ipk_, psb_lpk_
@ -151,8 +151,8 @@ module amg_z_base_aggregator_mod
type(psb_desc_type), intent(inout) :: desc_cprol
type(psb_zspmat_type), intent(out) :: ac
integer(psb_ipk_), intent(out) :: info
end subroutine amg_z_ptap
end interface amg_ptap
end subroutine amg_z_rap
end interface amg_rap
contains

@ -14,7 +14,7 @@ amg_s_dec_aggregator_mat_bld.o \
amg_s_dec_aggregator_tprol.o \
amg_s_symdec_aggregator_tprol.o \
amg_s_map_to_tprol.o amg_s_soc1_map_bld.o amg_s_soc2_map_bld.o\
amg_s_ptap.o amg_s_ptap_bld.o \
amg_s_rap.o amg_s_ptap_bld.o \
amg_saggrmat_minnrg_bld.o\
amg_saggrmat_nosmth_bld.o amg_saggrmat_smth_bld.o \
amg_d_dec_aggregator_mat_asb.o \
@ -22,7 +22,7 @@ amg_d_dec_aggregator_mat_bld.o \
amg_d_dec_aggregator_tprol.o \
amg_d_symdec_aggregator_tprol.o \
amg_d_map_to_tprol.o amg_d_soc1_map_bld.o amg_d_soc2_map_bld.o \
amg_d_ptap.o amg_d_ptap_bld.o \
amg_d_rap.o amg_d_ptap_bld.o \
amg_daggrmat_minnrg_bld.o \
amg_daggrmat_nosmth_bld.o amg_daggrmat_smth_bld.o \
amg_c_dec_aggregator_mat_asb.o \
@ -30,7 +30,7 @@ amg_c_dec_aggregator_mat_bld.o \
amg_c_dec_aggregator_tprol.o \
amg_c_symdec_aggregator_tprol.o \
amg_c_map_to_tprol.o amg_c_soc1_map_bld.o amg_c_soc2_map_bld.o\
amg_c_ptap.o amg_c_ptap_bld.o \
amg_c_rap.o amg_c_ptap_bld.o \
amg_caggrmat_minnrg_bld.o\
amg_caggrmat_nosmth_bld.o amg_caggrmat_smth_bld.o \
amg_z_dec_aggregator_mat_asb.o \
@ -38,7 +38,7 @@ amg_z_dec_aggregator_mat_bld.o \
amg_z_dec_aggregator_tprol.o \
amg_z_symdec_aggregator_tprol.o \
amg_z_map_to_tprol.o amg_z_soc1_map_bld.o amg_z_soc2_map_bld.o\
amg_z_ptap.o amg_z_ptap_bld.o \
amg_z_rap.o amg_z_ptap_bld.o \
amg_zaggrmat_minnrg_bld.o\
amg_zaggrmat_nosmth_bld.o amg_zaggrmat_smth_bld.o

@ -32,17 +32,21 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
! File: amg_ptap.F90
! File: amg_rap.F90
!
! This routine computes the triple product :
! AC = P^T A P
! P^T is stored in Restr
! AC = R A P
! R is stored in Restr
! WARNINGS:
! 1. So far this has only been tested with R=P^T
! 2. Patterns and descriptors need to be consistent
! between initial build and application of this.
!
subroutine amg_c_ptap(a_csr,desc_a,nlaggr,parms,ac,&
subroutine amg_c_rap(a_csr,desc_a,nlaggr,parms,ac,&
& coo_prol,desc_ac,coo_restr,info)
use psb_base_mod
use amg_c_inner_mod
use amg_c_base_aggregator_mod, amg_protect_name => amg_c_ptap
use amg_c_base_aggregator_mod, amg_protect_name => amg_c_rap
implicit none
! Arguments
@ -68,7 +72,7 @@ subroutine amg_c_ptap(a_csr,desc_a,nlaggr,parms,ac,&
integer(psb_lpk_) :: nrsave, ncsave, nzsave, nza
logical, parameter :: debug=.false.
name='amg_ptap'
name='amg_rap'
if(psb_get_errstatus().ne.0) return
info=psb_success_
call psb_erractionsave(err_act)
@ -151,7 +155,7 @@ subroutine amg_c_ptap(a_csr,desc_a,nlaggr,parms,ac,&
if (debug_level >= psb_debug_outer_) &
& write(debug_unit,*) me,' ',trim(name),&
& 'Done ptap '
& 'Done rap '
call psb_erractionrestore(err_act)
return
@ -159,4 +163,4 @@ subroutine amg_c_ptap(a_csr,desc_a,nlaggr,parms,ac,&
9999 call psb_error_handler(err_act)
return
end subroutine amg_c_ptap
end subroutine amg_c_rap

@ -32,17 +32,21 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
! File: amg_ptap.F90
! File: amg_rap.F90
!
! This routine computes the triple product :
! AC = P^T A P
! P^T is stored in Restr
! AC = R A P
! R is stored in Restr
! WARNINGS:
! 1. So far this has only been tested with R=P^T
! 2. Patterns and descriptors need to be consistent
! between initial build and application of this.
!
subroutine amg_d_ptap(a_csr,desc_a,nlaggr,parms,ac,&
subroutine amg_d_rap(a_csr,desc_a,nlaggr,parms,ac,&
& coo_prol,desc_ac,coo_restr,info)
use psb_base_mod
use amg_d_inner_mod
use amg_d_base_aggregator_mod, amg_protect_name => amg_d_ptap
use amg_d_base_aggregator_mod, amg_protect_name => amg_d_rap
implicit none
! Arguments
@ -68,7 +72,7 @@ subroutine amg_d_ptap(a_csr,desc_a,nlaggr,parms,ac,&
integer(psb_lpk_) :: nrsave, ncsave, nzsave, nza
logical, parameter :: debug=.false.
name='amg_ptap'
name='amg_rap'
if(psb_get_errstatus().ne.0) return
info=psb_success_
call psb_erractionsave(err_act)
@ -151,7 +155,7 @@ subroutine amg_d_ptap(a_csr,desc_a,nlaggr,parms,ac,&
if (debug_level >= psb_debug_outer_) &
& write(debug_unit,*) me,' ',trim(name),&
& 'Done ptap '
& 'Done rap '
call psb_erractionrestore(err_act)
return
@ -159,4 +163,4 @@ subroutine amg_d_ptap(a_csr,desc_a,nlaggr,parms,ac,&
9999 call psb_error_handler(err_act)
return
end subroutine amg_d_ptap
end subroutine amg_d_rap

@ -32,17 +32,21 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
! File: amg_ptap.F90
! File: amg_rap.F90
!
! This routine computes the triple product :
! AC = P^T A P
! P^T is stored in Restr
! AC = R A P
! R is stored in Restr
! WARNINGS:
! 1. So far this has only been tested with R=P^T
! 2. Patterns and descriptors need to be consistent
! between initial build and application of this.
!
subroutine amg_s_ptap(a_csr,desc_a,nlaggr,parms,ac,&
subroutine amg_s_rap(a_csr,desc_a,nlaggr,parms,ac,&
& coo_prol,desc_ac,coo_restr,info)
use psb_base_mod
use amg_s_inner_mod
use amg_s_base_aggregator_mod, amg_protect_name => amg_s_ptap
use amg_s_base_aggregator_mod, amg_protect_name => amg_s_rap
implicit none
! Arguments
@ -68,7 +72,7 @@ subroutine amg_s_ptap(a_csr,desc_a,nlaggr,parms,ac,&
integer(psb_lpk_) :: nrsave, ncsave, nzsave, nza
logical, parameter :: debug=.false.
name='amg_ptap'
name='amg_rap'
if(psb_get_errstatus().ne.0) return
info=psb_success_
call psb_erractionsave(err_act)
@ -151,7 +155,7 @@ subroutine amg_s_ptap(a_csr,desc_a,nlaggr,parms,ac,&
if (debug_level >= psb_debug_outer_) &
& write(debug_unit,*) me,' ',trim(name),&
& 'Done ptap '
& 'Done rap '
call psb_erractionrestore(err_act)
return
@ -159,4 +163,4 @@ subroutine amg_s_ptap(a_csr,desc_a,nlaggr,parms,ac,&
9999 call psb_error_handler(err_act)
return
end subroutine amg_s_ptap
end subroutine amg_s_rap

@ -32,17 +32,21 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
! File: amg_ptap.F90
! File: amg_rap.F90
!
! This routine computes the triple product :
! AC = P^T A P
! P^T is stored in Restr
! AC = R A P
! R is stored in Restr
! WARNINGS:
! 1. So far this has only been tested with R=P^T
! 2. Patterns and descriptors need to be consistent
! between initial build and application of this.
!
subroutine amg_z_ptap(a_csr,desc_a,nlaggr,parms,ac,&
subroutine amg_z_rap(a_csr,desc_a,nlaggr,parms,ac,&
& coo_prol,desc_ac,coo_restr,info)
use psb_base_mod
use amg_z_inner_mod
use amg_z_base_aggregator_mod, amg_protect_name => amg_z_ptap
use amg_z_base_aggregator_mod, amg_protect_name => amg_z_rap
implicit none
! Arguments
@ -68,7 +72,7 @@ subroutine amg_z_ptap(a_csr,desc_a,nlaggr,parms,ac,&
integer(psb_lpk_) :: nrsave, ncsave, nzsave, nza
logical, parameter :: debug=.false.
name='amg_ptap'
name='amg_rap'
if(psb_get_errstatus().ne.0) return
info=psb_success_
call psb_erractionsave(err_act)
@ -151,7 +155,7 @@ subroutine amg_z_ptap(a_csr,desc_a,nlaggr,parms,ac,&
if (debug_level >= psb_debug_outer_) &
& write(debug_unit,*) me,' ',trim(name),&
& 'Done ptap '
& 'Done rap '
call psb_erractionrestore(err_act)
return
@ -159,4 +163,4 @@ subroutine amg_z_ptap(a_csr,desc_a,nlaggr,parms,ac,&
9999 call psb_error_handler(err_act)
return
end subroutine amg_z_ptap
end subroutine amg_z_rap

@ -128,7 +128,7 @@ subroutine amg_c_hierarchy_rebld(a,desc_a,prec,info)
p_desc_a => prec%precv(i-1)%base_desc
call prec%precv(i)%map%mat_V2U%cp_to(coo_prol)
call prec%precv(i)%map%mat_U2V%cp_to(coo_restr)
call amg_ptap(acsr,p_desc_a,prec%precv(i)%map%naggr,&
call amg_rap(acsr,p_desc_a,prec%precv(i)%map%naggr,&
& prec%precv(i)%parms,prec%precv(i)%ac,&
& coo_prol,prec%precv(i)%desc_ac,coo_restr,info)

@ -128,7 +128,7 @@ subroutine amg_d_hierarchy_rebld(a,desc_a,prec,info)
p_desc_a => prec%precv(i-1)%base_desc
call prec%precv(i)%map%mat_V2U%cp_to(coo_prol)
call prec%precv(i)%map%mat_U2V%cp_to(coo_restr)
call amg_ptap(acsr,p_desc_a,prec%precv(i)%map%naggr,&
call amg_rap(acsr,p_desc_a,prec%precv(i)%map%naggr,&
& prec%precv(i)%parms,prec%precv(i)%ac,&
& coo_prol,prec%precv(i)%desc_ac,coo_restr,info)

@ -128,7 +128,7 @@ subroutine amg_s_hierarchy_rebld(a,desc_a,prec,info)
p_desc_a => prec%precv(i-1)%base_desc
call prec%precv(i)%map%mat_V2U%cp_to(coo_prol)
call prec%precv(i)%map%mat_U2V%cp_to(coo_restr)
call amg_ptap(acsr,p_desc_a,prec%precv(i)%map%naggr,&
call amg_rap(acsr,p_desc_a,prec%precv(i)%map%naggr,&
& prec%precv(i)%parms,prec%precv(i)%ac,&
& coo_prol,prec%precv(i)%desc_ac,coo_restr,info)

@ -128,7 +128,7 @@ subroutine amg_z_hierarchy_rebld(a,desc_a,prec,info)
p_desc_a => prec%precv(i-1)%base_desc
call prec%precv(i)%map%mat_V2U%cp_to(coo_prol)
call prec%precv(i)%map%mat_U2V%cp_to(coo_restr)
call amg_ptap(acsr,p_desc_a,prec%precv(i)%map%naggr,&
call amg_rap(acsr,p_desc_a,prec%precv(i)%map%naggr,&
& prec%precv(i)%parms,prec%precv(i)%ac,&
& coo_prol,prec%precv(i)%desc_ac,coo_restr,info)

Loading…
Cancel
Save