From 46de48ffa90bd068dfe1dba8f38102acb9671fda Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Fri, 20 May 2016 14:57:50 +0000 Subject: [PATCH] mld2p4-2: mlprec/mld_c_prec_type.f90 mlprec/mld_d_prec_type.f90 mlprec/mld_s_prec_type.f90 mlprec/mld_z_prec_type.f90 tests/fileread/runs/dfs.inp Start work on aggregation control. --- mlprec/mld_c_prec_type.f90 | 4 +++- mlprec/mld_d_prec_type.f90 | 4 +++- mlprec/mld_s_prec_type.f90 | 4 +++- mlprec/mld_z_prec_type.f90 | 4 +++- tests/fileread/runs/dfs.inp | 24 ++++++++++++------------ 5 files changed, 24 insertions(+), 16 deletions(-) diff --git a/mlprec/mld_c_prec_type.f90 b/mlprec/mld_c_prec_type.f90 index 8f16794a..8be65dc2 100644 --- a/mlprec/mld_c_prec_type.f90 +++ b/mlprec/mld_c_prec_type.f90 @@ -81,7 +81,9 @@ module mld_c_prec_type type, extends(psb_cprec_type) :: mld_cprec_type integer(psb_ipk_) :: ictxt - integer(psb_ipk_) :: coarse_aggr_size + integer(psb_ipk_) :: coarse_aggr_size = izero + integer(psb_ipk_) :: n_prec_levs = -ione + integer(psb_ipk_) :: max_prec_levs = 20_psb_ipk_ real(psb_spk_) :: op_complexity=szero type(mld_c_onelev_type), allocatable :: precv(:) contains diff --git a/mlprec/mld_d_prec_type.f90 b/mlprec/mld_d_prec_type.f90 index 01397336..8e1fb6c0 100644 --- a/mlprec/mld_d_prec_type.f90 +++ b/mlprec/mld_d_prec_type.f90 @@ -81,7 +81,9 @@ module mld_d_prec_type type, extends(psb_dprec_type) :: mld_dprec_type integer(psb_ipk_) :: ictxt - integer(psb_ipk_) :: coarse_aggr_size + integer(psb_ipk_) :: coarse_aggr_size = izero + integer(psb_ipk_) :: n_prec_levs = -ione + integer(psb_ipk_) :: max_prec_levs = 20_psb_ipk_ real(psb_dpk_) :: op_complexity=dzero type(mld_d_onelev_type), allocatable :: precv(:) contains diff --git a/mlprec/mld_s_prec_type.f90 b/mlprec/mld_s_prec_type.f90 index d198dbde..d7209e73 100644 --- a/mlprec/mld_s_prec_type.f90 +++ b/mlprec/mld_s_prec_type.f90 @@ -81,7 +81,9 @@ module mld_s_prec_type type, extends(psb_sprec_type) :: mld_sprec_type integer(psb_ipk_) :: ictxt - integer(psb_ipk_) :: coarse_aggr_size + integer(psb_ipk_) :: coarse_aggr_size = izero + integer(psb_ipk_) :: n_prec_levs = -ione + integer(psb_ipk_) :: max_prec_levs = 20_psb_ipk_ real(psb_spk_) :: op_complexity=szero type(mld_s_onelev_type), allocatable :: precv(:) contains diff --git a/mlprec/mld_z_prec_type.f90 b/mlprec/mld_z_prec_type.f90 index 021108dc..b85a5ba7 100644 --- a/mlprec/mld_z_prec_type.f90 +++ b/mlprec/mld_z_prec_type.f90 @@ -81,7 +81,9 @@ module mld_z_prec_type type, extends(psb_zprec_type) :: mld_zprec_type integer(psb_ipk_) :: ictxt - integer(psb_ipk_) :: coarse_aggr_size + integer(psb_ipk_) :: coarse_aggr_size = izero + integer(psb_ipk_) :: n_prec_levs = -ione + integer(psb_ipk_) :: max_prec_levs = 20_psb_ipk_ real(psb_dpk_) :: op_complexity=dzero type(mld_z_onelev_type), allocatable :: precv(:) contains diff --git a/tests/fileread/runs/dfs.inp b/tests/fileread/runs/dfs.inp index e365df0c..9aab8945 100644 --- a/tests/fileread/runs/dfs.inp +++ b/tests/fileread/runs/dfs.inp @@ -1,12 +1,12 @@ pressmat.mtx ! This matrix (and others) from: http://math.nist.gov/MatrixMarket/ or pressrhs.mtx ! rhs | http://www.cise.ufl.edu/research/sparse/matrices/index.html MM ! -BICGSTAB ! Iterative method: BiCGSTAB BiCG CGS RGMRES BiCGSTABL CG +RGMRES ! Iterative method: BiCGSTAB BiCG CGS RGMRES BiCGSTABL CG CSR ! Storage format: CSR COO JAD -0 ! IPART (partition method): 0 (block) 2 (graph, with Metis) +2 ! IPART (partition method): 0 (block) 2 (graph, with Metis) 2 ! ISTOPC -00100 ! ITMAX -01 ! ITRACE +00120 ! ITMAX +30 ! ITRACE 30 ! IRST (restart for RGMRES and BiCGSTABL) 1.d-6 ! EPS 4L-M-RAS-I-UR ! Longer descriptive name for preconditioner (up to 20 chars) @@ -14,21 +14,21 @@ ML ! Preconditioner type: NONE JACOBI BJAC AS ML 0 ! Number of overlap layers for AS preconditioner HALO ! AS restriction operator: NONE HALO NONE ! AS prolongation operator: NONE SUM AVG -GS ! AS subdomain solver: DSCALE ILU MILU ILUT UMF SLU MUMPS +ILU ! AS subdomain solver: DSCALE ILU MILU ILUT UMF SLU MUMPS 0 ! Fill level P for ILU(P) and ILU(T,P) 1.d-4 ! Threshold T for ILU(T,P) -4 ! Number of Jacobi sweeps for base smoother +2 ! Number of Jacobi sweeps for base smoother 4 ! Number of levels in a multilevel preconditioner BJAC ! Smoother type JACOBI BJAC AS ignored for non-ML -NONSMOOTHED ! Type of aggregation: SMOOTHED NONSMOOTHED +SMOOTHED ! Type of aggregation: SMOOTHED NONSMOOTHED DEC ! Type of aggregation: DEC -NATURAL ! Ordering of aggregation NATURAL DEGREE +DEGREE ! Ordering of aggregation NATURAL DEGREE MULT ! Type of multilevel correction: ADD MULT -POST ! Side of multiplicative correction PRE POST TWOSIDE (ignored for ADD) -REPL ! Coarsest-level matrix distribution: DIST REPL +TWOSIDE ! Side of multiplicative correction PRE POST TWOSIDE (ignored for ADD) +DIST ! Coarsest-level matrix distribution: DIST REPL BJAC ! Coarsest-level solver: JACOBI BJAC UMF SLU SLUDIST MUMPS -ILU ! Coarsest-level subsolver: ILU UMF SLU MUMPS SLUDIST -0 ! Coarsest-level fillin P for ILU(P) and ILU(T,P) +UMF ! Coarsest-level subsolver: ILU UMF SLU MUMPS SLUDIST +2 ! Coarsest-level fillin P for ILU(P) and ILU(T,P) 1.d-4 ! Coarsest-level threshold T for ILU(T,P) 4 ! Number of Jacobi sweeps for BJAC/PJAC coarsest-level solver 0.0125d0 ! Smoothed aggregation threshold: >= 0.0