<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><div dir="ltr">Copy & paste from a Cray paper:<br>"The main disadvantage of dynamic shared libraries is
the runtime performance costs of dynamic linking. Every
time the program is executed it has to perform a large part
of its linking process. The lookup of symbols in a dynamic
shared library is much less efficient than in static libraries.
The loading of a dynamic shared library during an
application‟s execution may result in a “jitter” effect where
a single process holds up the forward progress of other
processes of the application while it is loading a library. "<div><br></div><div>BTW,  Cori's default is changed from static to dynamic.  I heard Frontier will also use dynamic. </div><div><br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">--Junchao Zhang</div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Feb 20, 2020 at 2:03 PM Amil Sharma via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</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">Just wondering if static linking is better for performance?</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Feb 20, 2020 at 2:58 PM Albert Mollen <<a href="mailto:amollen@pppl.gov" target="_blank">amollen@pppl.gov</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>Hi Mark,</div><div>I'm trying to rebuild Adios2 with dynamic linking on cori. Hopefully we can move over to that.</div><div><br></div><div>Best regards</div><div><div dir="ltr">----------<br>Albert Mollén<br>Associate Research Physicist<br><br>Theory Department<br>Princeton Plasma Physics Laboratory<br>P.O. Box 451<br>Princeton, NJ 08543-0451<br>USA<br><br>Tel. +1 609-243-3909<br>E-mail: <a href="mailto:amollen@pppl.gov" target="_blank">amollen@pppl.gov</a></div></div><br></div><br><div class="gmail_quote"><div class="gmail_attr" dir="ltr">On Thu, Feb 20, 2020 at 2:52 PM Amil Sharma <<a href="mailto:asharma@pppl.gov" target="_blank">asharma@pppl.gov</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left:1px solid rgb(204,204,204)"><div dir="ltr">We need static linking in order to link an existing static IO library, but we did not know the PETSc static build configure option.</div><br><div class="gmail_quote"><div class="gmail_attr" dir="ltr">On Thu, Feb 20, 2020 at 2:30 PM Satish Balay <<a href="mailto:balay@mcs.anl.gov" target="_blank">balay@mcs.anl.gov</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left:1px solid rgb(204,204,204)">BTW: What do you mean by 'Cray static library environment variable'? Is it CRAYPE_LINK_TYPE? What is set to? What problems are you having?<br>
<br>
One can get shared library build of PETSc working with:<br>
<br>
export CRAYPE_LINK_TYPE=dynamic<br>
<br>
Satish<br>
<br>
On Thu, 20 Feb 2020, Satish Balay via petsc-users wrote:<br>
<br>
> You can build PETSc statically with configure option:<br>
> <br>
> --with-shared-libraries=0<br>
> <br>
> Satish<br>
> <br>
> On Thu, 20 Feb 2020, Mark Adams wrote:<br>
> <br>
> > We are having problems linking with at Cray static library environment<br>
> > variable, that is required to link Adios, and IO package. How does one<br>
> > build with static PETSc libs?<br>
> > Thanks,<br>
> > Mark<br>
> > <br>
> <br>
<br>
</blockquote></div>
</blockquote></div>
</blockquote></div>
</blockquote></div>