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 <jczh...@mcs.anl.gov<mailto:jczh...@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