Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] autosizing the shared memory backing file
From: George Bosilca (bosilca_at_[hidden])
Date: 2009-01-13 20:17:05

The simple answer is you can't. The mpool is loaded before the BTLs
and on Linux the loader use the RTLD_NOW flag (i.e. all symbols have
to be defined or the dlopen call will fail).

Moreover, there is no way in Open MPI to exchange information between
components except a global variable or something in the mca/common. In
other words there is no way for you to call from the mpool a function
from the sm BTL.


On Jan 13, 2009, at 19:22 , Eugene Loh wrote:

> With the sm BTL, there is a file that each process mmaps in for
> shared memory.
> I'm trying to get mpool_sm to size the file appropriately. So, I
> would like mpool_sm to call some mca_btl_sm function that provides a
> good guess of the size. (mpool_sm creates and mmaps the file, but
> the size depends on parameters like eager limit and max frag size
> that are known by the btl_sm.)
> On Solaris, this works fine.
> On Linux, at mpirun time, I get
> ./a.out: symbol lookup error: /home/eugene/workspace/lib/openmpi/
> undefined symbol: mca_btl_sm_get_file_size
> ./a.out: symbol lookup error: /home/eugene/workspace/lib/openmpi/
> undefined symbol: mca_btl_sm_get_file_size
> --------------------------------------------------------------------------
> mpirun has exited due to process rank 1 with PID 17224 on
> node mynode-0 exiting without calling "finalize". This may
> have caused other processes in the application to be
> terminated by signals sent by mpirun (as reported here).
> --------------------------------------------------------------------------
> What's up? How do I get mpool_sm to call btl_sm? Why does this
> depend on OS? (I am okay with btl_sm calling mpool_sm instead if
> that would help.)
> _______________________________________________
> devel mailing list
> devel_at_[hidden]