Copy & paste from a Cray paper:
"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. "

BTW,  Cori's default is changed from static to dynamic.  I heard Frontier
will also use dynamic.

--Junchao Zhang


On Thu, Feb 20, 2020 at 2:03 PM Amil Sharma via petsc-users <
[email protected]> wrote:

> Just wondering if static linking is better for performance?
>
> On Thu, Feb 20, 2020 at 2:58 PM Albert Mollen <[email protected]> wrote:
>
>> Hi Mark,
>> I'm trying to rebuild Adios2 with dynamic linking on cori. Hopefully we
>> can move over to that.
>>
>> Best regards
>> ----------
>> Albert Mollén
>> Associate Research Physicist
>>
>> Theory Department
>> Princeton Plasma Physics Laboratory
>> P.O. Box 451
>> Princeton, NJ 08543-0451
>> USA
>>
>> Tel. +1 609-243-3909
>> E-mail: [email protected]
>>
>>
>> On Thu, Feb 20, 2020 at 2:52 PM Amil Sharma <[email protected]> wrote:
>>
>>> We need static linking in order to link an existing static IO library,
>>> but we did not know the PETSc static build configure option.
>>>
>>> On Thu, Feb 20, 2020 at 2:30 PM Satish Balay <[email protected]> wrote:
>>>
>>>> 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?
>>>>
>>>> One can get shared library build of PETSc working with:
>>>>
>>>> export CRAYPE_LINK_TYPE=dynamic
>>>>
>>>> Satish
>>>>
>>>> On Thu, 20 Feb 2020, Satish Balay via petsc-users wrote:
>>>>
>>>> > You can build PETSc statically with configure option:
>>>> >
>>>> > --with-shared-libraries=0
>>>> >
>>>> > Satish
>>>> >
>>>> > On Thu, 20 Feb 2020, Mark Adams wrote:
>>>> >
>>>> > > We are having problems linking with at Cray static library
>>>> environment
>>>> > > variable, that is required to link Adios, and IO package. How does
>>>> one
>>>> > > build with static PETSc libs?
>>>> > > Thanks,
>>>> > > Mark
>>>> > >
>>>> >
>>>>
>>>>

Reply via email to