diff --git a/config/ompi_check_ucx.m4 b/config/ompi_check_ucx.m4 index 1da2455f1b7..8f609167f31 100644 --- a/config/ompi_check_ucx.m4 +++ b/config/ompi_check_ucx.m4 @@ -99,7 +99,8 @@ AC_DEFUN([OMPI_CHECK_UCX],[ UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK, UCP_OP_ATTR_FLAG_MULTI_SEND, UCP_MEM_MAP_SYMMETRIC_RKEY, - UCS_MEMORY_TYPE_RDMA], + UCS_MEMORY_TYPE_RDMA, + UCP_PARAM_FIELD_NODE_LOCAL_ID], [], [], [#include ]) AC_CHECK_DECLS([UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS], diff --git a/ompi/mca/osc/ucx/osc_ucx_component.c b/ompi/mca/osc/ucx/osc_ucx_component.c index e01968ae8ae..1196ba61936 100644 --- a/ompi/mca/osc/ucx/osc_ucx_component.c +++ b/ompi/mca/osc/ucx/osc_ucx_component.c @@ -270,6 +270,11 @@ static int ucp_context_init(bool enable_mt, int proc_world_size) { context_params.field_mask |= UCP_PARAM_FIELD_ESTIMATED_NUM_PPN; #endif +#if HAVE_DECL_UCP_PARAM_FIELD_NODE_LOCAL_ID + context_params.node_local_id = opal_process_info.my_local_rank; + context_params.field_mask |= UCP_PARAM_FIELD_NODE_LOCAL_ID; +#endif + status = ucp_init(&context_params, config, &mca_osc_ucx_component.wpool->ucp_ctx); if (UCS_OK != status) { OSC_UCX_VERBOSE(1, "ucp_init failed: %d", status); diff --git a/ompi/mca/pml/ucx/pml_ucx.c b/ompi/mca/pml/ucx/pml_ucx.c index dd16a27b154..91fb879c5b1 100644 --- a/ompi/mca/pml/ucx/pml_ucx.c +++ b/ompi/mca/pml/ucx/pml_ucx.c @@ -248,6 +248,11 @@ int mca_pml_ucx_open(void) params.field_mask |= UCP_PARAM_FIELD_ESTIMATED_NUM_PPN; #endif +#if HAVE_DECL_UCP_PARAM_FIELD_NODE_LOCAL_ID + params.node_local_id = opal_process_info.my_local_rank; + params.field_mask |= UCP_PARAM_FIELD_NODE_LOCAL_ID; +#endif + status = ucp_init(¶ms, config, &ompi_pml_ucx.ucp_context); ucp_config_release(config); diff --git a/oshmem/mca/spml/ucx/spml_ucx_component.c b/oshmem/mca/spml/ucx/spml_ucx_component.c index affc73f3f88..a57c987397d 100644 --- a/oshmem/mca/spml/ucx/spml_ucx_component.c +++ b/oshmem/mca/spml/ucx/spml_ucx_component.c @@ -292,6 +292,11 @@ static int spml_ucx_init(void) params.field_mask |= UCP_PARAM_FIELD_ESTIMATED_NUM_PPN; #endif +#if HAVE_DECL_UCP_PARAM_FIELD_NODE_LOCAL_ID + params.node_local_id = opal_process_info.my_local_rank; + params.field_mask |= UCP_PARAM_FIELD_NODE_LOCAL_ID; +#endif + err = ucp_init(¶ms, ucp_config, &mca_spml_ucx.ucp_context); ucp_config_release(ucp_config); if (UCS_OK != err) {