[ofiwg] ofi_hmem_ops question
    Hefty, Sean 
    sean.hefty at intel.com
       
    Thu Nov  3 11:09:00 PDT 2022
    
    
  
> dest/src/ptr can be host or device. Dest and src are used to indicate direction. Ptr is
> when there is no direction.
Is ptr a reference to a VA *within* an allocated region, or is there some other restriction?
> dev_buf is to indicate that the ptr must be a ptr to device memory (like when you get
> an IPC handle - it cannot be host memory). In some APIs (ZE, CUDA) this must be a base
> address. I am not sure if this is the same for all APIs which I believe is why the
> naming is more generic.
The user of these ops must obey the most restrictive use case.  So, dev_buf must be the base address, and always references the entire allocation, correct?  That is, even if a size parameter isn't defined, the entire region is assumed.
> ipc_ptr is the returned ptr (to device memory) that has been opened by a peer process
> for an IPC copy. It can be used like a regular ptr, but it is named ipc_ptr to show
> that the process using it did not allocate it/does not own it
Similar with dev_buf, I think this must always reference the entire allocation.
> Addr is pretty much the same as ptr so that can be renamed to align.
> We could align the usage of buf/ptr to match for ptr/addr/dev_buf
I'm not just concerned about the name, but the requirements placed on what's being referenced.
As a comparison, struct ipc_info is nicely self-documenting.
    
    
More information about the ofiwg
mailing list