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 >>>> > > >>>> > >>>> >>>>
