On Thu, Nov 02, 2006 at 11:57:16AM -0800, Brian Budge wrote:
> Thanks for the help guys.
> 
> In my case the memory will be allocated and pinned by my other device
> driver.  Is it safe to simply use that memory?  My pages won't be unpinned
> as a result?
> 
If your driver plays nicely with openib driver everything should be OK.
If by pinned you mean mlcok() then your are save since openib doesn't
use mlock().

> As far as registration, I am sure that OpenMPI will do a better job of that
> than I could, so I won't even attempt to futz with that.
> 
> Thanks,
>  Brian
> 
> On 11/2/06, Brian W Barrett <bbarr...@lanl.gov> wrote:
> >
> >Locking a page with mlock() is not all that is required for RDMA
> >using InfiniBand (or Myrinet, for that matter).  You have to call
> >that device's registration function first.  In Open MPI, that can be
> >done implicitly with the mpi_leave_pinned option, which will pin
> >memory as needed and then leave it pinned for the life of the
> >buffer.  Or it can be done ahead of time by calling MPI_ALLOC_MEM.
> >
> >Because the amount of memory a NIC can have pinned at any time may
> >not directly match the total amount of memory that can be mlock()ed
> >at any given time, it's also not a safe assumption that a buffer
> >allocated with MPI_ALLOC_MEM or used with an RDMA transfer from MPI
> >is going to be mlock()ed as a side effect of NIC registration.  Open
> >MPI internally might unregister that memory with the NIC in order to
> >register a different memory segment for another memory transfer.
> >
> >Brian
> >
> >
> >On Nov 2, 2006, at 12:22 PM, Brian Budge wrote:
> >
> >> 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.
> >>
> >> Thanks,
> >>   Brian
> >>
> >>
> >>
> >> On 11/2/06, Jeff Squyres <jsquy...@cisco.com> wrote: This paper
> >> explains it pretty well:
> >>
> >>      http://www.open-mpi.org/papers/euro-pvmmpi-2006-hpc-protocols/
> >>
> >>
> >>
> >> 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?
> >> >
> >> > Thanks,
> >> >   Brian
> >> > _______________________________________________
> >> > users mailing list
> >> > us...@open-mpi.org
> >> > http://www.open-mpi.org/mailman/listinfo.cgi/users
> >>
> >>
> >> --
> >> Jeff Squyres
> >> Server Virtualization Business Unit
> >> Cisco Systems
> >>
> >> _______________________________________________
> >> users mailing list
> >> us...@open-mpi.org
> >> http://www.open-mpi.org/mailman/listinfo.cgi/users
> >>
> >> _______________________________________________
> >> users mailing list
> >> us...@open-mpi.org
> >> http://www.open-mpi.org/mailman/listinfo.cgi/users
> >
> >_______________________________________________
> >users mailing list
> >us...@open-mpi.org
> >http://www.open-mpi.org/mailman/listinfo.cgi/users
> >

> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users

--
                        Gleb.

Reply via email to