[libfabric-users] fi_read verbs ENODATA

Arne Struck arnestruck at astruck.de
Fri Oct 23 09:50:09 PDT 2020


Am 23.10.2020 um 18:30 schrieb Hefty, Sean:
>> hints->caps = FI_RMA|FI_MSG;
>>
>> hints->ep_attr->type = FI_EP_MSG;
>>
>> hints->addr_format = FI_SOCKADDR_IN;
>>
>> hints->fabric_attr->prov_name = g_strdup("verbs");
>>
>> hints->mode = FI_LOCAL_MR;
> For verbs and any recent release of libfabric, you will want to remove setting this.  Instead, set:
>
> hints->domain_attr->mr_mode = FI_MR_LOCAL | FI_MR_VIRT_ADDR |
> 					FI_MR_ALLOCATED | FI_MR_PROV_KEY;

Ah ok, I thought since FI_BASIC is no longer around, the provider did 
not need those assurances.

With "For verbs and any recent release of libfabric, you will want to 
remove setting this" you are referring to hints->mode = FI_LOCAL_MR and 
not the other settings? How would you otherwise specify a specific 
provider or the address format used?

>>       mode: [ FI_RX_CQ_DATA ]
> You will want to add this to hints->mode if you plan on using CQ data (verbs refers to this as immediate data).  You can leave this off if not.
>   

Thanks for the hint :).

>
> The problem is that verbs requires additional support by the application, mostly to handle memory registration restrictions.  Those are the mr_mode bits called out above.

The application should support those features (with one specific 
exception 1 exception where I still have to register the local memory 
region).


Thanks for the quick answer,

Greetings, Arne.




More information about the Libfabric-users mailing list