Thanks for the pointer, it was a very interesting read.
It seems that by default OpenMPI uses the nifty pipelining trick with pinning pages while transfer is happening. Also the pinning can be (somewhat) perminant and the state is cached so that next usage requires no registration. I guess it is possible to use pre-pinned memory, but do I need to do anything special to do so? I will already have some buffers pinned to allow DMAs to devices across PCI-Express, so it makes sense to use one pinned buffer so that I can avoid memcpys.
Are there any HOWTO tutorials or anything? I've searched around, but it's possible I just used the wrong search terms.
This paper explains it pretty well:
On Nov 2, 2006, at 1:37 PM, Brian Budge wrote:
> Hi all -
> I'm wondering how DMA is handled in OpenMPI when using the
> infiniband protocol. In particular, will I get a speed gain if my
> read/write buffers are already pinned via mlock?
> users mailing list
Server Virtualization Business Unit
users mailing list