Skip to content

Commit e2231e6

Browse files
committed
ucx: disable version 1.8
Signed-off-by: Yossi Itigin <yosefe@mellanox.com>
1 parent 7121789 commit e2231e6

File tree

2 files changed

+61
-39
lines changed

2 files changed

+61
-39
lines changed

config/ompi_check_ucx.m4

Lines changed: 50 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -104,44 +104,56 @@ AC_DEFUN([OMPI_CHECK_UCX],[
104104
old_CPPFLAGS="$CPPFLAGS"
105105
AS_IF([test -n "$ompi_check_ucx_dir"],
106106
[CPPFLAGS="$CPPFLAGS -I$ompi_check_ucx_dir/include"])
107-
AC_CHECK_DECLS([ucp_tag_send_nbr],
108-
[AC_DEFINE([HAVE_UCP_TAG_SEND_NBR],[1],
109-
[have ucp_tag_send_nbr()])], [],
110-
[#include <ucp/api/ucp.h>])
111-
AC_CHECK_DECLS([ucp_ep_flush_nb, ucp_worker_flush_nb,
112-
ucp_request_check_status, ucp_put_nb, ucp_get_nb,
113-
ucp_put_nbx, ucp_get_nbx, ucp_atomic_op_nbx],
114-
[], [],
115-
[#include <ucp/api/ucp.h>])
116-
AC_CHECK_DECLS([ucm_test_events,
117-
ucm_test_external_events],
118-
[], [],
119-
[#include <ucm/api/ucm.h>])
120-
AC_CHECK_DECLS([UCP_ATOMIC_POST_OP_AND,
121-
UCP_ATOMIC_POST_OP_OR,
122-
UCP_ATOMIC_POST_OP_XOR,
123-
UCP_ATOMIC_FETCH_OP_FAND,
124-
UCP_ATOMIC_FETCH_OP_FOR,
125-
UCP_ATOMIC_FETCH_OP_FXOR,
126-
UCP_PARAM_FIELD_ESTIMATED_NUM_PPN],
127-
[], [],
128-
[#include <ucp/api/ucp.h>])
129-
AC_CHECK_DECLS([UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS],
130-
[AC_DEFINE([HAVE_UCP_WORKER_ADDRESS_FLAGS], [1],
131-
[have worker address attribute])], [],
132-
[#include <ucp/api/ucp.h>])
133-
AC_CHECK_DECLS([UCP_ATTR_FIELD_MEMORY_TYPES],
134-
[AC_DEFINE([HAVE_UCP_ATTR_MEMORY_TYPES], [1],
135-
[have memory types attribute])], [],
136-
[#include <ucp/api/ucp.h>])
137-
AC_CHECK_DECLS([ucp_tag_send_nbx,
138-
ucp_tag_send_sync_nbx,
139-
ucp_tag_recv_nbx],
140-
[], [],
141-
[#include <ucp/api/ucp.h>])
142-
AC_CHECK_TYPES([ucp_request_param_t],
143-
[], [],
144-
[[#include <ucp/api/ucp.h>]])
107+
# Turn off UCX version v1.8 due to issue #8321
108+
AC_MSG_CHECKING([UCX version])
109+
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([#include <ucp/api/ucp_version.h>
110+
#if (UCP_API_MAJOR == 1) && (UCP_API_MINOR == 8)
111+
#error "Invalid version"
112+
#endif], [])],
113+
[AC_MSG_RESULT([ok (not 1.8.x)])],
114+
[AC_MSG_RESULT([bad (1.8.x)])
115+
ompi_check_ucx_happy=no])
116+
AS_IF([test "$ompi_check_ucx_happy" = yes],
117+
[
118+
AC_CHECK_DECLS([ucp_tag_send_nbr],
119+
[AC_DEFINE([HAVE_UCP_TAG_SEND_NBR],[1],
120+
[have ucp_tag_send_nbr()])], [],
121+
[#include <ucp/api/ucp.h>])
122+
AC_CHECK_DECLS([ucp_ep_flush_nb, ucp_worker_flush_nb,
123+
ucp_request_check_status, ucp_put_nb, ucp_get_nb,
124+
ucp_put_nbx, ucp_get_nbx, ucp_atomic_op_nbx],
125+
[], [],
126+
[#include <ucp/api/ucp.h>])
127+
AC_CHECK_DECLS([ucm_test_events,
128+
ucm_test_external_events],
129+
[], [],
130+
[#include <ucm/api/ucm.h>])
131+
AC_CHECK_DECLS([UCP_ATOMIC_POST_OP_AND,
132+
UCP_ATOMIC_POST_OP_OR,
133+
UCP_ATOMIC_POST_OP_XOR,
134+
UCP_ATOMIC_FETCH_OP_FAND,
135+
UCP_ATOMIC_FETCH_OP_FOR,
136+
UCP_ATOMIC_FETCH_OP_FXOR,
137+
UCP_PARAM_FIELD_ESTIMATED_NUM_PPN],
138+
[], [],
139+
[#include <ucp/api/ucp.h>])
140+
AC_CHECK_DECLS([UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS],
141+
[AC_DEFINE([HAVE_UCP_WORKER_ADDRESS_FLAGS], [1],
142+
[have worker address attribute])], [],
143+
[#include <ucp/api/ucp.h>])
144+
AC_CHECK_DECLS([UCP_ATTR_FIELD_MEMORY_TYPES],
145+
[AC_DEFINE([HAVE_UCP_ATTR_MEMORY_TYPES], [1],
146+
[have memory types attribute])], [],
147+
[#include <ucp/api/ucp.h>])
148+
AC_CHECK_DECLS([ucp_tag_send_nbx,
149+
ucp_tag_send_sync_nbx,
150+
ucp_tag_recv_nbx],
151+
[], [],
152+
[#include <ucp/api/ucp.h>])
153+
AC_CHECK_TYPES([ucp_request_param_t],
154+
[], [],
155+
[[#include <ucp/api/ucp.h>]])
156+
])
145157
CPPFLAGS=$old_CPPFLAGS
146158

147159
OPAL_SUMMARY_ADD([[Transports]],[[Open UCX]],[$1],[$ompi_check_ucx_happy])])])

ompi/mca/pml/ucx/pml_ucx.c

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,12 +190,22 @@ static int mca_pml_ucx_recv_worker_address(ompi_proc_t *proc,
190190

191191
int mca_pml_ucx_open(void)
192192
{
193+
unsigned major_version, minor_version, release_number;
193194
ucp_context_attr_t attr;
194195
ucp_params_t params;
195196
ucp_config_t *config;
196197
ucs_status_t status;
197198

198-
PML_UCX_VERBOSE(1, "mca_pml_ucx_open");
199+
/* Check version */
200+
ucp_get_version(&major_version, &minor_version, &release_number);
201+
PML_UCX_VERBOSE(1, "mca_pml_ucx_open: UCX version %u.%u.%u",
202+
major_version, minor_version, release_number);
203+
204+
if ((major_version == 1) && (minor_version == 8)) {
205+
/* disabled due to issue #8321 */
206+
PML_UCX_VERBOSE(1, "UCX is disabled due to a known issue in version 1.8");
207+
return OMPI_ERROR;
208+
}
199209

200210
/* Read options */
201211
status = ucp_config_read("MPI", NULL, &config);

0 commit comments

Comments
 (0)