[libfabric-users] A couple more questions
sean.hefty at intel.com
Fri Feb 24 10:26:59 PST 2017
> 1) When I get a completion – using a shared CQ – how can I find the
> endpoint that the completion came from? I could put the endpoint
> context into the context* field of the send, but I’m already using that
> for another pointer I need. Is there an easy way, or will I have to
> store the endpoint in my other structure and get it from the pointer
> I’m using already?
You need to retrieve it from the context passed into the operation.
> 2) I’d like to have a shared receive queue between all remote endpoints
> so that I do not need to prepost buffers individually. I can’t find the
> documentation that shows me how to set this up. I have shared CQ’s ok,
> but not the receive buffers.
This is a shared receive context. See fi_srx_context(). When allocating the endpoint, set the rx_ctx_cnt endpoint attribute to FI_SHARED_CONTEXT. The shared Rx context will need to be bound to the EP. This fabtest may be helpful to look at as well:
More information about the Libfabric-users