Skip to content
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

Openmpi-5.0.5 + romio + oneapi configure error #12977

Open
jczhang07 opened this issue Dec 11, 2024 · 0 comments
Open

Openmpi-5.0.5 + romio + oneapi configure error #12977

jczhang07 opened this issue Dec 11, 2024 · 0 comments

Comments

@jczhang07
Copy link

jczhang07 commented Dec 11, 2024

[reported to [email protected] but I think it is also good to post here]

Machine info: Linux, Debian 6.1.106-3, x86_64

We want to report a problem found by a petsc user wrt a third party library (romio) included by openmpi-5.0.5.

=============================================================================================
                 Running configure on OPENMPI; this may take several minutes
=============================================================================================
Executing: ./configure --prefix=/home/leila/petsc/arch-clang-O MAKE=/usr/bin/gmake --libdir=/home/leila/petsc/arch-clang-O/lib CC="clang-15" CFLAGS="-fPIC -Wno-sign-conversion -Wno-float-conversion -Wno-implicit-float-conversion -Qunused-arguments -O3 -march=native" AR="/usr/bin/ar" ARFLAGS="cr" CXX="clang++-15" CXXFLAGS="-O3 -march=native -std=gnu++20 -fPIC" F90="gfortran" F90FLAGS="-fPIC -ffree-line-length-none -ffree-line-length-0 -Wno-lto-type-mismatch -g -O -fallow-argument-mismatch" FFLAGS="-fPIC -ffree-line-length-none -ffree-line-length-0 -Wno-lto-type-mismatch -g -O -fallow-argument-mismatch" FC="gfortran" F77="gfortran" FCFLAGS="-fPIC -ffree-line-length-none -ffree-line-length-0 -Wno-lto-type-mismatch -g -O -fallow-argument-mismatch" --enable-shared --with-rsh=ssh --disable-man-pages --disable-sphinx MAKE=/usr/bin/gmake --disable-vt --with-hwloc=internal --with-libevent=internal --with-pmix=internal

...

src/gpu/mpl_gpu_ze.c:240:11: warning: call to undeclared function 'zeDriverFreeMem'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
    ret = zeDriverFreeMem(global_ze_driver_handle, ptr);
          ^
src/gpu/mpl_gpu_ze.c:251:11: warning: call to undeclared function 'zeDriverFreeMem'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
    ret = zeDriverFreeMem(global_ze_driver_handle, ptr);
          ^
src/gpu/mpl_gpu_ze.c:280:19: error: use of undeclared identifier 'device_handles'; did you mean 'dev_handle'?
    *dev_handle = device_handles[dev_id];
                  ^~~~~~~~~~~~~~
                  dev_handle
src/gpu/mpl_gpu_ze.c:278:66: note: 'dev_handle' declared here
int MPL_gpu_get_dev_handle(int dev_id, MPL_gpu_device_handle_t * dev_handle)
                                                                 ^
10 warnings and 10 errors generated.
gmake[3]: *** [Makefile:1158: src/gpu/mpl_gpu_ze.lo] Error 1
gmake[3]: *** Waiting for unfinished jobs....
gmake[2]: *** [Makefile:4709: all-recursive] Error 1
gmake[1]: *** [Makefile:1411: all-recursive] Error 1
gmake: *** [Makefile:1538: all-recursive] Error 1
                    Error running make; make install on OPENMPI: Could not execute "['/usr/bin/gmake -j40 -l96.0  ']":
Making all in config
gmake[1]: Entering directory '/home/leila/petsc/arch-clang-O/externalpackages/openmpi-5.0.5/config'
gmake[1]: Nothing to be done for 'all'.
gmake[1]: Leaving directory '/home/leila/petsc/arch-clang-O/externalpackages/openmpi-5.0.5/conf
 .... more output .....
kages/openmpi-5.0.5/3rd-party/romio341/mpl'
gmake[2]: Leaving directory '/home/leila/petsc/arch-clang-O/externalpackages/openmpi-5.0.5/3rd-party/romio341'
gmake[1]: Leaving directory '/home/leila/petsc/arch-clang-O/externalpackages/openmpi-5.0.5/3rd-party'Makefile:1689: warning: overriding recipe for target 'check-recursive'
Makefile:1411: warning: ignoring old recipe for target 'check-recursive'
strlcpy.c:48:1: warning: a function definition without a prototype is deprecated in all versions of C and is not
 .... more error .....
]: *** [Makefile:1158: src/gpu/mpl_gpu_ze.lo] Error 1

Adding --disable-io-romio 'fixed' the error. By our analysis, it was because romio did not check OneAPI version compatibility. Maye openmpi could have its own check to avoid the error, or provide options like --without-ze to so users can disable ZE when they don't need it (BTW, this option is available in MPICH).

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants