<div dir="ltr"><div dir="ltr"><br><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Mar 27, 2021 at 9:55 AM Fande Kong <<a href="mailto:fdkong.jd@gmail.com">fdkong.jd@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr">There are some statements from MUMPS user manual <a href="http://mumps.enseeiht.fr/doc/userguide_5.3.5.pdf" target="_blank">http://mumps.enseeiht.fr/doc/userguide_5.3.5.pdf</a><div><br></div><div>"</div><div>A full 64-bit integer version can be obtained compiling MUMPS with C preprocessing flag -DINTSIZE64 and Fortran compiler option -i8, -fdefault-integer-8 or something equivalent depending on your compiler, and compiling all libraries including MPI, BLACS, ScaLAPACK, LAPACK and BLAS also with 64-bit integers. We refer the reader to the “INSTALL” file provided with the package for details and explanations of the compilation flags controlling integer sizes.<br></div><div>"</div><div><br></div><div>It seems possible to build a full-64-bit-integer version of MUMPS. However, I do not understand how to build MPI with 64-bit integer support. From my understanding, MPI is hard coded with an integer type (int), and there is no way to make "int" become "long" .</div></div></div></div></blockquote><div>Fande, it is possible for Fortran code, see <a href="https://software.intel.com/content/www/us/en/develop/documentation/mpi-developer-guide-linux/top/compiling-and-linking/ilp64-support.html">https://software.intel.com/content/www/us/en/develop/documentation/mpi-developer-guide-linux/top/compiling-and-linking/ilp64-support.html</a></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><br></div><div><br></div><div>Thanks,</div><div><br></div><div>Fande</div><div><br></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Mar 23, 2021 at 12:20 PM Sanjay Govindjee <<a href="mailto:s_g@berkeley.edu" target="_blank">s_g@berkeley.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
I agree. If you are mixing C and Fortran, everything is <i>nota
bene. </i>It is easy to miss argument mismatches.<br>
-sanjay<br>
<br>
<div>On 3/23/21 11:04 AM, Barry Smith wrote:<br>
</div>
<blockquote type="cite">
<div><br>
</div>
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.
<div><br>
</div>
<div> 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.</div>
<div><br>
</div>
<div> Barry</div>
<div><br>
<div><br>
<blockquote type="cite">
<div>On Mar 23, 2021, at 12:07 AM, Sanjay Govindjee
<<a href="mailto:s_g@berkeley.edu" target="_blank">s_g@berkeley.edu</a>> wrote:</div>
<br>
<div>
<div> Barry,<br>
I am curious about your statement "does not work
generically". If I compile with -fdefault-integer-8,<br>
I would assume that this produces objects/libraries that
will use 64bit integers. As long as I have not declared<br>
explicit kind=4 integers, what else could go wrong.<br>
-sanjay<br>
<br>
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. <br>
<br>
<br>
<div>On 3/22/21 8:53 PM, Barry
Smith wrote:<br>
</div>
<blockquote type="cite">
<br>
<div><br>
<blockquote type="cite">
<div>On Mar 22, 2021, at 3:24 PM, Junchao
Zhang <<a href="mailto:junchao.zhang@gmail.com" target="_blank">junchao.zhang@gmail.com</a>>
wrote:</div>
<br>
<div>
<div dir="ltr">
<div dir="ltr"><br>
<br>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Mon,
Mar 22, 2021 at 1:39 PM Barry Smith <<a href="mailto:bsmith@petsc.dev" target="_blank">bsmith@petsc.dev</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<div><br>
</div>
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.
<div><br>
</div>
<div> 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. </div>
<div><br>
</div>
<div> 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?</div>
</div>
</blockquote>
<div> "problems near 2 billion
entries"? I don't understand. Should not
be an issue if building petsc with 64-bit
indices.</div>
</div>
</div>
</div>
</blockquote>
<div><br>
</div>
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 :=-).</div>
<div><br>
<blockquote type="cite">
<div>
<div dir="ltr">
<div class="gmail_quote">
<div><br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<div><br>
</div>
<div> valgrind is the gold
standard for detecting memory
corruption. </div>
<div><br>
</div>
<div>Barry</div>
<div><br>
<div><br>
<blockquote type="cite">
<div>On Mar 22, 2021, at
12:56 PM, Chris Hewson <<a href="mailto:chris@resfrac.com" target="_blank">chris@resfrac.com</a>>
wrote:</div>
<br>
<div>
<div dir="ltr">Hi All,
<div><br>
</div>
<div>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:</div>
<div><br>
</div>
<div><a href="https://lists.mcs.anl.gov/pipermail/petsc-users/2018-October/036372.html" target="_blank">https://lists.mcs.anl.gov/pipermail/petsc-users/2018-October/036372.html</a></div>
<div><br>
</div>
<div>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?</div>
<div><br>
</div>
<div>Thanks,</div>
<div>
<div>
<div dir="ltr">
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr"><b><br>
</b></div>
<div dir="ltr"><b>Chris
Hewson</b>
<div>Senior
Reservoir
Simulation
Engineer</div>
<div>ResFrac</div>
<div>+1.587.575.9792</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</blockquote>
<br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div>
</blockquote></div>
</blockquote></div></div>