<div dir="ltr"><div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Fri, Oct 19, 2018 at 3:09 PM Moritz Cygorek <<a href="mailto:mcygorek@uottawa.ca">mcygorek@uottawa.ca</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 id="gmail-m_-3268069161447790241divtagdefaultwrapper" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Arial,Helvetica,sans-serif">
<p>Hi,</p>
<p>I'm using SLEPc to diagonalize a huge sparse matrix and I've encountered random segmentation faults. </p>
<p>I'm actually using a the slepc example 4 without modifications to rule out errors due to coding.</p>
<p>Concretely, I use the command line <br>
</p>
<p><br>
</p>
<p></p>
<div>
<div>ompirun -n 28 ex4 \<br>
</div>
-file amatrix.bin -eps_tol 1e-6 -eps_target 0 -eps_nev 18 \<br>
-eps_harmonic -eps_ncv 40 -eps_max_it 100000 \<br>
-eps_monitor -eps_view  -eps_view_values -eps_view_vectors 2>&1 |tee -a $LOGFILE</div>
<br>
<p></p>
<p><br>
</p>
<p><br>
</p>
<p>The program runs for some time (about half a day) and then stops with the error message</p>
<p><br>
</p>
<br>
<p></p>
<p></p>
<div>[13]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, probably memory access out of range<br>
<br>
</div>
There is definitely enough memory, because I'm using less than 4% of the available 128GB.
<p></p>
<br>
<p><br>
</p>
<p><br>
</p>
<p>Since everything worked fine on a slower computer with a different setup and from previous mailing list comments, I have the feeling that this might be due to some issues with MPI.</p>
<p><br>
</p>
<p>Unfortunately, I have to share the computer with other people and can not uninstall the current MPI implementation and I've also heard that there are issues if you install more than one MPI implementation.
<br>
</p>
<p><br>
</p>
<p>For your information: I've configured PETSc with</p>
<p><br>
</p>
<p></p>
<div>./configure  --with-mpi-dir=/home/applications/builds/intel_2018/openmpi-3.0.1/ --with-scalar-type=complex --download-mumps --download-scalapack --with-blas-lapack-dir=/opt/intel/compilers_and_libraries_2018.2.199/linux/mkl<br></div>
<p>I wanted to ask a few things:</p>
<p>- Is there a known issue with openmpi causing random segmentation faults?</p></div></div></blockquote><div>OpenMPI certainly has had bugs, but this is not a constrained enough question to pin the fault on any one of those.</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 id="gmail-m_-3268069161447790241divtagdefaultwrapper" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Arial,Helvetica,sans-serif">
<p>- I've also tried to install everything needed by configuring PETSc with</p>
<div>./configure \<br>
--with-cc=gcc --with-cxx=g++ --with-fc=gfortran --with-scalar-type=complex \<br>
--download-mumps --download-scalapack --download-mpich --download-fblaslapack</div>
<div><br>
Here, the problem is that performing the checks after "make" stops after the check with 1 MPI process, i.e., the check using 2 MPI just never finishes.
<br>
Is that a known issue of conflict between the downloaded mpich and the installed openmpi?</div></div></div></blockquote><div><br></div><div>No, it likely has to do with the network configuration, that is mpiexec is waiting for gethostbyname() for your machine, which is failing.</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 id="gmail-m_-3268069161447790241divtagdefaultwrapper" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Arial,Helvetica,sans-serif">
<div>Do you know a way to install mpich without conflicts with openmpi without actually removing openmpi?</div></div></div></blockquote><div><br></div><div>The above can work as long as OpenMPI is not in default compiler paths like /usr/lib.</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 id="gmail-m_-3268069161447790241divtagdefaultwrapper" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Arial,Helvetica,sans-serif">
<div>- Some time ago a posted a question in the mailing list about how to compile SLEPc/PETSc with OpenMP only instead of MPI. After some time, I was able to get MPI to work on a different computer,
<br>
</div>
<div>but I was never really able to use OpenMP with slepc, but it would be very useful in the present situation. The </div></div></div></blockquote><div><br></div><div>Why do you think so?</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 id="gmail-m_-3268069161447790241divtagdefaultwrapper" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Arial,Helvetica,sans-serif"><div>programs compile but they never take more than 100% CPU load as displayed by top.<br></div></div></div></blockquote><div><br></div><div>That is perfectly understandable since the memory bandwidth can be maxed out with fewer cores than are present. OpenMP will not help this.</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 id="gmail-m_-3268069161447790241divtagdefaultwrapper" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Arial,Helvetica,sans-serif"><div>
</div>
<div>The answers to my question contained the recommendations that I should configure with --download-openblas and have the OMP_NUM_THREADS variable set when executing the program. I did it, but it didn't help either.</div></div></div></blockquote><div><br></div><div>Yep.</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 id="gmail-m_-3268069161447790241divtagdefaultwrapper" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Arial,Helvetica,sans-serif">
<div>So, my question: has someone ever managed to find a configure line that disables MPI but enables the usage of OpenMP so that the slepc ex4 program uses significantly more than 100% CPU usage when executing the standard Krylov-Schur method?</div></div></div></blockquote><div><br></div><div>As I said, this is likely to be impossible for architecture reasons: <a href="https://www.mcs.anl.gov/petsc/documentation/faq.html#computers">https://www.mcs.anl.gov/petsc/documentation/faq.html#computers</a></div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt </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 id="gmail-m_-3268069161447790241divtagdefaultwrapper" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Arial,Helvetica,sans-serif">
<p>Regards,</p>
<p>Moritz<br>
</p>
<p><br>
</p>
</div>
</div>

</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div></div>