[libfabric-users] completion at remote end of fi_read(msg)

Biddiscombe, John A. biddisco at cscs.ch
Wed Apr 1 07:22:52 PDT 2020


Sean


>If defined, the CQ would be the CQ associated with the receive processing queue at the target.  There was no app use case for this, so it was intentionally excluded from the API definition.

Understood

>>
> The counter would be nice, except that I can only use it 'per endpoint' - if I could
> have a counter 'per context' then each rma read could use a different context and
> increment different counters. Never mind.

I'm not sure what you mean by per context.  FWIW, portals associates target counters with the memory region.
<<

When I want to send N arrays from A to another node B, a small message is sent with N RMA keys in it and the context is set to the object initiating the transfer on A, the receiving end says, ooh, N arrays to RMA and it starts doing RMA operations, when all N have completed, it sends an ACK to A and A then marks the arrays as available again so the app can assume the buffers can be overwritten. All good. If those N RMA read operations initiated by B triggered a completion at A, then I could skip the ACK. The N RMA operations could trigger counter events held by the context on A (the object that initiated the transfer) then when it got N of then, it would know it was done and could reuse the buffers.
This is what I meant by a per context counter (rather than a per endpoint counter, there might be lots of transfers started by A, but they happen via different objects (contexts).

yours

JB


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/libfabric-users/attachments/20200401/f00dd11b/attachment.htm>


More information about the Libfabric-users mailing list