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