in src/nccl_ofi_net.c [279:303]
static bool match_prov_info(char *name, uint32_t addr_format,
uint64_t mem_tag_format, uint64_t expected_mem_tag_format)
{
char *tcp_if_exclude_list = ofi_nccl_exclude_tcp_if();
if (in_list(name, tcp_if_exclude_list)) {
return true;
} else if (!ofi_nccl_use_ipv6_tcp() && (addr_format == FI_SOCKADDR_IN6)) {
return true;
} else if (mem_tag_format != expected_mem_tag_format) {
/* TODO: Remove after https://github.com/ofiwg/libfabric/issues/6126 is fixed */
/* RxM utility provider adds `FI_COLLECTIVE` capability
* which ends up duplicating the fi_info structures. That
* is because the size of the supported tag changes when
* `FI_COLLECTIVE` is enabled.
* This happens even when applications do not request for
* this capability in hints.
* For now, we choose one tag format and use that to filter all
* info objects.
*/
return true;
}
return false;
}