[petsc-dev] errors with cuda + mumps

Zhang, Junchao jczhang at mcs.anl.gov
Wed Mar 13 15:36:59 CDT 2019


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)
  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?

--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/779d98b4/attachment.html>


More information about the petsc-dev mailing list