1
1

Add support for routable ROCE where different subnet_id is a valid to proceed with MPI routing.

(can happen in the same LAN)
developed by vasily, reviewed by miked
cmr=v1.7.4:reviewer=ompi-gk1.7

This commit was SVN r29479.
Этот коммит содержится в:
Mike Dubman 2013-10-23 06:08:54 +00:00
родитель 16b1ad052f
Коммит d6ead2a3a5
3 изменённых файлов: 12 добавлений и 2 удалений

Просмотреть файл

@ -315,6 +315,9 @@ struct mca_btl_openib_component_t {
bool cuda_async_send;
bool cuda_async_recv;
#endif /* OMPI_CUDA_SUPPORT */
#if HAVE_DECL_IBV_LINK_LAYER_ETHERNET
int rroce_enable;
#endif
}; typedef struct mca_btl_openib_component_t mca_btl_openib_component_t;
OMPI_MODULE_DECLSPEC extern mca_btl_openib_component_t mca_btl_openib_component;

Просмотреть файл

@ -731,8 +731,8 @@ static int init_one_port(opal_list_t *btl_list, mca_btl_openib_device_t *device,
#if HAVE_DECL_IBV_LINK_LAYER_ETHERNET
if (IBV_LINK_LAYER_ETHERNET == ib_port_attr->link_layer) {
subnet_id = mca_btl_openib_get_ip_subnet_id(device->ib_dev,
port_num);
subnet_id = mca_btl_openib_component.rroce_enable ? 0 :
mca_btl_openib_get_ip_subnet_id(device->ib_dev, port_num);
} else {
subnet_id = ntoh64(gid.global.subnet_prefix);
}

Просмотреть файл

@ -499,6 +499,13 @@ int btl_openib_register_mca_params(void)
mca_btl_openib_component.enable_srq_resize = false;
#endif
#if HAVE_DECL_IBV_LINK_LAYER_ETHERNET
CHECK(reg_bool("rroce_enable", NULL,
"Enable/Disable routing between different subnets"
"(0 = disable, nonzero = enable)", false,
&mca_btl_openib_component.rroce_enable));
#endif
CHECK(reg_uint("buffer_alignment", NULL,
"Preferred communication buffer alignment, in bytes "
"(must be > 0 and power of two)",