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

MPI builds fail with parallel HDF5 1.14.0 #4447

Closed
quantumsteve opened this issue Feb 8, 2023 · 8 comments
Closed

MPI builds fail with parallel HDF5 1.14.0 #4447

quantumsteve opened this issue Feb 8, 2023 · 8 comments

Comments

@quantumsteve
Copy link
Contributor

quantumsteve commented Feb 8, 2023

Describe the bug
A clear and concise description of what the bug is.

-- Configuring done
CMake Error at /home/svh/HDF5/1.14.0/cmake/hdf5-targets.cmake:68 (set_target_properties):
  The link interface of target "hdf5-shared" contains:

    MPI::MPI_C

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

Call Stack (most recent call first):
  /home/svh/HDF5/1.14.0/cmake/hdf5-config.cmake:145 (include)
  /usr/share/cmake-3.25/Modules/FindHDF5.cmake:502 (find_package)
  CMakeLists.txt:646 (find_package)

To Reproduce
Steps to reproduce the behavior:

  1. release version or git commit hash being built

d052299

  1. cmake command

CC=mpicc CXX=mpicxx cmake -G Ninja -DHDF5_ROOT=/home/svh/HDF5/1.14.0/ ../

  1. full program/test invocation command

(CMake configure step never finished)

  1. additional steps

hdf5 1.14.0 built from source with -DHDF5_ENABLE_PARALLEL=ON

Expected behavior
A clear and concise description of what you expected to happen.

CMake to configure and build without errors.

System:

  • system name [e.g. fusiont5, summit]
  • modules loaded [e.g. output of module list]
  • other systems where this is reproducible [e.g. "my laptop", "none"]
    my laptop, Ubuntu 20.04

Additional context
Add any other context about the problem here.

A similar issue was already reported to HDF5
HDFGroup/hdf5#2404

@quantumsteve
Copy link
Contributor Author

quantumsteve commented Feb 8, 2023

There is a fix in the last commit to develop, but I encountered another error when using that branch.
HDFGroup/hdf5#2400

-- Unable to determine HDF5 C flags from HDF5 wrapper.
-- Could NOT find HDF5 (missing: HDF5_LIBRARIES) (found suitable version "1.15.0", minimum required is "1.14")
CMake Error at CMakeLists.txt:698 (message):
  HDF5 not found.  Set HDF5_ROOT

edit: HDF5 was a serial build in this, which explains cc vs mpicc

@quantumsteve
Copy link
Contributor Author

With -DHDF5_ENABLE_PARALLEL=ON the current develop branch is found but isn't picked up as parallel 😕

-- Found HDF5: /home/svh/HDF5/1.15.0/lib/libhdf5.so;/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so (found suitable version "1.15.0", minimum required is "1.14") found components: C 
-- HDF5 IS PARALLEL: FALSE
-- Serial HDF5 library found
-- Using HDF5 non-scalable serial I/O code paths
CMake Warning at CMakeLists.txt:678 (message):
  MPI builds may have performance loss by not using parallel HDF5! (Safe to
  ignore for workstation builds).

@prckent
Copy link
Contributor

prckent commented Feb 10, 2023

Good to know but hopefully you can stick with 1.12.x for development and work this in parallel?

@ye-luo
Copy link
Contributor

ye-luo commented Aug 21, 2023

1.12.2 is also bad but 1.12.1 works fine.
spack/spack#35893 (comment)

@ye-luo
Copy link
Contributor

ye-luo commented Aug 21, 2023

1.14.1-2 and 1.14.2 remain broken.

@prckent
Copy link
Contributor

prckent commented Aug 21, 2023

Thanks for exploring Ye. For both serial and parallel builds? Kitware or HDFGroup or QMCPACK or spack problem? e.g. Do we have to update any API usage? I am happy to explore here since (obviously) if HDF does not work it is game over for users. Perhaps we should update our error messages if we can detect the bad software versions....

@ye-luo
Copy link
Contributor

ye-luo commented Aug 21, 2023

I tested spack built 1.12.2, 1.14.0, 1.14.1-2 and 1.14.2 with a minimal reproducer https://github.com/ye-luo/cmake_gpu/tree/master/hdf5. Potential source of issues. hdf5, spack, cmake, us.

@quantumsteve
Copy link
Contributor Author

Fixed in #4708

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

No branches or pull requests

3 participants