diff --git a/config/ompi_check_ucx.m4 b/config/ompi_check_ucx.m4 index d473454a8ce..9dc1f3cde63 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, UCS_MEMORY_TYPE_RDMA, - UCP_MEM_MAP_SYMMETRIC_RKEY], + UCP_MEM_MAP_SYMMETRIC_RKEY, + 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 27201eae8ff..3b816f2b2a3 100644 --- a/ompi/mca/osc/ucx/osc_ucx_component.c +++ b/ompi/mca/osc/ucx/osc_ucx_component.c @@ -271,6 +271,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 b4398a19197..8a32a442383 100644 --- a/ompi/mca/pml/ucx/pml_ucx.c +++ b/ompi/mca/pml/ucx/pml_ucx.c @@ -249,6 +249,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 d63039fbd48..66c88630084 100644 --- a/oshmem/mca/spml/ucx/spml_ucx_component.c +++ b/oshmem/mca/spml/ucx/spml_ucx_component.c @@ -293,6 +293,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) {