<div dir="ltr"><div dir="ltr">On Wed, Mar 16, 2022 at 9:30 AM Ernesto Prudencio via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang="EN-US" style="overflow-wrap: break-word;">
<div class="gmail-m_7123577382545810161WordSection1">
<p class="MsoNormal">Thanks, Matt.<u></u><u></u></p>
<p class="MsoNormal"><br>
Regarding the blas/lapack used by PETSc via the –download-fblaslapack configuration option: are the libraries consumed as .a or as .so?</p></div></div></blockquote><div><br></div><div>Those are .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 lang="EN-US" style="overflow-wrap: break-word;"><div class="gmail-m_7123577382545810161WordSection1"><p class="MsoNormal"><u></u></p>
<p class="MsoNormal">My question was related to the situation where they would be .so, with my LD_LIBRARY_PATH pointing first to the MKL path and then to the PETSc path. Would that cause PETSc to use the blas/lapack from MKL at run time, instead of the blas/lapack
 use at compilation time?</p></div></div></blockquote><div><br></div><div>It would, but since BLAS/LAPACK does not have a standard ABI there can still be problems I think.</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 lang="EN-US" style="overflow-wrap: break-word;"><div class="gmail-m_7123577382545810161WordSection1"><p class="MsoNormal"><u></u></p>
<p class="MsoNormal">Regarding your question on (a): at the end of the PETSc building process, a docker image has to be created, but then there are some soft links in the supplied MKL library which are not resolved. The problem boils down to details on where
 the MKL is actually located, and the overall compilation environment used for all software, where certain rules have to be enforced for all.</p></div></div></blockquote><div><br></div><div>Oh, yes for a container you would have to install MKL into the container just as you would install it anywhere else. Then install PETSc in the container.</div><div>I have done that for another project and got it to work.</div><div><br></div><div>  Thanks,</div><div><br></div><div>    Matt</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 lang="EN-US" style="overflow-wrap: break-word;"><div class="gmail-m_7123577382545810161WordSection1">
<p class="MsoNormal">Cheers,<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Ernesto.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in">
<p class="MsoNormal"><b>From:</b> Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>> <br>
<b>Sent:</b> Wednesday, March 16, 2022 5:45 AM<br>
<b>To:</b> Ernesto Prudencio <<a href="mailto:EPrudencio@slb.com" target="_blank">EPrudencio@slb.com</a>><br>
<b>Cc:</b> PETSc users list <<a href="mailto:petsc-users@mcs.anl.gov" target="_blank">petsc-users@mcs.anl.gov</a>><br>
<b>Subject:</b> [Ext] Re: [petsc-users] Two simple questions on building<u></u><u></u></p>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">On Wed, Mar 16, 2022 at 1:04 AM Ernesto Prudencio via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov" target="_blank">petsc-users@mcs.anl.gov</a>> wrote:<u></u><u></u></p>
</div>
<div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<p class="MsoNormal">Hi.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">I have an application that uses MKL for some convolution operations. Such MKL functionality uses, I suppose, BLAS/LAPACK underneath.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">This same application of mine also uses PETSc for other purposes. I can supply blas and lapack to PETSc in two ways:<u></u><u></u></p>
<ol start="1" type="a">
<li class="gmail-m_7123577382545810161gmail-m-40448078222889676msolistparagraph">
Using the configuration option--with-blaslapack-lib="-L${MKL_DIR}/lib/intel64 -lfile1 -lfile2 … ".  For reasons related to compilation environments + docker images + cloud, I am having issues with this option (a) _<i>after</i>_ PETSc builds successfully (both
 make and make install work fine).<u></u><u></u></li><li class="gmail-m_7123577382545810161gmail-m-40448078222889676msolistparagraph">
Using the configuration option --download-fblaslapack=yes. This options works fine for the purpose of generating my application executable.<u></u><u></u></li></ol>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">If I use option (b), I understand that I will have two different blas/lapack codes available during the execution of my application: one from MKL, the other being the one that PETSc
 downloads during its configuration.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">Question 1) Do you foresee any potential run time issue with option (b)?<u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">All those BLAS/LAPACK functions have the same name. If MKL does something slightly different in one, you could have problems. The annoying thing is that it will probably work 99% of the time.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">What problem do you have with a)?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<p class="MsoNormal">Question 2) In the case PETSc, is there any problem if run “make” and “make install” without specifying PETSC_ARCH?<u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">It will choose an ARCH if you do not specify one.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">  Thanks,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">     Matt<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">Thank you in advance,<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">Ernesto.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p align="center" style="margin:0in;text-align:center"><span style="font-size:10pt;color:black">Schlumberger-Private</span><u></u><u></u></p>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"><br clear="all">
<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<p class="MsoNormal">-- <u></u><u></u></p>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal">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<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><a href="https://urldefense.com/v3/__http:/www.cse.buffalo.edu/*knepley/__;fg!!Kjv0uj3L4nM6H-I!1YIcv0EOPSK_loLVyLJiARQF8B0wUp96gOBWK4L-7PdpPbhDZIEQPSkoe3a2pw$" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><u></u><u></u></p>
<br>
<p align="Center" style="margin:0px"><span style="font-size:10pt;font-family:Calibri;color:rgb(0,0,0)">Schlumberger-Private</span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</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>