From 3f449710a366823d211b42cef1fe9e46b13a6ca4 Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Fri, 27 Nov 2020 14:34:39 +0100 Subject: [PATCH] Updates in fileread. To be completed. --- examples/fileread/Makefile | 122 +++++++++++++++---------------- examples/pdegen/Makefile | 68 ++++++++--------- examples/pdegen/amg_dpde_mod.f90 | 2 +- examples/pdegen/amg_spde_mod.f90 | 2 +- tests/fileread/Makefile | 70 +++++++++--------- tests/fileread/amg_cf_sample.f90 | 15 ++-- tests/fileread/amg_df_sample.f90 | 15 ++-- tests/fileread/amg_sf_sample.f90 | 15 ++-- tests/fileread/amg_zf_sample.f90 | 15 ++-- tests/pdegen/Makefile | 2 +- tests/pdegen/runs/amg_pde2d.inp | 6 +- tests/pdegen/runs/amg_pde3d.inp | 1 + 12 files changed, 179 insertions(+), 154 deletions(-) diff --git a/examples/fileread/Makefile b/examples/fileread/Makefile index d9b622d9..2375b30f 100644 --- a/examples/fileread/Makefile +++ b/examples/fileread/Makefile @@ -1,89 +1,89 @@ -MLDDIR=../.. -MLDINCDIR=$(MLDDIR)/include -include $(MLDINCDIR)/Make.inc.amg4psblas -MLDMODDIR=$(MLDDIR)/modules -MLDLIBDIR=$(MLDDIR)/lib -MLD_LIBS=-L$(MLDLIBDIR) -lpsb_krylov -lmld_prec -lpsb_prec -FINCLUDES=$(FMFLAG). $(FMFLAG)$(MLDMODDIR) $(FMFLAG)$(MLDINCDIR) $(PSBLAS_INCLUDES) $(FIFLAG). +AMGDIR=../.. +AMGINCDIR=$(AMGDIR)/include +include $(AMGINCDIR)/Make.inc.amg4psblas +AMGMODDIR=$(AMGDIR)/modules +AMGLIBDIR=$(AMGDIR)/lib +AMG_LIBS=-L$(AMGLIBDIR) -lpsb_krylov -lamg_prec -lpsb_prec +FINCLUDES=$(FMFLAG). $(FMFLAG)$(AMGMODDIR) $(FMFLAG)$(AMGINCDIR) $(PSBLAS_INCLUDES) $(FIFLAG). LINKOPT= -DMOBJS=mld_dexample_ml.o data_input.o -D1OBJS=mld_dexample_1lev.o data_input.o -ZMOBJS=mld_zexample_ml.o data_input.o -Z1OBJS=mld_zexample_1lev.o data_input.o -SMOBJS=mld_sexample_ml.o data_input.o -S1OBJS=mld_sexample_1lev.o data_input.o -CMOBJS=mld_cexample_ml.o data_input.o -C1OBJS=mld_cexample_1lev.o data_input.o +DMOBJS=amg_dexample_ml.o data_input.o +D1OBJS=amg_dexample_1lev.o data_input.o +ZMOBJS=amg_zexample_ml.o data_input.o +Z1OBJS=amg_zexample_1lev.o data_input.o +SMOBJS=amg_sexample_ml.o data_input.o +S1OBJS=amg_sexample_1lev.o data_input.o +CMOBJS=amg_cexample_ml.o data_input.o +C1OBJS=amg_cexample_1lev.o data_input.o EXEDIR=./runs -all: mld_dexample_ml mld_dexample_1lev mld_zexample_ml mld_zexample_1lev\ - mld_sexample_ml mld_sexample_1lev mld_cexample_ml mld_cexample_1lev +all: amg_dexample_ml amg_dexample_1lev amg_zexample_ml amg_zexample_1lev\ + amg_sexample_ml amg_sexample_1lev amg_cexample_ml amg_cexample_1lev -mld_dexample_ml: $(DMOBJS) - $(FLINK) $(LINKOPT) $(DMOBJS) -o mld_dexample_ml \ - $(MLD_LIBS) $(PSBLAS_LIBS) $(LDLIBS) - /bin/mv mld_dexample_ml $(EXEDIR) +amg_dexample_ml: $(DMOBJS) + $(FLINK) $(LINKOPT) $(DMOBJS) -o amg_dexample_ml \ + $(AMG_LIBS) $(PSBLAS_LIBS) $(LDLIBS) + /bin/mv amg_dexample_ml $(EXEDIR) -mld_dexample_1lev: $(D1OBJS) - $(FLINK) $(LINKOPT) $(D1OBJS) -o mld_dexample_1lev \ - $(MLD_LIBS) $(PSBLAS_LIBS) $(LDLIBS) - /bin/mv mld_dexample_1lev $(EXEDIR) +amg_dexample_1lev: $(D1OBJS) + $(FLINK) $(LINKOPT) $(D1OBJS) -o amg_dexample_1lev \ + $(AMG_LIBS) $(PSBLAS_LIBS) $(LDLIBS) + /bin/mv amg_dexample_1lev $(EXEDIR) -mld_dexample_ml.o: data_input.o -mld_dexample_1lev.o: data_input.o +amg_dexample_ml.o: data_input.o +amg_dexample_1lev.o: data_input.o -mld_zexample_ml: $(ZMOBJS) - $(FLINK) $(LINKOPT) $(ZMOBJS) -o mld_zexample_ml \ - $(MLD_LIBS) $(PSBLAS_LIBS) $(LDLIBS) - /bin/mv mld_zexample_ml $(EXEDIR) +amg_zexample_ml: $(ZMOBJS) + $(FLINK) $(LINKOPT) $(ZMOBJS) -o amg_zexample_ml \ + $(AMG_LIBS) $(PSBLAS_LIBS) $(LDLIBS) + /bin/mv amg_zexample_ml $(EXEDIR) -mld_zexample_1lev: $(Z1OBJS) - $(FLINK) $(LINKOPT) $(Z1OBJS) -o mld_zexample_1lev \ - $(MLD_LIBS) $(PSBLAS_LIBS) $(LDLIBS) - /bin/mv mld_zexample_1lev $(EXEDIR) +amg_zexample_1lev: $(Z1OBJS) + $(FLINK) $(LINKOPT) $(Z1OBJS) -o amg_zexample_1lev \ + $(AMG_LIBS) $(PSBLAS_LIBS) $(LDLIBS) + /bin/mv amg_zexample_1lev $(EXEDIR) -mld_zexample_ml.o: data_input.o -mld_zexample_1lev.o: data_input.o +amg_zexample_ml.o: data_input.o +amg_zexample_1lev.o: data_input.o -mld_sexample_ml: $(SMOBJS) - $(FLINK) $(LINKOPT) $(SMOBJS) -o mld_sexample_ml \ - $(MLD_LIBS) $(PSBLAS_LIBS) $(LDLIBS) - /bin/mv mld_sexample_ml $(EXEDIR) +amg_sexample_ml: $(SMOBJS) + $(FLINK) $(LINKOPT) $(SMOBJS) -o amg_sexample_ml \ + $(AMG_LIBS) $(PSBLAS_LIBS) $(LDLIBS) + /bin/mv amg_sexample_ml $(EXEDIR) -mld_sexample_1lev: $(S1OBJS) - $(FLINK) $(LINKOPT) $(S1OBJS) -o mld_sexample_1lev \ - $(MLD_LIBS) $(PSBLAS_LIBS) $(LDLIBS) - /bin/mv mld_sexample_1lev $(EXEDIR) +amg_sexample_1lev: $(S1OBJS) + $(FLINK) $(LINKOPT) $(S1OBJS) -o amg_sexample_1lev \ + $(AMG_LIBS) $(PSBLAS_LIBS) $(LDLIBS) + /bin/mv amg_sexample_1lev $(EXEDIR) -mld_sexample_ml.o: data_input.o -mld_sexample_1lev.o: data_input.o +amg_sexample_ml.o: data_input.o +amg_sexample_1lev.o: data_input.o -mld_cexample_ml: $(CMOBJS) - $(FLINK) $(LINKOPT) $(CMOBJS) -o mld_cexample_ml \ - $(MLD_LIBS) $(PSBLAS_LIBS) $(LDLIBS) - /bin/mv mld_cexample_ml $(EXEDIR) +amg_cexample_ml: $(CMOBJS) + $(FLINK) $(LINKOPT) $(CMOBJS) -o amg_cexample_ml \ + $(AMG_LIBS) $(PSBLAS_LIBS) $(LDLIBS) + /bin/mv amg_cexample_ml $(EXEDIR) -mld_cexample_1lev: $(C1OBJS) - $(FLINK) $(LINKOPT) $(C1OBJS) -o mld_cexample_1lev \ - $(MLD_LIBS) $(PSBLAS_LIBS) $(LDLIBS) - /bin/mv mld_cexample_1lev $(EXEDIR) +amg_cexample_1lev: $(C1OBJS) + $(FLINK) $(LINKOPT) $(C1OBJS) -o amg_cexample_1lev \ + $(AMG_LIBS) $(PSBLAS_LIBS) $(LDLIBS) + /bin/mv amg_cexample_1lev $(EXEDIR) -mld_cexample_ml.o: data_input.o -mld_cexample_1lev.o: data_input.o +amg_cexample_ml.o: data_input.o +amg_cexample_1lev.o: data_input.o clean: /bin/rm -f *$(.mod) \ $(DMOBJS) $(D1OBJS) $(ZMOBJS) $(Z1OBJS) \ - $(EXEDIR)/mld_dexample_ml $(EXEDIR)/mld_dexample_1lev \ - $(EXEDIR)/mld_zexample_ml $(EXEDIR)/mld_zexample_1lev \ + $(EXEDIR)/amg_dexample_ml $(EXEDIR)/amg_dexample_1lev \ + $(EXEDIR)/amg_zexample_ml $(EXEDIR)/amg_zexample_1lev \ $(SMOBJS) $(S1OBJS) $(CMOBJS) $(C1OBJS) \ - $(EXEDIR)/mld_sexample_ml $(EXEDIR)/mld_sexample_1lev \ - $(EXEDIR)/mld_cexample_ml $(EXEDIR)/mld_cexample_1lev + $(EXEDIR)/amg_sexample_ml $(EXEDIR)/amg_sexample_1lev \ + $(EXEDIR)/amg_cexample_ml $(EXEDIR)/amg_cexample_1lev lib: (cd ../../; make library) diff --git a/examples/pdegen/Makefile b/examples/pdegen/Makefile index 7f003246..7a03d5b9 100644 --- a/examples/pdegen/Makefile +++ b/examples/pdegen/Makefile @@ -1,52 +1,52 @@ -MLDDIR=../.. -MLDINCDIR=$(MLDDIR)/include -include $(MLDINCDIR)/Make.inc.amg4psblas -MLDMODDIR=$(MLDDIR)/modules -MLDLIBDIR=$(MLDDIR)/lib -MLD_LIBS=-L$(MLDLIBDIR) -lpsb_krylov -lmld_prec -lpsb_prec -FINCLUDES=$(FMFLAG). $(FMFLAG)$(MLDMODDIR) $(FMFLAG)$(MLDINCDIR) $(PSBLAS_INCLUDES) $(FIFLAG). +AMGDIR=../.. +AMGINCDIR=$(AMGDIR)/include +include $(AMGINCDIR)/Make.inc.amg4psblas +AMGMODDIR=$(AMGDIR)/modules +AMGLIBDIR=$(AMGDIR)/lib +AMG_LIBS=-L$(AMGLIBDIR) -lpsb_krylov -lamg_prec -lpsb_prec +FINCLUDES=$(FMFLAG). $(FMFLAG)$(AMGMODDIR) $(FMFLAG)$(AMGINCDIR) $(PSBLAS_INCLUDES) $(FIFLAG). LINKOPT= -DMOBJS=mld_dexample_ml.o data_input.o mld_dpde_mod.o -D1OBJS=mld_dexample_1lev.o data_input.o mld_dpde_mod.o -SMOBJS=mld_sexample_ml.o data_input.o mld_spde_mod.o -S1OBJS=mld_sexample_1lev.o data_input.o mld_spde_mod.o +DMOBJS=amg_dexample_ml.o data_input.o amg_dpde_mod.o +D1OBJS=amg_dexample_1lev.o data_input.o amg_dpde_mod.o +SMOBJS=amg_sexample_ml.o data_input.o amg_spde_mod.o +S1OBJS=amg_sexample_1lev.o data_input.o amg_spde_mod.o EXEDIR=./runs -all: mld_sexample_ml mld_sexample_1lev mld_dexample_ml mld_dexample_1lev +all: amg_sexample_ml amg_sexample_1lev amg_dexample_ml amg_dexample_1lev -mld_dexample_ml: $(DMOBJS) - $(FLINK) $(LINKOPT) $(DMOBJS) -o mld_dexample_ml \ - $(MLD_LIBS) $(PSBLAS_LIBS) $(LDLIBS) - /bin/mv mld_dexample_ml $(EXEDIR) +amg_dexample_ml: $(DMOBJS) + $(FLINK) $(LINKOPT) $(DMOBJS) -o amg_dexample_ml \ + $(AMG_LIBS) $(PSBLAS_LIBS) $(LDLIBS) + /bin/mv amg_dexample_ml $(EXEDIR) -mld_dexample_1lev: $(D1OBJS) - $(FLINK) $(LINKOPT) $(D1OBJS) -o mld_dexample_1lev \ - $(MLD_LIBS) $(PSBLAS_LIBS) $(LDLIBS) - /bin/mv mld_dexample_1lev $(EXEDIR) +amg_dexample_1lev: $(D1OBJS) + $(FLINK) $(LINKOPT) $(D1OBJS) -o amg_dexample_1lev \ + $(AMG_LIBS) $(PSBLAS_LIBS) $(LDLIBS) + /bin/mv amg_dexample_1lev $(EXEDIR) -mld_dexample_ml.o: data_input.o mld_dpde_mod.o -mld_dexample_1lev.o: data_input.o mld_dpde_mod.o +amg_dexample_ml.o: data_input.o amg_dpde_mod.o +amg_dexample_1lev.o: data_input.o amg_dpde_mod.o -mld_sexample_ml: $(SMOBJS) - $(FLINK) $(LINKOPT) $(SMOBJS) -o mld_sexample_ml \ - $(MLD_LIBS) $(PSBLAS_LIBS) $(LDLIBS) - /bin/mv mld_sexample_ml $(EXEDIR) +amg_sexample_ml: $(SMOBJS) + $(FLINK) $(LINKOPT) $(SMOBJS) -o amg_sexample_ml \ + $(AMG_LIBS) $(PSBLAS_LIBS) $(LDLIBS) + /bin/mv amg_sexample_ml $(EXEDIR) -mld_sexample_1lev: $(S1OBJS) - $(FLINK) $(LINKOPT) $(S1OBJS) -o mld_sexample_1lev \ - $(MLD_LIBS) $(PSBLAS_LIBS) $(LDLIBS) - /bin/mv mld_sexample_1lev $(EXEDIR) +amg_sexample_1lev: $(S1OBJS) + $(FLINK) $(LINKOPT) $(S1OBJS) -o amg_sexample_1lev \ + $(AMG_LIBS) $(PSBLAS_LIBS) $(LDLIBS) + /bin/mv amg_sexample_1lev $(EXEDIR) -mld_sexample_ml.o: data_input.o mld_spde_mod.o -mld_sexample_1lev.o: data_input.o mld_spde_mod.o +amg_sexample_ml.o: data_input.o amg_spde_mod.o +amg_sexample_1lev.o: data_input.o amg_spde_mod.o clean: /bin/rm -f $(DMOBJS) $(D1OBJS) $(SMOBJS) $(S1OBJS) \ - *$(.mod) $(EXEDIR)/mld_dexample_ml $(EXEDIR)/mld_dexample_1lev\ - $(EXEDIR)/mld_sexample_ml $(EXEDIR)/mld_sexample_1lev + *$(.mod) $(EXEDIR)/amg_dexample_ml $(EXEDIR)/amg_dexample_1lev\ + $(EXEDIR)/amg_sexample_ml $(EXEDIR)/amg_sexample_1lev lib: (cd ../../; make library) diff --git a/examples/pdegen/amg_dpde_mod.f90 b/examples/pdegen/amg_dpde_mod.f90 index 86b0676a..61085790 100644 --- a/examples/pdegen/amg_dpde_mod.f90 +++ b/examples/pdegen/amg_dpde_mod.f90 @@ -116,7 +116,7 @@ contains ! Process grid integer(psb_ipk_) :: np, iam integer(psb_ipk_) :: icoeff - integer(psb_ipk_), allocatable :: irow(:),icol(:),myidx(:) + integer(psb_lpk_), allocatable :: irow(:),icol(:),myidx(:) real(psb_dpk_), allocatable :: val(:) ! deltah dimension of each grid cell ! deltat discretization time diff --git a/examples/pdegen/amg_spde_mod.f90 b/examples/pdegen/amg_spde_mod.f90 index 295d89e9..ef9a115a 100644 --- a/examples/pdegen/amg_spde_mod.f90 +++ b/examples/pdegen/amg_spde_mod.f90 @@ -116,7 +116,7 @@ contains ! Process grid integer(psb_ipk_) :: np, iam integer(psb_ipk_) :: icoeff - integer(psb_ipk_), allocatable :: irow(:),icol(:),myidx(:) + integer(psb_lpk_), allocatable :: irow(:),icol(:),myidx(:) real(psb_spk_), allocatable :: val(:) ! deltah dimension of each grid cell ! deltat discretization time diff --git a/tests/fileread/Makefile b/tests/fileread/Makefile index e8fb17d8..187101aa 100644 --- a/tests/fileread/Makefile +++ b/tests/fileread/Makefile @@ -1,51 +1,51 @@ -MLDDIR=../.. -MLDINCDIR=$(MLDDIR)/include -include $(MLDINCDIR)/Make.inc.amg4psblas -MLDMODDIR=$(MLDDIR)/modules -MLDLIBDIR=$(MLDDIR)/lib -MLD_LIBS=-L$(MLDLIBDIR) -lpsb_krylov -lmld_prec -lpsb_prec -FINCLUDES=$(FMFLAG). $(FMFLAG)$(MLDMODDIR) $(FMFLAG)$(MLDINCDIR) $(PSBLAS_INCLUDES) $(FIFLAG). - -DFSOBJS=mld_df_sample.o data_input.o -SFSOBJS=mld_sf_sample.o data_input.o -CFSOBJS=mld_cf_sample.o data_input.o -ZFSOBJS=mld_zf_sample.o data_input.o +AMGDIR=../.. +AMGINCDIR=$(AMGDIR)/include +include $(AMGINCDIR)/Make.inc.amg4psblas +AMGMODDIR=$(AMGDIR)/modules +AMGLIBDIR=$(AMGDIR)/lib +AMG_LIBS=-L$(AMGLIBDIR) -lpsb_krylov -lamg_prec -lpsb_prec +FINCLUDES=$(FMFLAG). $(FMFLAG)$(AMGMODDIR) $(FMFLAG)$(AMGINCDIR) $(PSBLAS_INCLUDES) $(FIFLAG). + +DFSOBJS=amg_df_sample.o data_input.o +SFSOBJS=amg_sf_sample.o data_input.o +CFSOBJS=amg_cf_sample.o data_input.o +ZFSOBJS=amg_zf_sample.o data_input.o LINKOPT= EXEDIR=./runs -all: mld_sf_sample mld_df_sample mld_cf_sample mld_zf_sample +all: amg_sf_sample amg_df_sample amg_cf_sample amg_zf_sample -mld_df_sample: $(DFSOBJS) - $(FLINK) $(LINKOPT) $(DFSOBJS) -o mld_df_sample \ - $(MLD_LIBS) $(PSBLAS_LIBS) $(LDLIBS) - /bin/mv mld_df_sample $(EXEDIR) +amg_df_sample: $(DFSOBJS) + $(FLINK) $(LINKOPT) $(DFSOBJS) -o amg_df_sample \ + $(AMG_LIBS) $(PSBLAS_LIBS) $(LDLIBS) + /bin/mv amg_df_sample $(EXEDIR) -mld_sf_sample: $(SFSOBJS) - $(FLINK) $(LINKOPT) $(SFSOBJS) -o mld_sf_sample \ - $(MLD_LIBS) $(PSBLAS_LIBS) $(LDLIBS) - /bin/mv mld_sf_sample $(EXEDIR) +amg_sf_sample: $(SFSOBJS) + $(FLINK) $(LINKOPT) $(SFSOBJS) -o amg_sf_sample \ + $(AMG_LIBS) $(PSBLAS_LIBS) $(LDLIBS) + /bin/mv amg_sf_sample $(EXEDIR) -mld_cf_sample: $(CFSOBJS) - $(FLINK) $(LINKOPT) $(CFSOBJS) -o mld_cf_sample \ - $(MLD_LIBS) $(PSBLAS_LIBS) $(LDLIBS) - /bin/mv mld_cf_sample $(EXEDIR) +amg_cf_sample: $(CFSOBJS) + $(FLINK) $(LINKOPT) $(CFSOBJS) -o amg_cf_sample \ + $(AMG_LIBS) $(PSBLAS_LIBS) $(LDLIBS) + /bin/mv amg_cf_sample $(EXEDIR) -mld_zf_sample: $(ZFSOBJS) - $(FLINK) $(LINKOPT) $(ZFSOBJS) -o mld_zf_sample \ - $(MLD_LIBS) $(PSBLAS_LIBS) $(LDLIBS) - /bin/mv mld_zf_sample $(EXEDIR) +amg_zf_sample: $(ZFSOBJS) + $(FLINK) $(LINKOPT) $(ZFSOBJS) -o amg_zf_sample \ + $(AMG_LIBS) $(PSBLAS_LIBS) $(LDLIBS) + /bin/mv amg_zf_sample $(EXEDIR) -mld_sf_sample.o: data_input.o -mld_df_sample.o: data_input.o -mld_cf_sample.o: data_input.o -mld_zf_sample.o: data_input.o +amg_sf_sample.o: data_input.o +amg_df_sample.o: data_input.o +amg_cf_sample.o: data_input.o +amg_zf_sample.o: data_input.o clean: /bin/rm -f $(DFSOBJS) $(ZFSOBJS) $(SFSOBJS) $(CFSOBJS) \ - *$(.mod) $(EXEDIR)/mld_sf_sample $(EXEDIR)/mld_cf_sample \ - $(EXEDIR)/mld_df_sample $(EXEDIR)/mld_zf_sample + *$(.mod) $(EXEDIR)/amg_sf_sample $(EXEDIR)/amg_cf_sample \ + $(EXEDIR)/amg_df_sample $(EXEDIR)/amg_zf_sample lib: (cd ../../; make library) diff --git a/tests/fileread/amg_cf_sample.f90 b/tests/fileread/amg_cf_sample.f90 index 24c47662..eb15db6f 100644 --- a/tests/fileread/amg_cf_sample.f90 +++ b/tests/fileread/amg_cf_sample.f90 @@ -121,7 +121,8 @@ program amg_cf_sample type(precdata) :: p_choice ! sparse matrices - type(psb_cspmat_type) :: a, aux_a + type(psb_cspmat_type) :: a + type(psb_lcspmat_type) :: aux_a ! preconditioner data type(amg_cprec_type) :: prec @@ -135,8 +136,8 @@ program amg_cf_sample type(psb_desc_type):: desc_a type(psb_ctxt_type) :: ctxt - integer(psb_ipk_) :: iam, np - + integer(psb_ipk_) :: iam, np + integer(psb_lpk_) :: lnp ! solver paramters integer(psb_ipk_) :: iter, ircode, nlv integer(psb_epk_) :: amatsize, precsize, descsize @@ -149,7 +150,7 @@ program amg_cf_sample ! other variables integer(psb_ipk_) :: i, info, j, k, m_problem - integer(psb_ipk_) :: lbw, ubw, prf + integer(psb_lpk_) :: lbw, ubw, prf real(psb_dpk_) :: t1, t2, tprec, thier, tslv real(psb_spk_) :: resmx, resmxp, xdiffn2, xdiffni, xni, xn2 integer(psb_ipk_) :: nrhs, nv @@ -324,7 +325,11 @@ program amg_cf_sample if (iam == psb_root_) then write(psb_out_unit,'("Partition type: graph")') write(psb_out_unit,'(" ")') - call build_mtpart(aux_a,np) + ! write(psb_err_unit,'("Build type: graph")') + call aux_a%cscnv(info,type='csr') + lnp = np + call build_mtpart(aux_a,lnp) + endif call distr_mtpart(psb_root_,ctxt) call getv_mtpart(ivg) diff --git a/tests/fileread/amg_df_sample.f90 b/tests/fileread/amg_df_sample.f90 index cd6e0d46..8a12c776 100644 --- a/tests/fileread/amg_df_sample.f90 +++ b/tests/fileread/amg_df_sample.f90 @@ -121,7 +121,8 @@ program amg_df_sample type(precdata) :: p_choice ! sparse matrices - type(psb_dspmat_type) :: a, aux_a + type(psb_dspmat_type) :: a + type(psb_ldspmat_type) :: aux_a ! preconditioner data type(amg_dprec_type) :: prec @@ -135,8 +136,8 @@ program amg_df_sample type(psb_desc_type):: desc_a type(psb_ctxt_type) :: ctxt - integer(psb_ipk_) :: iam, np - + integer(psb_ipk_) :: iam, np + integer(psb_lpk_) :: lnp ! solver paramters integer(psb_ipk_) :: iter, ircode, nlv integer(psb_epk_) :: amatsize, precsize, descsize @@ -149,7 +150,7 @@ program amg_df_sample ! other variables integer(psb_ipk_) :: i, info, j, k, m_problem - integer(psb_ipk_) :: lbw, ubw, prf + integer(psb_lpk_) :: lbw, ubw, prf real(psb_dpk_) :: t1, t2, tprec, thier, tslv real(psb_dpk_) :: resmx, resmxp, xdiffn2, xdiffni, xni, xn2 integer(psb_ipk_) :: nrhs, nv @@ -324,7 +325,11 @@ program amg_df_sample if (iam == psb_root_) then write(psb_out_unit,'("Partition type: graph")') write(psb_out_unit,'(" ")') - call build_mtpart(aux_a,np) + ! write(psb_err_unit,'("Build type: graph")') + call aux_a%cscnv(info,type='csr') + lnp = np + call build_mtpart(aux_a,lnp) + endif call distr_mtpart(psb_root_,ctxt) call getv_mtpart(ivg) diff --git a/tests/fileread/amg_sf_sample.f90 b/tests/fileread/amg_sf_sample.f90 index a6d02565..ad9542df 100644 --- a/tests/fileread/amg_sf_sample.f90 +++ b/tests/fileread/amg_sf_sample.f90 @@ -121,7 +121,8 @@ program amg_sf_sample type(precdata) :: p_choice ! sparse matrices - type(psb_sspmat_type) :: a, aux_a + type(psb_sspmat_type) :: a + type(psb_lsspmat_type) :: aux_a ! preconditioner data type(amg_sprec_type) :: prec @@ -135,8 +136,8 @@ program amg_sf_sample type(psb_desc_type):: desc_a type(psb_ctxt_type) :: ctxt - integer(psb_ipk_) :: iam, np - + integer(psb_ipk_) :: iam, np + integer(psb_lpk_) :: lnp ! solver paramters integer(psb_ipk_) :: iter, ircode, nlv integer(psb_epk_) :: amatsize, precsize, descsize @@ -149,7 +150,7 @@ program amg_sf_sample ! other variables integer(psb_ipk_) :: i, info, j, k, m_problem - integer(psb_ipk_) :: lbw, ubw, prf + integer(psb_lpk_) :: lbw, ubw, prf real(psb_dpk_) :: t1, t2, tprec, thier, tslv real(psb_spk_) :: resmx, resmxp, xdiffn2, xdiffni, xni, xn2 integer(psb_ipk_) :: nrhs, nv @@ -324,7 +325,11 @@ program amg_sf_sample if (iam == psb_root_) then write(psb_out_unit,'("Partition type: graph")') write(psb_out_unit,'(" ")') - call build_mtpart(aux_a,np) + ! write(psb_err_unit,'("Build type: graph")') + call aux_a%cscnv(info,type='csr') + lnp = np + call build_mtpart(aux_a,lnp) + endif call distr_mtpart(psb_root_,ctxt) call getv_mtpart(ivg) diff --git a/tests/fileread/amg_zf_sample.f90 b/tests/fileread/amg_zf_sample.f90 index 61cf9c72..8b639fd3 100644 --- a/tests/fileread/amg_zf_sample.f90 +++ b/tests/fileread/amg_zf_sample.f90 @@ -121,7 +121,8 @@ program amg_zf_sample type(precdata) :: p_choice ! sparse matrices - type(psb_zspmat_type) :: a, aux_a + type(psb_zspmat_type) :: a + type(psb_lzspmat_type) :: aux_a ! preconditioner data type(amg_zprec_type) :: prec @@ -135,8 +136,8 @@ program amg_zf_sample type(psb_desc_type):: desc_a type(psb_ctxt_type) :: ctxt - integer(psb_ipk_) :: iam, np - + integer(psb_ipk_) :: iam, np + integer(psb_lpk_) :: lnp ! solver paramters integer(psb_ipk_) :: iter, ircode, nlv integer(psb_epk_) :: amatsize, precsize, descsize @@ -149,7 +150,7 @@ program amg_zf_sample ! other variables integer(psb_ipk_) :: i, info, j, k, m_problem - integer(psb_ipk_) :: lbw, ubw, prf + integer(psb_lpk_) :: lbw, ubw, prf real(psb_dpk_) :: t1, t2, tprec, thier, tslv real(psb_dpk_) :: resmx, resmxp, xdiffn2, xdiffni, xni, xn2 integer(psb_ipk_) :: nrhs, nv @@ -324,7 +325,11 @@ program amg_zf_sample if (iam == psb_root_) then write(psb_out_unit,'("Partition type: graph")') write(psb_out_unit,'(" ")') - call build_mtpart(aux_a,np) + ! write(psb_err_unit,'("Build type: graph")') + call aux_a%cscnv(info,type='csr') + lnp = np + call build_mtpart(aux_a,lnp) + endif call distr_mtpart(psb_root_,ctxt) call getv_mtpart(ivg) diff --git a/tests/pdegen/Makefile b/tests/pdegen/Makefile index 0986f454..7691345f 100644 --- a/tests/pdegen/Makefile +++ b/tests/pdegen/Makefile @@ -1,4 +1,4 @@ -AMGDIR=../../.. +AMGDIR=../.. AMGINCDIR=$(AMGDIR)/include include $(AMGINCDIR)/Make.inc.amg4psblas AMGMODDIR=$(AMGDIR)/modules diff --git a/tests/pdegen/runs/amg_pde2d.inp b/tests/pdegen/runs/amg_pde2d.inp index b295a50d..61d0bcec 100644 --- a/tests/pdegen/runs/amg_pde2d.inp +++ b/tests/pdegen/runs/amg_pde2d.inp @@ -9,7 +9,7 @@ CG ! Iterative method: BiCGSTAB BiCGSTABL BiCG CG CGS F 30 ! IRST (restart for RGMRES and BiCGSTABL) 1.d-6 ! EPS %%%%%%%%%%% Main preconditioner choices %%%%%%%%%%%%%%%% -ML-VCYCLE-BJAC-R-UMF ! Longer descriptive name for preconditioner (up to 20 chars) +ML-VCYCLE-BJAC-D-BJAC ! Longer descriptive name for preconditioner (up to 20 chars) ML ! Preconditioner type: NONE JACOBI GS FBGS BJAC AS ML %%%%%%%%%%% First smoother (for all levels but coarsest) %%%%%%%%%%%%%%%% BJAC ! Smoother type JACOBI FBGS GS BWGS BJAC AS. For 1-level, repeats previous. @@ -18,7 +18,9 @@ BJAC ! Smoother type JACOBI FBGS GS BWGS BJAC AS. For 1-l HALO ! AS restriction operator: NONE HALO NONE ! AS prolongation operator: NONE SUM AVG ILU ! Subdomain solver for BJAC/AS: JACOBI GS BGS ILU ILUT MILU MUMPS SLU UMF +LLK ! AINV variant, ignored otherwise 0 ! Fill level P for ILU(P) and ILU(T,P) +1 ! Inverse Fill level P for INVK 1.d-4 ! Threshold T for ILU(T,P) %%%%%%%%%%% Second smoother, always ignored for non-ML %%%%%%%%%%%%%%%% NONE ! Second (post) smoother, ignored if NONE @@ -27,7 +29,9 @@ NONE ! Second (post) smoother, ignored if NONE HALO ! AS restriction operator: NONE HALO NONE ! AS prolongation operator: NONE SUM AVG ILU ! Subdomain solver for BJAC/AS: JACOBI GS BGS ILU ILUT MILU MUMPS SLU UMF +LLK ! AINV variant, ignored otherwise 0 ! Fill level P for ILU(P) and ILU(T,P) +8 ! Inverse Fill level P for INVK 1.d-4 ! Threshold T for ILU(T,P) %%%%%%%%%%% Multilevel parameters %%%%%%%%%%%%%%%% VCYCLE ! Type of multilevel CYCLE: VCYCLE WCYCLE KCYCLE MULT ADD diff --git a/tests/pdegen/runs/amg_pde3d.inp b/tests/pdegen/runs/amg_pde3d.inp index 1a8393e8..8be43138 100644 --- a/tests/pdegen/runs/amg_pde3d.inp +++ b/tests/pdegen/runs/amg_pde3d.inp @@ -8,6 +8,7 @@ BICGSTAB ! Iterative method: BiCGSTAB BiCGSTABL BiCG CG CGS F 1 ! ITRACE 30 ! IRST (restart for RGMRES and BiCGSTABL) 1.d-6 ! EPS +%%%%%%%%%%% Main preconditioner choices %%%%%%%%%%%%%%%% ML-VCYCLE-BJAC-R-UMF ! Longer descriptive name for preconditioner (up to 20 chars) ML ! Preconditioner type: NONE JACOBI GS FBGS BJAC AS ML %%%%%%%%%%% First smoother (for all levels but coarsest) %%%%%%%%%%%%%%%%