I agree. If you are mixing C and Fortran, everything is /nota bene. /It
is easy to miss argument mismatches.
-sanjay
On 3/23/21 11:04 AM, Barry Smith wrote:
In a pure Fortran code using -fdefault-integer-8 is probably fine.
But MUMPS is a mixture of Fortran and C code and PETSc uses MUMPs C
interface. The -fdefault-integer-8 doesn't magically fix anything in
the C parts of MUMPS. I also don't know about MPI calls and if they
would need editing.
I am not saying it is impossible to get it to work but one needs
are to insure the C portions also switch to 64 bit integers in a
consistent way. This may be all doable bit is not simply using
-fdefault-integer-8 on MUMPS.
Barry
On Mar 23, 2021, at 12:07 AM, Sanjay Govindjee <[email protected]
<mailto:[email protected]>> wrote:
Barry,
I am curious about your statement "does not work generically". If I
compile with -fdefault-integer-8,
I would assume that this produces objects/libraries that will use
64bit integers. As long as I have not declared
explicit kind=4 integers, what else could go wrong.
-sanjay
PS: I am not advocating this as a great idea, but I am curious if
there or other obscure compiler level things that could go wrong.
On 3/22/21 8:53 PM, Barry Smith wrote:
On Mar 22, 2021, at 3:24 PM, Junchao Zhang <[email protected]
<mailto:[email protected]>> wrote:
On Mon, Mar 22, 2021 at 1:39 PM Barry Smith <[email protected]
<mailto:[email protected]>> wrote:
Version of PETSc and MUMPS? We fixed a bug in MUMPs a couple
years ago that produced error messages as below. Please confirm
you are using the latest PETSc and MUMPS.
You can run your production version with the option
-malloc_debug ; this will slow it down a bit but if there is
memory corruption it may detect it and indicate the problematic
error.
One also has to be careful about the size of the problem
passed to MUMPs since PETSc/MUMPs does not fully support using
all 64 bit integers. Is it only crashing for problems near 2
billion entries in the sparse matrix?
"problems near 2 billion entries"? I don't understand. Should not
be an issue if building petsc with 64-bit indices.
MUMPS does not have proper support for 64 bit indices. It relies
on add-hoc Fortran compiler command line options to support to
converting integer to 64 bit integers and does not work generically.
Yes, Fortran lovers have been doing this for 30 years inside their
applications but it does not really work in a library environment.
But then a big feature of Fortran is "who needs libraries, we just
write all the code we need" (except Eispack,Linpack,LAPACK :=-).
valgrind is the gold standard for detecting memory
corruption.
Barry
On Mar 22, 2021, at 12:56 PM, Chris Hewson <[email protected]
<mailto:[email protected]>> wrote:
Hi All,
I have been having a problem with MUMPS randomly crashing in
our program and causing the entire program to crash. I am
compiling in -O2 optimization mode and using --download-mumps
etc. to compile PETSc. If I rerun the program, 95%+ of the
time I can't reproduce the error. It seems to be a similar
issue to this thread:
https://lists.mcs.anl.gov/pipermail/petsc-users/2018-October/036372.html
<https://lists.mcs.anl.gov/pipermail/petsc-users/2018-October/036372.html>
Similar to the resolution there I am going to try and increase
icntl_14 and see if that resolves the issue. Any other
thoughts on this?
Thanks,
*
*
*Chris Hewson*
Senior Reservoir Simulation Engineer
ResFrac
+1.587.575.9792