1
1

ofi: endpoint type hint moved to a sub-struct, BUFFERED went away

Update to match	new libfabric API/structure change.
Этот коммит содержится в:
Jeff Squyres 2015-03-10 09:44:40 -07:00
родитель d97551bdb1
Коммит 2e8ee003b0

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

@ -131,6 +131,7 @@ ompi_mtl_ofi_component_init(bool enable_progress_threads,
struct fi_info *providers = NULL, *prov = NULL; struct fi_info *providers = NULL, *prov = NULL;
struct fi_domain_attr domain_attr = {0}; struct fi_domain_attr domain_attr = {0};
struct fi_fabric_attr fabric_attr = {0}; struct fi_fabric_attr fabric_attr = {0};
struct fi_ep_attr ep_attr = {0};
struct fi_cq_attr cq_attr = {0}; struct fi_cq_attr cq_attr = {0};
struct fi_av_attr av_attr = {0}; struct fi_av_attr av_attr = {0};
char ep_name[FI_NAME_MAX] = {0}; char ep_name[FI_NAME_MAX] = {0};
@ -143,15 +144,13 @@ ompi_mtl_ofi_component_init(bool enable_progress_threads,
* In this case, MTL will pass in context into communication calls * In this case, MTL will pass in context into communication calls
* ep_type: reliable datagram operation * ep_type: reliable datagram operation
* caps: Capabilities required from the provider. The bits specified * caps: Capabilities required from the provider. The bits specified
* with buffered receive and cancel implement MPI semantics. * with cancel implement MPI semantics.
* Tagged is used to support tag matching. * Tagged is used to support tag matching.
* We expect to register all memory up front for use with this * We expect to register all memory up front for use with this
* endpoint, so the MTL requires dynamic memory regions * endpoint, so the MTL requires dynamic memory regions
*/ */
hints.mode = FI_CONTEXT; hints.mode = FI_CONTEXT;
hints.ep_type = FI_EP_RDM; /* Reliable datagram */
hints.caps = FI_TAGGED; /* Tag matching interface */ hints.caps = FI_TAGGED; /* Tag matching interface */
hints.caps |= FI_BUFFERED_RECV; /* Buffered receives */
hints.caps |= FI_CANCEL; /* Support cancel */ hints.caps |= FI_CANCEL; /* Support cancel */
hints.caps |= FI_DYNAMIC_MR; /* Global dynamic mem region */ hints.caps |= FI_DYNAMIC_MR; /* Global dynamic mem region */
@ -159,7 +158,9 @@ ompi_mtl_ofi_component_init(bool enable_progress_threads,
* Refine filter for additional capabilities * Refine filter for additional capabilities
* threading: Disable locking * threading: Disable locking
* control_progress: enable async progress * control_progress: enable async progress
* ep type: reliable datagram
*/ */
ep_attr.type = FI_EP_RDM;
domain_attr.threading = FI_THREAD_ENDPOINT; domain_attr.threading = FI_THREAD_ENDPOINT;
domain_attr.control_progress = FI_PROGRESS_AUTO; domain_attr.control_progress = FI_PROGRESS_AUTO;
if (NULL != ompi_mtl_ofi.provider_name) { if (NULL != ompi_mtl_ofi.provider_name) {
@ -167,6 +168,7 @@ ompi_mtl_ofi_component_init(bool enable_progress_threads,
} else { } else {
fabric_attr.prov_name = NULL; fabric_attr.prov_name = NULL;
} }
hints.ep_attr = &ep_attr;
hints.domain_attr = &domain_attr; hints.domain_attr = &domain_attr;
hints.fabric_attr = &fabric_attr; hints.fabric_attr = &fabric_attr;