@@ -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 ])])])
0 commit comments