[petsc-dev] errors with cuda + mumps

Zhang, Junchao jczhang at mcs.anl.gov
Wed Mar 13 16:37:55 CDT 2019




On Wed, Mar 13, 2019 at 3:49 PM Balay, Satish <balay at mcs.anl.gov<mailto:balay at mcs.anl.gov>> wrote:
mailers that only format html and not the text form are annoying :(


On Wed, 13 Mar 2019, Zhang, Junchao wrote:

> Satish,   I found something strange. I configured with --with-cuda --with-precision=single, then with -log_view, I saw
>       Compiled with single precision PetscScalar and PetscReal
> Compiled with full precision matrices (default)

This message is misleading [and should be fixed]. This feature was removed.

>
>   I found that confused mumps. When I added --with-precision=double, I got consistent MatScalar and PetscScalar precision, and the errors I reported
> disappeared. Do you know why?

how is mumps confused? Perhaps this example doesn't work with single precision? [or mumps single precision doesn't work for this problem?]

 OK, I thought mumps was inputed with a double precision matrix and single precision vectors.  I was wrong.  I tested on my laptop --with-cuda --with-precision=single, these errors did show up.  In petsc dashboard, we do not have "single + mumps" combination.  I will create a PR to mark these tests require double.

Lots of examples fail with single precision..

Satish

>
> --Junchao Zhang
>
>
> On Wed, Mar 13, 2019 at 11:15 AM Junchao Zhang <jczhang at mcs.anl.gov<mailto:jczhang at mcs.anl.gov>> wrote:
>       I met some errors with cuda + mumps. It was tested with
>       make -f gmakefile test search='snes_tutorials-ex69_q2p1fetidp_deluxe snes_tutorials-ex62_fetidp_2d_quad
>       snes_tutorials-ex69_q2p1fetidp_deluxe_adaptive ksp_ksp_tutorials-ex52f_mumps'
>
> I can reproduce it with petsc master.  The first line of petsc nightly
> (http://ftp.mcs.anl.gov/pub/petsc/nightlylogs/archive/2019/03/12/master.html) shows another error. But I guess they have the same root: PETSc
> gives random wrong results in some cases. For example, I ran ksp_ksp_tutorials-ex52f_mumps twice and saw
>
>       $ mpirun -n 3 ./ex52f
> Mumps row pivot threshhold =    1.00E-06
> Mumps determinant=(   9.01E-01   0.00E+00)*2^ 99
> Norm of error  1.5554E-06 iterations     1
>
> $ mpirun -n 3 ./ex52f
> Mumps row pivot threshhold =    1.00E-06
> Mumps determinant=(   9.01E-01   0.00E+00)*2^ 99
> Norm of error  1.6356E-06 iterations     1
>
>
> The correct output has "Norm of error < 1.e-12,iterations     1".  Currently, I do know the reason.
>
> --Junchao Zhang
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20190313/26fdd8cb/attachment.html>


More information about the petsc-dev mailing list