On Sun, May 31, 2020 at 10:33 AM Drew Parsons <dpars...@debian.org> wrote:
> On 2020-05-27 22:00, Junchao Zhang wrote: > > On Wed, May 27, 2020 at 12:09 AM Drew Parsons <dpars...@debian.org> > > wrote: > > > >> On 2020-05-24 10:01, Drew Parsons wrote: > >>> On 2020-05-23 23:45, Satish Balay wrote: > >>>> > >>>> One more issue: Most externalpackages don't support > >> 64bit-indices. > >> ... > >>>> We haven't tried using MUMPS in this mode with PETSc > >>> > >>> This will be the interesting test. I'll start with the 64-bit > >> build of > >>> MUMPS and see how tests hold up. > >> > >> The PETSc mumps tests seem to be robust with respect to 64 bit. > >> (64 bit MUMPS in the form of -DPORD_INTSIZE64, not all-integer > >> -DINTSIZE64) > >> > >> That is, 32 bit PETSc passes its tests with 64 bit (PORD) MUMPS > >> and 64 bit PETSc passes its tests with 32 bit MUMPS. > >> > >> The test in question that's passing is src/snes/tutorials/ex19, run > >> with > >> 'make runex19_fieldsplit_mumps' > >> Perhaps it's not stress-testing 64 bit conditions. > > > > Could you provide more details, e.g., the error stack trace? > > > > Hi Junchao, PETSc's mumps test runs fine, there is no error to trace as > such, just a diff with the reference output. > > With 32-bit PETSc and 64-bit [PORD] MUMPS, > > $ mpirun -n 2 ./ex19 -pc_type fieldsplit -pc_fieldsplit_block_size 4 > -pc_fieldsplit_type SCHUR -pc_fieldsplit_0_fields 0,1,2 > -pc_fieldsplit_1_fields 3 -fieldsplit_0_pc_type lu -fieldsplit_1_pc_type > lu -snes_monitor_short -ksp_monitor_short > -fieldsplit_0_pc_factor_mat_solver_type mumps > -fieldsplit_1_pc_factor_mat_solver_type mumps > > returns the result: > > lid velocity = 0.0625, prandtl # = 1., grashof # = 1. > 0 SNES Function norm 0.239155 > 0 KSP Residual norm 0.235858 > 1 KSP Residual norm < 1.e-11 > 1 SNES Function norm 6.81968e-05 > 0 KSP Residual norm 2.30906e-05 > 1 KSP Residual norm < 1.e-11 > 2 SNES Function norm < 1.e-11 > Number of SNES iterations = 2 > > > where output/ex19_fieldsplit_5.out has > > lid velocity = 0.0625, prandtl # = 1., grashof # = 1. > 0 SNES Function norm 0.239155 > 0 KSP Residual norm 0.239155 > 1 KSP Residual norm < 1.e-11 > 1 SNES Function norm 6.81968e-05 > 0 KSP Residual norm 6.81968e-05 > 1 KSP Residual norm < 1.e-11 > 2 SNES Function norm < 1.e-11 > Number of SNES iterations = 2 > > > So the diff in this case is > > $make runex19_fieldsplit_mumps > 3c3 > < 0 KSP Residual norm 0.239155 > --- > > 0 KSP Residual norm 0.235858 > 6c6 > < 0 KSP Residual norm 6.81968e-05 > --- > > 0 KSP Residual norm 2.30906e-05 > I tested it with both 32-bit and 64-bit. They had the same result as yours. It seems we need to update the output file in the repo. I will do it. Thanks.