[petsc-dev] "alt" versions of tests

Satish Balay balay at mcs.anl.gov
Mon Jun 15 11:17:07 CDT 2020


On Mon, 15 Jun 2020, Mark Adams wrote:

> src/ksp/ksp/tutorials/output/ex71_bddc_elast_both_approx_*alt.*out uses ML
> and src/ksp/ksp/tutorials/output/ex71_bddc_elast_both_approx.out uses GAMG.

This is weird. Is it because this test defaults to GAMG on some machines and ML on others?

alt files are to mask diffs that come up due to differences in OS, CPU, compilers  [and versions] etc - that produce numerical differences. So the solver type should not change from regular to alt file. [unless its a default - and this changes on certain builds]

Or if the alt file has wrong data [its not getting properly used anyway - and perhaps its not needed] - so it should be deleted.

> 
> The test seems to look at the alt file and not the normal one. I don't
> understand.

As mentioned the tests do diffs with all files. And if all diffs fail - it prints one of the diffs. We should infer that all diffs failed.

And then figure out whats the best way to update the output files.

Satish

> I do get an error message ...
> 
> 11:42 adams/cheby-spd-cg= ~/Codes/petsc-master$ make cleantest
> /usr/bin/make  --no-print-directory -f gmakefile.test
> PETSC_ARCH=arch-macosx-gnu-g PETSC_DIR=/Users/markadams/Codes/petsc
> cleantest
> /bin/rm -f -r ./arch-macosx-gnu-g/tests ./arch-macosx-gnu-g/tests/testfiles
> 11:42 adams/cheby-spd-cg= ~/Codes/petsc-master$ make -f gmakefile test
> search='ksp_ksp_tutorials-ex71_bddc_elast_both%' PETSC_DIR=$PWD
> 
> *gmakefile.test:92: arch-macosx-gnu-g/tests/testfiles: No such file or
> directory*/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
> /Users/markadams/Codes/petsc-master/config/gmakegentest.py
> --petsc-dir=/Users/markadams/Codes/petsc-master
> --petsc-arch=arch-macosx-gnu-g --testdir=./arch-macosx-gnu-g/tests
> Using MAKEFLAGS: PETSC_DIR=/Users/markadams/Codes/petsc-master
> search=ksp_ksp_tutorials-ex71_bddc_elast_both%
>           CC arch-macosx-gnu-g/tests/ksp/ksp/tutorials/ex71.o
>      CLINKER arch-macosx-gnu-g/tests/ksp/ksp/tutorials/ex71
>         TEST
> arch-macosx-gnu-g/tests/counts/ksp_ksp_tutorials-ex71_bddc_elast_both_approx.counts
>  ok ksp_ksp_tutorials-ex71_bddc_elast_both_approx
> not ok diff-ksp_ksp_tutorials-ex71_bddc_elast_both_approx # Error code: 1
> # 1,13c1
> # <   0 KSP Residual norm 1615.07
> # <   1 KSP Residual norm 420.868
> # <   2 KSP Residual norm 187.45
> # <   3 KSP Residual norm 67.3919
> # <   4 KSP Residual norm 21.3237
> # <   5 KSP Residual norm 5.8091
> # <   6 KSP Residual norm 1.0923
> # <   7 KSP Residual norm 0.527464
> # <   8 KSP Residual norm 0.380684
> # <   9 KSP Residual norm 0.0354163
> # <  10 KSP Residual norm 0.0237308
> # <  11 KSP Residual norm 0.0121289
> # < Linear solve converged due to CONVERGED_RTOL iterations 11
> # ---
> # > Linear solve converged due to CONVERGED_RTOL iterations 10
> # 77,92d64
> # <     PC Object: 1 MPI processes
> # <       type: shell
> # <         Nullspace corrected interior solve
> # <         L:
> # <           Mat Object: 1 MPI processes
> # <             type: seqdense
> # <             rows=144, cols=6
> # <             total: nonzeros=864, allocated nonzeros=864
> # <             total number of mallocs used during MatSetValues calls=0
> # <         K:
> # <           Mat Object: 1 MPI processes
> # <             type: seqdense
> # <             rows=144, cols=6
> # <             total: nonzeros=864, allocated nonzeros=864
> # <             total number of mallocs used during MatSetValues calls=0
> # <         inner preconditioner:
> # 94,95c66,67
> # <             type: ml
> # <               type is MULTIPLICATIVE, levels=3 cycles=v
> # ---
> # >       type: gamg
> # >         type is MULTIPLICATIVE, levels=2 cycles=v
> # 97a70,77
> 
> On Mon, Jun 15, 2020 at 10:15 AM Satish Balay <balay at mcs.anl.gov> wrote:
> 
> > On Mon, 15 Jun 2020, Mark Adams wrote:
> >
> > > My pipeline is failing on ksp/ex71.c and it seems to be picking up an
> > "alt"
> > > version of the output.
> >
> > Hm - it does a diff with (basic, alt) files. If all diffs fail - then it
> > prints a diff from one of them.
> >
> >
> > > I tried REPLACE=1 and both output files seemed to
> > > change. What is going on with these "alt" output files?
> >
> > I'm not sure how this works with alt files. I assumed it ignores alt
> > files - and updates the primary file.  Usually I would need a new alt
> > file - so I just move this over manually to a new one [and keep the
> > current files unchanged]
> >
> > Note: To test the new alt file - one need to do 'make cleantest' and
> > rerun the test - otherwise the test harness does not know that it
> > should pick up the new alt file.
> >
> > Satish
> >
> 



More information about the petsc-dev mailing list