mirror of
https://github.com/sfilippone/amg4psblas.git
synced 2026-10-06 22:55:12 +00:00
mld2p4:
mlprec/mld_caggrmap_bld.f90 mlprec/mld_cmlprec_bld.f90 mlprec/mld_cprecinit.f90 mlprec/mld_cprecset.f90 mlprec/mld_daggrmap_bld.f90 mlprec/mld_dmlprec_bld.f90 mlprec/mld_dprecinit.f90 mlprec/mld_dprecset.f90 mlprec/mld_inner_mod.f90 mlprec/mld_prec_type.f90 mlprec/mld_saggrmap_bld.f90 mlprec/mld_smlprec_bld.f90 mlprec/mld_sprecinit.f90 mlprec/mld_sprecset.f90 mlprec/mld_zaggrmap_bld.f90 mlprec/mld_zmlprec_bld.f90 mlprec/mld_zprecinit.f90 mlprec/mld_zprecset.f90 test/fileread/cf_sample.f90 test/fileread/df_bench.f90 test/fileread/df_sample.f90 test/fileread/runs/cfs.inp test/fileread/runs/dfs.inp test/fileread/runs/drt.sh test/fileread/runs/sfs.inp test/fileread/runs/zfs.inp test/fileread/sf_sample.f90 test/fileread/zf_sample.f90 Added an aggregation threshold to account for anisotropies.
This commit is contained in:
@@ -67,6 +67,7 @@ program cf_sample
|
||||
real(psb_spk_) :: cthres ! Threshold for fact. 1 ILU(T)
|
||||
integer :: cjswp ! Jacobi sweeps
|
||||
real(psb_spk_) :: omega ! smoother omega
|
||||
real(psb_spk_) :: athres ! smoother aggregation threshold
|
||||
end type precdata
|
||||
type(precdata) :: prec_choice
|
||||
|
||||
@@ -242,7 +243,7 @@ program cf_sample
|
||||
call mld_precset(prec,mld_coarse_solve_,prec_choice%csolve,info)
|
||||
call mld_precset(prec,mld_sub_fill_in_,prec_choice%cfill,info,ilev=nlv)
|
||||
call mld_precset(prec,mld_fact_thrs_,prec_choice%cthres,info,ilev=nlv)
|
||||
call mld_precset(prec,mld_smooth_sweeps_,prec_choice%cjswp,info,ilev=nlv)
|
||||
call mld_precset(prec,mld_aggr_thresh_,prec_choice%athres,info)
|
||||
call mld_precset(prec,mld_smooth_sweeps_,prec_choice%cjswp,info,ilev=nlv)
|
||||
if (prec_choice%omega>=0.0) then
|
||||
call mld_precset(prec,mld_aggr_damp_,prec_choice%omega,info,ilev=nlv)
|
||||
@@ -392,6 +393,7 @@ contains
|
||||
call read_data(prec%cthres,5) ! Threshold for fact. 1 ILU(T)
|
||||
call read_data(prec%cjswp,5) ! Jacobi sweeps
|
||||
call read_data(prec%omega,5) ! smoother omega
|
||||
call read_data(prec%athres,5) ! smoother aggr thresh
|
||||
end if
|
||||
end if
|
||||
|
||||
@@ -426,6 +428,7 @@ contains
|
||||
call psb_bcast(icontxt,prec%cthres) ! Threshold for fact. 1 ILU(T)
|
||||
call psb_bcast(icontxt,prec%cjswp) ! Jacobi sweeps
|
||||
call psb_bcast(icontxt,prec%omega) ! smoother omega
|
||||
call psb_bcast(icontxt,prec%athres) ! smoother aggr thresh
|
||||
end if
|
||||
|
||||
end subroutine get_parms
|
||||
|
||||
@@ -29,6 +29,7 @@ program df_bench
|
||||
real(psb_dpk_) :: thr2 ! Threshold for fact. 1 ILU(T)
|
||||
integer :: jswp ! Jacobi sweeps
|
||||
real(psb_dpk_) :: omega ! smoother omega
|
||||
real(psb_dpk_) :: athres ! smoother aggregation
|
||||
character(len=40) :: descr ! verbose description of the prec
|
||||
end type precdata
|
||||
type(precdata), allocatable :: precs(:)
|
||||
|
||||
@@ -67,6 +67,7 @@ program df_sample
|
||||
real(psb_dpk_) :: cthres ! Threshold for fact. 1 ILU(T)
|
||||
integer :: cjswp ! Jacobi sweeps
|
||||
real(psb_dpk_) :: omega ! smoother omega
|
||||
real(psb_dpk_) :: athres ! smoother aggregation threshold
|
||||
end type precdata
|
||||
type(precdata) :: prec_choice
|
||||
|
||||
@@ -242,7 +243,7 @@ program df_sample
|
||||
call mld_precset(prec,mld_coarse_solve_,prec_choice%csolve,info)
|
||||
call mld_precset(prec,mld_sub_fill_in_,prec_choice%cfill,info,ilev=nlv)
|
||||
call mld_precset(prec,mld_fact_thrs_,prec_choice%cthres,info,ilev=nlv)
|
||||
call mld_precset(prec,mld_smooth_sweeps_,prec_choice%cjswp,info,ilev=nlv)
|
||||
call mld_precset(prec,mld_aggr_thresh_,prec_choice%athres,info)
|
||||
call mld_precset(prec,mld_smooth_sweeps_,prec_choice%cjswp,info,ilev=nlv)
|
||||
if (prec_choice%omega>=0.0) then
|
||||
call mld_precset(prec,mld_aggr_damp_,prec_choice%omega,info,ilev=nlv)
|
||||
@@ -392,6 +393,7 @@ contains
|
||||
call read_data(prec%cthres,5) ! Threshold for fact. 1 ILU(T)
|
||||
call read_data(prec%cjswp,5) ! Jacobi sweeps
|
||||
call read_data(prec%omega,5) ! smoother omega
|
||||
call read_data(prec%athres,5) ! smoother aggr thresh
|
||||
end if
|
||||
end if
|
||||
|
||||
@@ -426,6 +428,7 @@ contains
|
||||
call psb_bcast(icontxt,prec%cthres) ! Threshold for fact. 1 ILU(T)
|
||||
call psb_bcast(icontxt,prec%cjswp) ! Jacobi sweeps
|
||||
call psb_bcast(icontxt,prec%omega) ! smoother omega
|
||||
call psb_bcast(icontxt,prec%athres) ! smoother aggr thresh
|
||||
end if
|
||||
|
||||
end subroutine get_parms
|
||||
|
||||
@@ -27,3 +27,4 @@ ILU ! Coarse level: solver ILU ILUT UMF SLU SLUDIST
|
||||
1.d-4 ! Coarse level: Threshold T for ILU(T,P)
|
||||
4 ! Coarse level: Number of Jacobi sweeps
|
||||
-1.0d0 ! Smoother Omega: if < 0 means library choice.
|
||||
0.01d0 ! Smoother Aggregation Threshold: >= 0.0
|
||||
@@ -1,5 +1,5 @@
|
||||
thm1000x600.mtx ! les_t4.mtx ! young1r.mtx This (and others) from: http://math.nist.gov/MatrixMarket/ or
|
||||
NONE !les_t4.rhs ! rhs.mtx http://www.cise.ufl.edu/research/sparse/matrices/index.html
|
||||
matphi_140x33x45.mtx !A_1M_gps.mtx !thm1000x600.mtx ! les_t4.mtx ! young1r.mtx This (and others) from: http://math.nist.gov/MatrixMarket/ or
|
||||
tnoto_phi.mtx !NONE !les_t4.rhs ! rhs.mtx http://www.cise.ufl.edu/research/sparse/matrices/index.html
|
||||
BICGSTAB ! Iterative method: BiCGSTAB BiCG CGS RGMRES BiCGSTABL CG
|
||||
CSR ! Storage format CSR COO JAD
|
||||
0 ! IPART: Partition method 0: BLK 2: graph (with Metis)
|
||||
@@ -27,3 +27,4 @@ ILU ! Coarse level: solver ILU ILUT UMF SLU SLUDIST
|
||||
1.d-4 ! Coarse level: Threshold T for ILU(T,P)
|
||||
4 ! Coarse level: Number of Jacobi sweeps
|
||||
-1.0d0 ! Smoother Omega: if < 0 means library choice.
|
||||
0.01d0 ! Smoother Aggregation Threshold: >= 0.0
|
||||
|
||||
@@ -16,7 +16,7 @@ do
|
||||
# 3rd batch: 14bis,64bis 4 sweeps
|
||||
echo "mpirun -np $np -machinefile locm df_bench >>log.part$part.ren$renum.${np}p"
|
||||
#/usr/local/mpich-gcc42/bin/mpirun -np $np -machinefile locm df_bench <<EOF
|
||||
/usr/local/mpich-gcc42/bin/mpirun -np $np -machinefile locm df_bench >>run.gfc.kiva.log.${np}p.$date 2>err.gfc.kiva.log.${np}p.$date <<EOF
|
||||
mpirun -np $np -machinefile locm df_bench >>run.gfc.kiva.log.${np}p.$date 2>err.gfc.kiva.log.${np}p.$date <<EOF
|
||||
out.${np}p.$date Out file 1: summary
|
||||
stat.${np}p.$date Out file 2: detailed for statistics
|
||||
BICGSTAB iterative method to use
|
||||
|
||||
@@ -27,3 +27,4 @@ ILU ! Coarse level: solver ILU ILUT UMF SLU SLUDIST
|
||||
1.d-4 ! Coarse level: Threshold T for ILU(T,P)
|
||||
4 ! Coarse level: Number of Jacobi sweeps
|
||||
-1.0d0 ! Smoother Omega: if < 0 means library choice.
|
||||
0.01d0 ! Smoother Aggregation Threshold: >= 0.0
|
||||
@@ -27,3 +27,4 @@ ILU ! Coarse level: solver ILU ILUT UMF SLU SLUDIST
|
||||
1.d-4 ! Coarse level: Threshold T for ILU(T,P)
|
||||
4 ! Coarse level: Number of Jacobi sweeps
|
||||
-1.0d0 ! Smoother Omega: if < 0 means library choice.
|
||||
0.01d0 ! Smoother Aggregation Threshold: >= 0.0
|
||||
@@ -67,6 +67,7 @@ program sf_sample
|
||||
real(psb_spk_) :: cthres ! Threshold for fact. 1 ILU(T)
|
||||
integer :: cjswp ! Jacobi sweeps
|
||||
real(psb_spk_) :: omega ! smoother omega
|
||||
real(psb_spk_) :: athres ! smoother aggregation threshold
|
||||
end type precdata
|
||||
type(precdata) :: prec_choice
|
||||
|
||||
@@ -242,7 +243,7 @@ program sf_sample
|
||||
call mld_precset(prec,mld_coarse_solve_,prec_choice%csolve,info)
|
||||
call mld_precset(prec,mld_sub_fill_in_,prec_choice%cfill,info,ilev=nlv)
|
||||
call mld_precset(prec,mld_fact_thrs_,prec_choice%cthres,info,ilev=nlv)
|
||||
call mld_precset(prec,mld_smooth_sweeps_,prec_choice%cjswp,info,ilev=nlv)
|
||||
call mld_precset(prec,mld_aggr_thresh_,prec_choice%athres,info)
|
||||
call mld_precset(prec,mld_smooth_sweeps_,prec_choice%cjswp,info,ilev=nlv)
|
||||
if (prec_choice%omega>=0.0) then
|
||||
call mld_precset(prec,mld_aggr_damp_,prec_choice%omega,info,ilev=nlv)
|
||||
@@ -392,6 +393,7 @@ contains
|
||||
call read_data(prec%cthres,5) ! Threshold for fact. 1 ILU(T)
|
||||
call read_data(prec%cjswp,5) ! Jacobi sweeps
|
||||
call read_data(prec%omega,5) ! smoother omega
|
||||
call read_data(prec%athres,5) ! smoother aggr thresh
|
||||
end if
|
||||
end if
|
||||
|
||||
@@ -426,6 +428,7 @@ contains
|
||||
call psb_bcast(icontxt,prec%cthres) ! Threshold for fact. 1 ILU(T)
|
||||
call psb_bcast(icontxt,prec%cjswp) ! Jacobi sweeps
|
||||
call psb_bcast(icontxt,prec%omega) ! smoother omega
|
||||
call psb_bcast(icontxt,prec%athres) ! smoother aggr thresh
|
||||
end if
|
||||
|
||||
end subroutine get_parms
|
||||
|
||||
@@ -67,6 +67,7 @@ program zf_sample
|
||||
real(psb_dpk_) :: cthres ! Threshold for fact. 1 ILU(T)
|
||||
integer :: cjswp ! Jacobi sweeps
|
||||
real(psb_dpk_) :: omega ! smoother omega
|
||||
real(psb_dpk_) :: athres ! smoother aggregation threshold
|
||||
end type precdata
|
||||
type(precdata) :: prec_choice
|
||||
|
||||
@@ -242,7 +243,7 @@ program zf_sample
|
||||
call mld_precset(prec,mld_coarse_solve_,prec_choice%csolve,info)
|
||||
call mld_precset(prec,mld_sub_fill_in_,prec_choice%cfill,info,ilev=nlv)
|
||||
call mld_precset(prec,mld_fact_thrs_,prec_choice%cthres,info,ilev=nlv)
|
||||
call mld_precset(prec,mld_smooth_sweeps_,prec_choice%cjswp,info,ilev=nlv)
|
||||
call mld_precset(prec,mld_aggr_thresh_,prec_choice%athres,info)
|
||||
call mld_precset(prec,mld_smooth_sweeps_,prec_choice%cjswp,info,ilev=nlv)
|
||||
if (prec_choice%omega>=0.0) then
|
||||
call mld_precset(prec,mld_aggr_damp_,prec_choice%omega,info,ilev=nlv)
|
||||
@@ -392,6 +393,7 @@ contains
|
||||
call read_data(prec%cthres,5) ! Threshold for fact. 1 ILU(T)
|
||||
call read_data(prec%cjswp,5) ! Jacobi sweeps
|
||||
call read_data(prec%omega,5) ! smoother omega
|
||||
call read_data(prec%athres,5) ! smoother aggr thresh
|
||||
end if
|
||||
end if
|
||||
|
||||
@@ -426,6 +428,7 @@ contains
|
||||
call psb_bcast(icontxt,prec%cthres) ! Threshold for fact. 1 ILU(T)
|
||||
call psb_bcast(icontxt,prec%cjswp) ! Jacobi sweeps
|
||||
call psb_bcast(icontxt,prec%omega) ! smoother omega
|
||||
call psb_bcast(icontxt,prec%athres) ! smoother aggr thresh
|
||||
end if
|
||||
|
||||
end subroutine get_parms
|
||||
|
||||
Reference in New Issue
Block a user