Bug#953116: [petsc-maint] 32 bit vs 64 bit PETSc

Junchao Zhang junchao.zhang at gmail.com
Wed Jun 3 21:37:51 BST 2020


On Sun, May 31, 2020 at 10:33 AM Drew Parsons <dparsons at debian.org> wrote:

> On 2020-05-27 22:00, Junchao Zhang wrote:
> > On Wed, May 27, 2020 at 12:09 AM Drew Parsons <dparsons at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-science-maintainers/attachments/20200603/0037dfb9/attachment.html>


More information about the debian-science-maintainers mailing list