From b8b99a6083c1868d012d8b6c5ca4f5a7d87a0db5 Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Thu, 3 Jul 2008 12:55:47 +0000 Subject: [PATCH] mld2p4: test/fileread/cf_sample.f90 test/fileread/df_bench.f90 test/fileread/df_sample.f90 test/fileread/runs/drt.sh test/fileread/sf_sample.f90 test/fileread/zf_bench.f90 test/fileread/zf_sample.f90 Fixes in test programs for ordering within calls to precset. --- test/fileread/cf_sample.f90 | 35 ++++++++++----------- test/fileread/df_bench.f90 | 52 +++++++++++++++++-------------- test/fileread/df_sample.f90 | 35 ++++++++++----------- test/fileread/runs/drt.sh | 62 ++++++++++++++++++------------------- test/fileread/sf_sample.f90 | 35 ++++++++++----------- test/fileread/zf_bench.f90 | 53 +++++++++++++++++-------------- test/fileread/zf_sample.f90 | 35 ++++++++++----------- 7 files changed, 156 insertions(+), 151 deletions(-) diff --git a/test/fileread/cf_sample.f90 b/test/fileread/cf_sample.f90 index 44f04135..429dd1ee 100644 --- a/test/fileread/cf_sample.f90 +++ b/test/fileread/cf_sample.f90 @@ -228,27 +228,26 @@ program cf_sample nlv = 1 end if call mld_precinit(prec,prec_choice%prec,info,nlev=nlv) - call mld_precset(prec,mld_sub_ovr_,prec_choice%novr,info) - call mld_precset(prec,mld_sub_restr_,prec_choice%restr,info) - call mld_precset(prec,mld_sub_prol_,prec_choice%prol,info) - call mld_precset(prec,mld_sub_solve_,prec_choice%solve,info) + call mld_precset(prec,mld_sub_ovr_, prec_choice%novr, info) + call mld_precset(prec,mld_sub_restr_, prec_choice%restr,info) + call mld_precset(prec,mld_sub_prol_, prec_choice%prol, info) + call mld_precset(prec,mld_sub_solve_, prec_choice%solve,info) call mld_precset(prec,mld_sub_fillin_,prec_choice%fill1,info) - call mld_precset(prec,mld_fact_thrs_,prec_choice%thr1,info) + call mld_precset(prec,mld_fact_thrs_, prec_choice%thr1, info) if (psb_toupper(prec_choice%prec) =='ML') then - call mld_precset(prec,mld_aggr_kind_,prec_choice%aggrkind,info) - call mld_precset(prec,mld_aggr_alg_,prec_choice%aggr_alg,info) - call mld_precset(prec,mld_ml_type_,prec_choice%mltype,info) - call mld_precset(prec,mld_ml_type_,prec_choice%mltype,info) - call mld_precset(prec,mld_smoother_pos_,prec_choice%smthpos,info) - call mld_precset(prec,mld_coarse_solve_,prec_choice%csolve,info) - call mld_precset(prec,mld_coarse_subsolve_,prec_choice%csbsolve,info) - call mld_precset(prec,mld_coarse_mat_,prec_choice%cmat,info) - call mld_precset(prec,mld_coarse_fillin_,prec_choice%cfill,info) - call mld_precset(prec,mld_fact_thrs_,prec_choice%cthres,info,ilev=nlv) - call mld_precset(prec,mld_aggr_thresh_,prec_choice%athres,info) - call mld_precset(prec,mld_coarse_sweeps_,prec_choice%cjswp,info) + call mld_precset(prec,mld_aggr_kind_, prec_choice%aggrkind,info) + call mld_precset(prec,mld_aggr_alg_, prec_choice%aggr_alg,info) + call mld_precset(prec,mld_ml_type_, prec_choice%mltype, info) + call mld_precset(prec,mld_smoother_pos_, prec_choice%smthpos, info) + call mld_precset(prec,mld_aggr_thresh_, prec_choice%athres, info) + call mld_precset(prec,mld_coarse_solve_, prec_choice%csolve, info) + call mld_precset(prec,mld_coarse_subsolve_, prec_choice%csbsolve,info) + call mld_precset(prec,mld_coarse_mat_, prec_choice%cmat, info) + call mld_precset(prec,mld_coarse_fillin_, prec_choice%cfill, info) + call mld_precset(prec,mld_coarse_fthrs_, prec_choice%cthres, info) + call mld_precset(prec,mld_coarse_sweeps_, prec_choice%cjswp, info) if (prec_choice%omega>=0.0) then - call mld_precset(prec,mld_aggr_damp_,prec_choice%omega,info,ilev=nlv) + call mld_precset(prec,mld_aggr_damp_,prec_choice%omega,info) end if end if diff --git a/test/fileread/df_bench.f90 b/test/fileread/df_bench.f90 index e20df042..35581b50 100644 --- a/test/fileread/df_bench.f90 +++ b/test/fileread/df_bench.f90 @@ -24,6 +24,7 @@ program df_bench integer :: cmat ! coarse mat integer :: smthpos ! pre, post, both smoothing integer :: glbsmth ! global smoothing + integer :: cslv ! Coarse solver: BJAC, SuperLU_Dist, UMF. integer :: ftype2 ! Factorization type: ILU, SuperLU, UMFPACK. integer :: fill2 ! Fill-in for factorization 1 real(psb_dpk_) :: thr2 ! Threshold for fact. 1 ILU(T) @@ -232,24 +233,25 @@ program df_bench if (precs(pp)%omega>=0.0) then call mld_precset(pre,mld_aggr_damp_,precs(pp)%omega,info,ilev=nlev) end if - call mld_precset(pre,mld_ml_type_, precs(pp)%mltype, info,ilev=nlev) - call mld_precset(pre,mld_aggr_alg_, precs(pp)%aggr, info,ilev=nlev) - call mld_precset(pre,mld_coarse_mat_, precs(pp)%cmat, info,ilev=nlev) - call mld_precset(pre,mld_smoother_pos_, precs(pp)%smthpos, info,ilev=nlev) - call mld_precset(pre,mld_sub_solve_, precs(pp)%ftype2, info,ilev=nlev) - call mld_precset(pre,mld_sub_fillin_, precs(pp)%fill2, info,ilev=nlev) - call mld_precset(pre,mld_fact_thrs_, precs(pp)%thr2, info,ilev=nlev) - call mld_precset(pre,mld_smoother_sweeps_, precs(pp)%jswp, info,ilev=nlev) - call mld_precset(pre,mld_aggr_kind_, precs(pp)%smthkind, info,ilev=nlev) + call mld_precset(pre,mld_ml_type_, precs(pp)%mltype, info) + call mld_precset(pre,mld_aggr_alg_, precs(pp)%aggr, info) + call mld_precset(pre,mld_aggr_kind_, precs(pp)%smthkind, info) + call mld_precset(pre,mld_smoother_pos_, precs(pp)%smthpos, info) + call mld_precset(pre,mld_coarse_solve_, precs(pp)%cslv, info) + call mld_precset(pre,mld_coarse_subsolve_, precs(pp)%ftype2, info) + call mld_precset(pre,mld_coarse_fillin_, precs(pp)%fill2, info) + call mld_precset(pre,mld_coarse_fthrs_, precs(pp)%thr2, info) + call mld_precset(pre,mld_coarse_sweeps_, precs(pp)%jswp, info) + call mld_precset(pre,mld_coarse_mat_, precs(pp)%cmat, info) else call mld_precinit(pre,precs(pp)%lv1,info) end if - call mld_precset(pre,mld_sub_ovr_, precs(pp)%novr, info,ilev=1) - call mld_precset(pre,mld_sub_restr_, precs(pp)%restr, info,ilev=1) - call mld_precset(pre,mld_sub_prol_, precs(pp)%prol, info,ilev=1) - call mld_precset(pre,mld_sub_solve_, precs(pp)%ftype1, info,ilev=1) - call mld_precset(pre,mld_sub_fillin_, precs(pp)%fill1, info,ilev=1) - call mld_precset(pre,mld_fact_thrs_, precs(pp)%thr1, info,ilev=1) + call mld_precset(pre,mld_sub_solve_, precs(pp)%ftype1, info) + call mld_precset(pre,mld_sub_restr_, precs(pp)%restr, info) + call mld_precset(pre,mld_sub_prol_, precs(pp)%prol, info) + call mld_precset(pre,mld_sub_ovr_, precs(pp)%novr, info) + call mld_precset(pre,mld_sub_fillin_, precs(pp)%fill1, info) + call mld_precset(pre,mld_fact_thrs_, precs(pp)%thr1, info) ! setting initial guess to zero @@ -439,7 +441,7 @@ contains real(psb_dpk_) :: eps, omega,thr1,thr2 character :: afmt*5, lv1*10, lv2*10, pdescr*40 integer :: iam, nm, np, i, idx - integer, parameter :: npparms=14 + integer, parameter :: npparms=15 integer :: inparms(40), ip, pparms(npparms) call psb_info(icontxt,iam,np) @@ -527,10 +529,11 @@ contains precs(np)%smthkind = pparms(8) precs(np)%cmat = pparms(9) precs(np)%smthpos = pparms(10) - precs(np)%ftype2 = pparms(11) - precs(np)%fill2 = pparms(12) - precs(np)%jswp = pparms(13) - precs(np)%nlev = pparms(14) + precs(np)%cslv = pparms(11) + precs(np)%ftype2 = pparms(12) + precs(np)%fill2 = pparms(13) + precs(np)%jswp = pparms(14) + precs(np)%nlev = pparms(15) precs(np)%omega = omega precs(np)%thr1 = thr1 precs(np)%thr2 = thr2 @@ -595,10 +598,11 @@ contains precs(np)%smthkind = pparms(8) precs(np)%cmat = pparms(9) precs(np)%smthpos = pparms(10) - precs(np)%ftype2 = pparms(11) - precs(np)%fill2 = pparms(12) - precs(np)%jswp = pparms(13) - precs(np)%nlev = pparms(14) + precs(np)%cslv = pparms(11) + precs(np)%ftype2 = pparms(12) + precs(np)%fill2 = pparms(13) + precs(np)%jswp = pparms(14) + precs(np)%nlev = pparms(15) precs(np)%omega = omega precs(np)%thr1 = thr1 precs(np)%thr2 = thr2 diff --git a/test/fileread/df_sample.f90 b/test/fileread/df_sample.f90 index cbe91b4f..e8b53160 100644 --- a/test/fileread/df_sample.f90 +++ b/test/fileread/df_sample.f90 @@ -228,27 +228,26 @@ program df_sample nlv = 1 end if call mld_precinit(prec,prec_choice%prec,info,nlev=nlv) - call mld_precset(prec,mld_sub_ovr_,prec_choice%novr,info) - call mld_precset(prec,mld_sub_restr_,prec_choice%restr,info) - call mld_precset(prec,mld_sub_prol_,prec_choice%prol,info) - call mld_precset(prec,mld_sub_solve_,prec_choice%solve,info) + call mld_precset(prec,mld_sub_ovr_, prec_choice%novr, info) + call mld_precset(prec,mld_sub_restr_, prec_choice%restr,info) + call mld_precset(prec,mld_sub_prol_, prec_choice%prol, info) + call mld_precset(prec,mld_sub_solve_, prec_choice%solve,info) call mld_precset(prec,mld_sub_fillin_,prec_choice%fill1,info) - call mld_precset(prec,mld_fact_thrs_,prec_choice%thr1,info) + call mld_precset(prec,mld_fact_thrs_, prec_choice%thr1, info) if (psb_toupper(prec_choice%prec) =='ML') then - call mld_precset(prec,mld_aggr_kind_,prec_choice%aggrkind,info) - call mld_precset(prec,mld_aggr_alg_,prec_choice%aggr_alg,info) - call mld_precset(prec,mld_ml_type_,prec_choice%mltype,info) - call mld_precset(prec,mld_ml_type_,prec_choice%mltype,info) - call mld_precset(prec,mld_smoother_pos_,prec_choice%smthpos,info) - call mld_precset(prec,mld_coarse_solve_,prec_choice%csolve,info) - call mld_precset(prec,mld_coarse_subsolve_,prec_choice%csbsolve,info) - call mld_precset(prec,mld_coarse_mat_,prec_choice%cmat,info) - call mld_precset(prec,mld_coarse_fillin_,prec_choice%cfill,info) - call mld_precset(prec,mld_fact_thrs_,prec_choice%cthres,info,ilev=nlv) - call mld_precset(prec,mld_aggr_thresh_,prec_choice%athres,info) - call mld_precset(prec,mld_coarse_sweeps_,prec_choice%cjswp,info) + call mld_precset(prec,mld_aggr_kind_, prec_choice%aggrkind,info) + call mld_precset(prec,mld_aggr_alg_, prec_choice%aggr_alg,info) + call mld_precset(prec,mld_ml_type_, prec_choice%mltype, info) + call mld_precset(prec,mld_smoother_pos_, prec_choice%smthpos, info) + call mld_precset(prec,mld_aggr_thresh_, prec_choice%athres, info) + call mld_precset(prec,mld_coarse_solve_, prec_choice%csolve, info) + call mld_precset(prec,mld_coarse_subsolve_, prec_choice%csbsolve,info) + call mld_precset(prec,mld_coarse_mat_, prec_choice%cmat, info) + call mld_precset(prec,mld_coarse_fillin_, prec_choice%cfill, info) + call mld_precset(prec,mld_coarse_fthrs_, prec_choice%cthres, info) + call mld_precset(prec,mld_coarse_sweeps_, prec_choice%cjswp, info) if (prec_choice%omega>=0.0) then - call mld_precset(prec,mld_aggr_damp_,prec_choice%omega,info,ilev=nlv) + call mld_precset(prec,mld_aggr_damp_,prec_choice%omega,info) end if end if diff --git a/test/fileread/runs/drt.sh b/test/fileread/runs/drt.sh index 15c642a0..caeab16c 100755 --- a/test/fileread/runs/drt.sh +++ b/test/fileread/runs/drt.sh @@ -29,37 +29,37 @@ CSR Matrix format 30 IRST Restart parameter for GMRES and BiCGSTAB(L) 0 RENUM: 0: none 1: global indices (2: GPS band reduction) $ntry NTRY for each comb. print out best timings -30 NPRCS nov rst prl fc1 fl1 mlt agg smt cm smp ft2 fl2 jsw nl omg th1 th2 name -none none 0 0 0 0 0 0 0 0 0 0 0 0 0 1 -1.0 1e-4 1e-4 NOPREC -diag none 0 0 0 1 0 2 0 1 0 2 1 0 4 1 -1.0 1e-4 1e-4 DIAG -bjac none 0 0 0 1 0 2 0 1 0 2 1 0 4 1 -1.0 1e-4 1e-4 BJAC -as none 0 1 0 1 0 2 0 1 0 2 1 0 4 1 -1.0 1e-4 1e-4 RAS -as none 1 1 0 1 0 2 0 1 0 2 1 0 4 1 -1.0 1e-4 1e-4 RAS -as none 2 1 0 1 0 2 0 1 0 2 1 0 4 1 -1.0 1e-4 1e-4 RAS -as ml 0 1 0 1 0 2 0 1 0 2 1 0 4 2 -1.0 1e-4 1e-4 2L-M-RAS-I-D4 -as ml 1 1 0 1 0 2 0 1 0 2 1 0 4 2 -1.0 1e-4 1e-4 2L-M-RAS-I-D4 -as ml 2 1 0 1 0 2 0 1 0 2 1 0 4 2 -1.0 1e-4 1e-4 2L-M-RAS-I-D4 -as ml 0 1 0 1 0 2 0 1 0 2 5 0 4 2 -1.0 1e-4 1e-4 2L-M-RAS-U-D4 -as ml 1 1 0 1 0 2 0 1 0 2 5 0 4 2 -1.0 1e-4 1e-4 2L-M-RAS-U-D4 -as ml 2 1 0 1 0 2 0 1 0 2 5 0 4 2 -1.0 1e-4 1e-4 2L-M-RAS-U-D4 -as ml 0 1 0 1 0 2 0 1 0 2 1 0 4 3 -1.0 1e-4 1e-4 3L-M-RAS-I-D4 -as ml 1 1 0 1 0 2 0 1 0 2 1 0 4 3 -1.0 1e-4 1e-4 3L-M-RAS-I-D4 -as ml 2 1 0 1 0 2 0 1 0 2 1 0 4 3 -1.0 1e-4 1e-4 3L-M-RAS-I-D4 -as ml 0 1 0 1 0 2 0 1 0 2 5 0 4 3 -1.0 1e-4 1e-4 3L-M-RAS-U-D4 -as ml 1 1 0 1 0 2 0 1 0 2 5 0 4 3 -1.0 1e-4 1e-4 3L-M-RAS-U-D4 -as ml 2 1 0 1 0 2 0 1 0 2 5 0 4 3 -1.0 1e-4 1e-4 3L-M-RAS-U-D4 -as ml 0 1 0 1 0 2 0 1 1 2 1 0 1 2 -1.0 1e-4 1e-4 2L-M-RAS-I-R -as ml 1 1 0 1 0 2 0 1 1 2 1 0 1 2 -1.0 1e-4 1e-4 2L-M-RAS-I-R -as ml 2 1 0 1 0 2 0 1 1 2 1 0 1 2 -1.0 1e-4 1e-4 2L-M-RAS-I-R -as ml 0 1 0 1 0 2 0 1 1 2 5 0 1 2 -1.0 1e-4 1e-4 2L-M-RAS-U-R -as ml 1 1 0 1 0 2 0 1 1 2 5 0 1 2 -1.0 1e-4 1e-4 2L-M-RAS-U-R -as ml 2 1 0 1 0 2 0 1 1 2 5 0 1 2 -1.0 1e-4 1e-4 2L-M-RAS-U-R -as ml 0 1 0 1 0 2 0 1 1 2 1 0 1 3 -1.0 1e-4 1e-4 3L-M-RAS-I-R -as ml 1 1 0 1 0 2 0 1 1 2 1 0 1 3 -1.0 1e-4 1e-4 3L-M-RAS-I-R -as ml 2 1 0 1 0 2 0 1 1 2 1 0 1 3 -1.0 1e-4 1e-4 3L-M-RAS-I-R -as ml 0 1 0 1 0 2 0 1 1 2 5 0 1 3 -1.0 1e-4 1e-4 3L-M-RAS-U-R -as ml 1 1 0 1 0 2 0 1 1 2 5 0 1 3 -1.0 1e-4 1e-4 3L-M-RAS-U-R -as ml 2 1 0 1 0 2 0 1 1 2 5 0 1 3 -1.0 1e-4 1e-4 3L-M-RAS-U-R +30 NPRCS nov rst prl fc1 fl1 mlt agg smt cm smp csv ft2 fl2 jsw nl omg th1 th2 name +none none 0 0 0 0 0 0 0 0 0 0 2 0 0 0 1 -1.0 1e-4 1e-4 NOPREC +diag none 0 0 0 1 0 2 0 1 0 2 2 1 0 4 1 -1.0 1e-4 1e-4 DIAG +bjac none 0 0 0 1 0 2 0 1 0 2 2 1 0 4 1 -1.0 1e-4 1e-4 BJAC +as none 0 1 0 1 0 2 0 1 0 2 2 1 0 4 1 -1.0 1e-4 1e-4 RAS +as none 1 1 0 1 0 2 0 1 0 2 2 1 0 4 1 -1.0 1e-4 1e-4 RAS +as none 2 1 0 1 0 2 0 1 0 2 2 1 0 4 1 -1.0 1e-4 1e-4 RAS +as ml 0 1 0 1 0 2 0 1 0 2 2 1 0 4 2 -1.0 1e-4 1e-4 2L-M-RAS-I-D4 +as ml 1 1 0 1 0 2 0 1 0 2 2 1 0 4 2 -1.0 1e-4 1e-4 2L-M-RAS-I-D4 +as ml 2 1 0 1 0 2 0 1 0 2 2 1 0 4 2 -1.0 1e-4 1e-4 2L-M-RAS-I-D4 +as ml 0 1 0 1 0 2 0 1 0 2 2 5 0 4 2 -1.0 1e-4 1e-4 2L-M-RAS-U-D4 +as ml 1 1 0 1 0 2 0 1 0 2 2 5 0 4 2 -1.0 1e-4 1e-4 2L-M-RAS-U-D4 +as ml 2 1 0 1 0 2 0 1 0 2 2 5 0 4 2 -1.0 1e-4 1e-4 2L-M-RAS-U-D4 +as ml 0 1 0 1 0 2 0 1 0 2 2 1 0 4 3 -1.0 1e-4 1e-4 3L-M-RAS-I-D4 +as ml 1 1 0 1 0 2 0 1 0 2 2 1 0 4 3 -1.0 1e-4 1e-4 3L-M-RAS-I-D4 +as ml 2 1 0 1 0 2 0 1 0 2 2 1 0 4 3 -1.0 1e-4 1e-4 3L-M-RAS-I-D4 +as ml 0 1 0 1 0 2 0 1 0 2 2 5 0 4 3 -1.0 1e-4 1e-4 3L-M-RAS-U-D4 +as ml 1 1 0 1 0 2 0 1 0 2 2 5 0 4 3 -1.0 1e-4 1e-4 3L-M-RAS-U-D4 +as ml 2 1 0 1 0 2 0 1 0 2 2 5 0 4 3 -1.0 1e-4 1e-4 3L-M-RAS-U-D4 +as ml 0 1 0 1 0 2 0 1 1 2 2 1 0 1 2 -1.0 1e-4 1e-4 2L-M-RAS-I-R +as ml 1 1 0 1 0 2 0 1 1 2 2 1 0 1 2 -1.0 1e-4 1e-4 2L-M-RAS-I-R +as ml 2 1 0 1 0 2 0 1 1 2 2 1 0 1 2 -1.0 1e-4 1e-4 2L-M-RAS-I-R +as ml 0 1 0 1 0 2 0 1 1 2 2 5 0 1 2 -1.0 1e-4 1e-4 2L-M-RAS-U-R +as ml 1 1 0 1 0 2 0 1 1 2 2 5 0 1 2 -1.0 1e-4 1e-4 2L-M-RAS-U-R +as ml 2 1 0 1 0 2 0 1 1 2 2 5 0 1 2 -1.0 1e-4 1e-4 2L-M-RAS-U-R +as ml 0 1 0 1 0 2 0 1 1 2 2 1 0 1 3 -1.0 1e-4 1e-4 3L-M-RAS-I-R +as ml 1 1 0 1 0 2 0 1 1 2 2 1 0 1 3 -1.0 1e-4 1e-4 3L-M-RAS-I-R +as ml 2 1 0 1 0 2 0 1 1 2 2 1 0 1 3 -1.0 1e-4 1e-4 3L-M-RAS-I-R +as ml 0 1 0 1 0 2 0 1 1 2 2 5 0 1 3 -1.0 1e-4 1e-4 3L-M-RAS-U-R +as ml 1 1 0 1 0 2 0 1 1 2 2 5 0 1 3 -1.0 1e-4 1e-4 3L-M-RAS-U-R +as ml 2 1 0 1 0 2 0 1 1 2 2 5 0 1 3 -1.0 1e-4 1e-4 3L-M-RAS-U-R 2 Number of matrices kivap004.mtx none kivap001.mtx none diff --git a/test/fileread/sf_sample.f90 b/test/fileread/sf_sample.f90 index 5e6cef40..5d255e07 100644 --- a/test/fileread/sf_sample.f90 +++ b/test/fileread/sf_sample.f90 @@ -228,27 +228,26 @@ program sf_sample nlv = 1 end if call mld_precinit(prec,prec_choice%prec,info,nlev=nlv) - call mld_precset(prec,mld_sub_ovr_,prec_choice%novr,info) - call mld_precset(prec,mld_sub_restr_,prec_choice%restr,info) - call mld_precset(prec,mld_sub_prol_,prec_choice%prol,info) - call mld_precset(prec,mld_sub_solve_,prec_choice%solve,info) + call mld_precset(prec,mld_sub_ovr_, prec_choice%novr, info) + call mld_precset(prec,mld_sub_restr_, prec_choice%restr,info) + call mld_precset(prec,mld_sub_prol_, prec_choice%prol, info) + call mld_precset(prec,mld_sub_solve_, prec_choice%solve,info) call mld_precset(prec,mld_sub_fillin_,prec_choice%fill1,info) - call mld_precset(prec,mld_fact_thrs_,prec_choice%thr1,info) + call mld_precset(prec,mld_fact_thrs_, prec_choice%thr1, info) if (psb_toupper(prec_choice%prec) =='ML') then - call mld_precset(prec,mld_aggr_kind_,prec_choice%aggrkind,info) - call mld_precset(prec,mld_aggr_alg_,prec_choice%aggr_alg,info) - call mld_precset(prec,mld_ml_type_,prec_choice%mltype,info) - call mld_precset(prec,mld_ml_type_,prec_choice%mltype,info) - call mld_precset(prec,mld_smoother_pos_,prec_choice%smthpos,info) - call mld_precset(prec,mld_coarse_solve_,prec_choice%csolve,info) - call mld_precset(prec,mld_coarse_subsolve_,prec_choice%csbsolve,info) - call mld_precset(prec,mld_coarse_mat_,prec_choice%cmat,info) - call mld_precset(prec,mld_coarse_fillin_,prec_choice%cfill,info) - call mld_precset(prec,mld_fact_thrs_,prec_choice%cthres,info,ilev=nlv) - call mld_precset(prec,mld_aggr_thresh_,prec_choice%athres,info) - call mld_precset(prec,mld_coarse_sweeps_,prec_choice%cjswp,info) + call mld_precset(prec,mld_aggr_kind_, prec_choice%aggrkind,info) + call mld_precset(prec,mld_aggr_alg_, prec_choice%aggr_alg,info) + call mld_precset(prec,mld_ml_type_, prec_choice%mltype, info) + call mld_precset(prec,mld_smoother_pos_, prec_choice%smthpos, info) + call mld_precset(prec,mld_aggr_thresh_, prec_choice%athres, info) + call mld_precset(prec,mld_coarse_solve_, prec_choice%csolve, info) + call mld_precset(prec,mld_coarse_subsolve_, prec_choice%csbsolve,info) + call mld_precset(prec,mld_coarse_mat_, prec_choice%cmat, info) + call mld_precset(prec,mld_coarse_fillin_, prec_choice%cfill, info) + call mld_precset(prec,mld_coarse_fthrs_, prec_choice%cthres, info) + call mld_precset(prec,mld_coarse_sweeps_, prec_choice%cjswp, info) if (prec_choice%omega>=0.0) then - call mld_precset(prec,mld_aggr_damp_,prec_choice%omega,info,ilev=nlv) + call mld_precset(prec,mld_aggr_damp_,prec_choice%omega,info) end if end if diff --git a/test/fileread/zf_bench.f90 b/test/fileread/zf_bench.f90 index cea77df9..e5149c16 100644 --- a/test/fileread/zf_bench.f90 +++ b/test/fileread/zf_bench.f90 @@ -24,11 +24,13 @@ program zf_bench integer :: cmat ! coarse mat integer :: smthpos ! pre, post, both smoothing integer :: glbsmth ! global smoothing + integer :: cslv ! Coarse solver: BJAC, SuperLU_Dist, UMF. integer :: ftype2 ! Factorization type: ILU, SuperLU, UMFPACK. integer :: fill2 ! Fill-in for factorization 1 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(:) @@ -217,24 +219,25 @@ program zf_bench if (precs(pp)%omega>=0.0) then call mld_precset(pre,mld_aggr_damp_,precs(pp)%omega,info,ilev=nlev) end if - call mld_precset(pre,mld_ml_type_, precs(pp)%mltype, info,ilev=nlev) - call mld_precset(pre,mld_aggr_alg_, precs(pp)%aggr, info,ilev=nlev) - call mld_precset(pre,mld_coarse_mat_, precs(pp)%cmat, info,ilev=nlev) - call mld_precset(pre,mld_smoother_pos_, precs(pp)%smthpos, info,ilev=nlev) - call mld_precset(pre,mld_sub_solve_, precs(pp)%ftype2, info,ilev=nlev) - call mld_precset(pre,mld_sub_fillin_, precs(pp)%fill2, info,ilev=nlev) - call mld_precset(pre,mld_fact_thrs_, precs(pp)%thr2, info,ilev=nlev) - call mld_precset(pre,mld_smoother_sweeps_, precs(pp)%jswp, info,ilev=nlev) - call mld_precset(pre,mld_aggr_kind_, precs(pp)%smthkind, info,ilev=nlev) + call mld_precset(pre,mld_ml_type_, precs(pp)%mltype, info) + call mld_precset(pre,mld_aggr_alg_, precs(pp)%aggr, info) + call mld_precset(pre,mld_aggr_kind_, precs(pp)%smthkind, info) + call mld_precset(pre,mld_smoother_pos_, precs(pp)%smthpos, info) + call mld_precset(pre,mld_coarse_solve_, precs(pp)%cslv, info) + call mld_precset(pre,mld_coarse_subsolve_, precs(pp)%ftype2, info) + call mld_precset(pre,mld_coarse_fillin_, precs(pp)%fill2, info) + call mld_precset(pre,mld_coarse_fthrs_, precs(pp)%thr2, info) + call mld_precset(pre,mld_coarse_sweeps_, precs(pp)%jswp, info) + call mld_precset(pre,mld_coarse_mat_, precs(pp)%cmat, info) else call mld_precinit(pre,precs(pp)%lv1,info) end if - call mld_precset(pre,mld_sub_ovr_, precs(pp)%novr, info,ilev=1) - call mld_precset(pre,mld_sub_restr_, precs(pp)%restr, info,ilev=1) - call mld_precset(pre,mld_sub_prol_, precs(pp)%prol, info,ilev=1) - call mld_precset(pre,mld_sub_solve_, precs(pp)%ftype1, info,ilev=1) - call mld_precset(pre,mld_sub_fillin_, precs(pp)%fill1, info,ilev=1) - call mld_precset(pre,mld_fact_thrs_, precs(pp)%thr1, info,ilev=1) + call mld_precset(pre,mld_sub_solve_, precs(pp)%ftype1, info) + call mld_precset(pre,mld_sub_restr_, precs(pp)%restr, info) + call mld_precset(pre,mld_sub_prol_, precs(pp)%prol, info) + call mld_precset(pre,mld_sub_ovr_, precs(pp)%novr, info) + call mld_precset(pre,mld_sub_fillin_, precs(pp)%fill1, info) + call mld_precset(pre,mld_fact_thrs_, precs(pp)%thr1, info) ! setting initial guess to zero @@ -383,7 +386,7 @@ contains real(psb_dpk_) :: eps, omega,thr1,thr2 character :: afmt*5, lv1*10, lv2*10, pdescr*40 integer :: iam, nm, np, i, idx - integer, parameter :: npparms=14 + integer, parameter :: npparms=15 integer :: inparms(40), ip, pparms(npparms) call psb_info(icontxt,iam,np) @@ -471,10 +474,11 @@ contains precs(np)%smthkind = pparms(8) precs(np)%cmat = pparms(9) precs(np)%smthpos = pparms(10) - precs(np)%ftype2 = pparms(11) - precs(np)%fill2 = pparms(12) - precs(np)%jswp = pparms(13) - precs(np)%nlev = pparms(14) + precs(np)%cslv = pparms(11) + precs(np)%ftype2 = pparms(12) + precs(np)%fill2 = pparms(13) + precs(np)%jswp = pparms(14) + precs(np)%nlev = pparms(15) precs(np)%omega = omega precs(np)%thr1 = thr1 precs(np)%thr2 = thr2 @@ -539,10 +543,11 @@ contains precs(np)%smthkind = pparms(8) precs(np)%cmat = pparms(9) precs(np)%smthpos = pparms(10) - precs(np)%ftype2 = pparms(11) - precs(np)%fill2 = pparms(12) - precs(np)%jswp = pparms(13) - precs(np)%nlev = pparms(14) + precs(np)%cslv = pparms(11) + precs(np)%ftype2 = pparms(12) + precs(np)%fill2 = pparms(13) + precs(np)%jswp = pparms(14) + precs(np)%nlev = pparms(15) precs(np)%omega = omega precs(np)%thr1 = thr1 precs(np)%thr2 = thr2 diff --git a/test/fileread/zf_sample.f90 b/test/fileread/zf_sample.f90 index 4653fe05..4eb452b7 100644 --- a/test/fileread/zf_sample.f90 +++ b/test/fileread/zf_sample.f90 @@ -228,27 +228,26 @@ program zf_sample nlv = 1 end if call mld_precinit(prec,prec_choice%prec,info,nlev=nlv) - call mld_precset(prec,mld_sub_ovr_,prec_choice%novr,info) - call mld_precset(prec,mld_sub_restr_,prec_choice%restr,info) - call mld_precset(prec,mld_sub_prol_,prec_choice%prol,info) - call mld_precset(prec,mld_sub_solve_,prec_choice%solve,info) + call mld_precset(prec,mld_sub_ovr_, prec_choice%novr, info) + call mld_precset(prec,mld_sub_restr_, prec_choice%restr,info) + call mld_precset(prec,mld_sub_prol_, prec_choice%prol, info) + call mld_precset(prec,mld_sub_solve_, prec_choice%solve,info) call mld_precset(prec,mld_sub_fillin_,prec_choice%fill1,info) - call mld_precset(prec,mld_fact_thrs_,prec_choice%thr1,info) + call mld_precset(prec,mld_fact_thrs_, prec_choice%thr1, info) if (psb_toupper(prec_choice%prec) =='ML') then - call mld_precset(prec,mld_aggr_kind_,prec_choice%aggrkind,info) - call mld_precset(prec,mld_aggr_alg_,prec_choice%aggr_alg,info) - call mld_precset(prec,mld_ml_type_,prec_choice%mltype,info) - call mld_precset(prec,mld_ml_type_,prec_choice%mltype,info) - call mld_precset(prec,mld_smoother_pos_,prec_choice%smthpos,info) - call mld_precset(prec,mld_coarse_solve_,prec_choice%csolve,info) - call mld_precset(prec,mld_coarse_subsolve_,prec_choice%csbsolve,info) - call mld_precset(prec,mld_coarse_mat_,prec_choice%cmat,info) - call mld_precset(prec,mld_coarse_fillin_,prec_choice%cfill,info) - call mld_precset(prec,mld_fact_thrs_,prec_choice%cthres,info,ilev=nlv) - call mld_precset(prec,mld_aggr_thresh_,prec_choice%athres,info) - call mld_precset(prec,mld_coarse_sweeps_,prec_choice%cjswp,info) + call mld_precset(prec,mld_aggr_kind_, prec_choice%aggrkind,info) + call mld_precset(prec,mld_aggr_alg_, prec_choice%aggr_alg,info) + call mld_precset(prec,mld_ml_type_, prec_choice%mltype, info) + call mld_precset(prec,mld_smoother_pos_, prec_choice%smthpos, info) + call mld_precset(prec,mld_aggr_thresh_, prec_choice%athres, info) + call mld_precset(prec,mld_coarse_solve_, prec_choice%csolve, info) + call mld_precset(prec,mld_coarse_subsolve_, prec_choice%csbsolve,info) + call mld_precset(prec,mld_coarse_mat_, prec_choice%cmat, info) + call mld_precset(prec,mld_coarse_fillin_, prec_choice%cfill, info) + call mld_precset(prec,mld_coarse_fthrs_, prec_choice%cthres, info) + call mld_precset(prec,mld_coarse_sweeps_, prec_choice%cjswp, info) if (prec_choice%omega>=0.0) then - call mld_precset(prec,mld_aggr_damp_,prec_choice%omega,info,ilev=nlv) + call mld_precset(prec,mld_aggr_damp_,prec_choice%omega,info) end if end if