No currently there is no way in MPI (and subsequently in Open MPI) to achieve 
this. However, in the next version of the MPI standard there will be a function 
allowing processes to shared a memory segment 
(https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/284).

If you like living on the bleeding edge, you can try Brian's branch 
implementing the MPI 3.0 RMA operations (including the shared memory segment) 
from http://svn.open-mpi.org/svn/ompi/tmp-public/mpi3-onesided/.

  george.

On Apr 16, 2012, at 09:52 , jody wrote:

> Hi
> 
> In my application i have to generate a large block of data (several
> gigs) which subsequently has to be accessed by all processes (read
> only),
> Because of its size, it would take quite some time to serialize and
> send the data to the different processes. Furthermore, i risk
> running out of memory if this data is instantiated more than once on
> one machine.
> 
> Does OpenMPI offer some way of sharing data between processes (on the
> same machine) without needing to send (and therefore copy) it?
> 
> Or would i have to do this by means of creating shared memory, writing
> to it, and then make it accessible for reading by the processes?
> 
> Thank You
>  Jody
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users


Reply via email to