[MPICH] Can I ask MPI to not copy the data to shared-mem ?

Jean-Marc Saffroy saffroy at gmail.com
Mon Oct 8 14:53:02 CDT 2007


On Mon, 8 Oct 2007, chong tan wrote:

> I am interested in the case that the send and recieve buffer are the 
> same buffer allocated from shared-memory, in which case there is no need 
> for the data copying, send and recieve just only do the sync.

If your app manages this shared memory, then what you really want to send 
is a message notifying the receiver that it can actually access the buffer 
in your shared memory; but don't expect MPICH to guess that it should do 
that, it does not know about any shared memory other than its own.

>  A side question, when MPI_Send is called, does MPICH copy the data into 
> a intermediate global buffer ? and have the data copy from this same 
> buffer on MPI_Recv call ?

In general, it depends on which MPI device/channel you use. AFAIK this is 
what happens with the current shared memory devices (eg. shm).

It should be possible to avoid this copy in some cases, eg. using hacks 
such as the Driller library I wrote recently (shameless plug), but the 
benefits have yet to be demonstrated in an MPICH device (I'll be glad to 
help!).


-- 
saffroy at gmail.com




More information about the mpich-discuss mailing list