ddcf652·Author: Paul Hargrove·Closed by: Dan Bonachea·2018-03-21
Description
ofi: Enable support for 1.5 mr_mode bits
The preprocessor will now check if the api version of the linked libfabric is 1.5 or later. If so, the conduit will now advertise what mr_mode bits it supports and check to see what bits the provider clears on a call to fi_getinfo(). As we are checking for the logical equivalent of FI_MR_SCALABLE, the existing branch optimization around FI_MR_SCALABLE will stay. If the linked libfabric version is earlier than 1.5, the logic remains unchanged.
ofi: Set psm2 env var above fi_getinfo() to ensure it is read
Providers can read their environment variables on the first call to fi_getinfo(), so the FI_PSM2_LAZY_CONN variable needs to be set above this call.
This commit also makes sure we are not overriding this variable if a user already set it.
ofi: Enable support for 1.5 mr_mode bits
The preprocessor will now check if the api version of the linked libfabric is 1.5 or later. If so, the conduit will now advertise what mr_mode bits it supports and check to see what bits the provider clears on a call to fi_getinfo(). As we are checking for the logical equivalent of FI_MR_SCALABLE, the existing branch optimization around FI_MR_SCALABLE will stay. If the linked libfabric version is earlier than 1.5, the logic remains unchanged.
ofi: Set psm2 env var above fi_getinfo() to ensure it is read
Providers can read their environment variables on the first call to fi_getinfo(), so the FI_PSM2_LAZY_CONN variable needs to be set above this call.
This commit also makes sure we are not overriding this variable if a user already set it.