Yes, it's the DLL init function.  It's not in our source code; it's put there 
automatically by the compiler/linker.


> On Mar 22, 2019, at 2:12 PM, Simone Atzeni <satz...@nvidia.com> wrote:
> 
> Hi,
>  
> I was debugging a program compiled with `mpicxx` and noticed that when the 
> program is being launched the `_init` function gets called multiple time, 
> once for each library linked.
> For example, in my case I see that it gets called from all these libraries:
>  
> _init () from libopen-pal.so.40
> _init () from libopen-rte.so.40
> _init () from libmpi.so.40
> _init () from libmpi_cxx.so.40
>  
> My example program uses OpenMP, so because of the call to `_init` for each 
> library the runtime gets initialized 4 times.
>  
> Is this `_init` function a constructor for each one of this libraries? What 
> does it actually do? I couldn’t find it in the OpenMPI source.
>  
> Thank you!
> Simone
> This email message is for the sole use of the intended recipient(s) and may 
> contain confidential information.  Any unauthorized review, use, disclosure 
> or distribution is prohibited.  If you are not the intended recipient, please 
> contact the sender by reply email and destroy all copies of the original 
> message.
> _______________________________________________
> users mailing list
> users@lists.open-mpi.org
> https://lists.open-mpi.org/mailman/listinfo/users


-- 
Jeff Squyres
jsquy...@cisco.com

_______________________________________________
users mailing list
users@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/users

Reply via email to