[ofiwg] Resource Management RX CQ and address vectors

BOLLORE, HUGO hugo.bollore at atos.net
Wed Apr 14 09:33:54 PDT 2021


I'm working with Mehdi Bendahhou (Atos) on a new provider.
We have a few questions about the API specification.

First, we were wondering how to deal with the MULTI_RECV option when 
checking overruns of the RX CQ.
When fi_recv is called with this option we cannot know how many messages 
will be received and thus how many completions may result of this operation.
If resource management is enabled, documentation states that the 
provider must return -FI_EAGAIN if an operation could result in CQ overruns.
Is there a specific case to apply with the MULTI_RECV option ? If not, 
what should we do in this situation ?

Second, we are unsure about the state of an address vector during the 
execution of an application.
Are address vectors static as soon as the endpoint is enabled or can 
they change dynamically ?

Last, in a connectionless endpoint, is it required for a receiving 
application to have the sender address in its address vector if the 
fi_recv is posted with a src_addr to FI_ADDR_UNSPEC and/or 
FI_DIRECTED_RECV is disabled ?

If this helps to answer the last two questions, we are trying to 
determine if at any given point an endpoint is able to retrieve a list 
of all address/endpoints it is communicating with (both in emission and 

Thanks in advance to those who can enlighten us !
Hugo Bolloré - Atos

More information about the ofiwg mailing list