-
Notifications
You must be signed in to change notification settings - Fork 871
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
compile error on "ucs_memory_type_t" #13017
Comments
What version of UCX did configure find ? |
the configure log has the following records : configure:97712: checking for UCX version compatibility btw, I also got similar issue when compile the openMPI 5.x. Thanks a lot ~
|
It has resolved by using new version of UCX. Thanks a lot ! |
If you can find what version of UCX you had before I will fix the configure to avoid such issues in the future. |
According to OMPI setup m4 script we require at least UCX 1.9 to accept building with UCX. I just checked and 1.9 contains the |
I think I found an issue with the UCX version check code. Can you please try the following patch with the old library (assuming you still have it around). diff --git a/config/ompi_check_ucx.m4 b/config/ompi_check_ucx.m4
index 01e39aaf96..8d336c7028 100644
--- a/config/ompi_check_ucx.m4
+++ b/config/ompi_check_ucx.m4
@@ -75,14 +75,16 @@ AC_DEFUN([OMPI_CHECK_UCX],[
AS_IF([test "${ompi_check_ucx_cv_have_version_1_8}" = "yes"],
[AC_MSG_WARN([UCX support skipped because version 1.8.x was found, which has a known catastrophic issue.])
ompi_check_ucx_happy=no])])
- AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[
+ AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[
#include <ucp/api/ucp_version.h>
]], [[
#if (UCP_API_MAJOR < 1) || ((UCP_API_MAJOR == 1) && (UCP_API_MINOR < 9))
#error "Version too low"
#endif
]])],
- [], [AC_MSG_WARN([UCX version is too old, please upgrade to 1.9 or higher.])])
+ [],
+ [AC_MSG_WARN([UCX version is too old, please upgrade to 1.9 or higher.])
+ ompi_check_ucx_happy=no])
AS_IF([test "$ompi_check_ucx_happy" = yes],
[AC_CHECK_DECLS([ucp_tag_send_nbr], |
The UCX version I used was ucx-1.17.0, is looks like the version is fine. Once I compile with the tag "--with-cma", it works fine. I am wondering if this tag makes any difference. Thanks a lot ~ |
I tried to see if |
Don't just print a warning if the UCX version is too old, bail out and demand a newer version (at least 1.9, now more than 4 years old). Fixes open-mpi#13017. Signed-off-by: George Bosilca <[email protected]>
Please submit all the information below so that we can understand the working environment that is the context for your question.
Background information
What version of Open MPI are you using? (e.g., v4.1.6, v5.0.1, git branch name and hash, etc.)
v4.1.7
Describe how Open MPI was installed (e.g., from a source/distribution tarball, from a git clone, from an operating system distribution package, etc.)
from a source
If you are building/installing from a git clone, please copy-n-paste the output from
git submodule status
.download from official website
Please describe the system on which you are running
Linux version 3.10.0-1160.el7.x86_64
Intel(R) Xeon(R) Gold 5122 CPU
Details of the problem
when compile with gcc 12,
../configure CC=gcc CXX=g++ --prefix=...
I get the follow errors:
../../../../../oshmem/mca/sshmem/ucx/sshmem_ucx_module.c:99:41: error: unknown type name 'ucs_memory_type_t'
99 | unsigned flags, ucs_memory_type_t mem_type, int err_level)
| ^~~~~~~~~~~~~~~~~
../../../../../oshmem/mca/sshmem/ucx/sshmem_ucx_module.c: In function 'segment_create':
../../../../../oshmem/mca/sshmem/ucx/sshmem_ucx_module.c:205:12: warning: implicit declaration of function 'segment_create_internal' [-Wimplicit-function-declaration]
205 | return segment_create_internal(ds_buf, mca_sshmem_base_start_address, size,
| ^~~~~~~~~~~~~~~~~~~~~~~
../../../../../oshmem/mca/sshmem/ucx/sshmem_ucx_module.c:206:43: error: 'UCS_MEMORY_TYPE_HOST' undeclared (first use in this function)
206 | flags, UCS_MEMORY_TYPE_HOST, 0);
Thanks in advance ~
The text was updated successfully, but these errors were encountered: