Open matt-graham opened 1 year ago
Given HDF5 version 1.14 added many new features which will be relevant to the Exascale, I don't think pinning hdf5 at version 1.12 is wise. In the case of some features 1.14 is not backwards compatible with 1.12, so if we was to design NESO to make use of 1.12, we would need a redesign in future if we used such features, when a later version of HDF5 was used. One such feature is mentioned briefly in the first bullet point of http://computer.org/csdl/journal/td/2022/04/09490299/1vmGU9IuFji
Adding a pin here does not necessarily force a longer term limitation to HDF5 v1.12 though right? This can easily be updated again in future as and when NESO builds against newer HDF5 versions, but as described in https://github.com/ExCALIBUR-NEPTUNE/NESO-Particles/issues/37 currently NESO does not appear to build with HDF5 v1.14. When I last tried without the pin in the spec, the HDF5 version pulled in by Spack is hdf5-1.14.1-2
, and so currently NESO cannot be installed with Spack without manually editing the spack.specs
entry in spack.yaml
. This is just mean to address that issue so that at least in the interim NESO can be built with Spack.
Just tried running spack install
from current main
(with gcc-11.3.0
and oneapi-2022.1.0
) with concretized specs giving hdf5@1.14.1-2
and I get similar errors in neso: Executing phase: 'cmake'
for both compilers:
Error: ProcessError: Command exited with status 1:
...
1 error found in build log:
8 -- Git revision: 0d3c970d7e7c57ecd8598173ddd154f8ca6ebc23
9 -- Git repo state: CLEAN
10 -- Using NESO_PARTICLES_DEVICE_TYPE_CPU
11 -- HDF5 found
12 -- HDF5_IS_PARALLEL ON
13 -- Configuring done (5.3s)
>> 14 CMake Error at /home/matt/projects/spack/opt/spack/linux-ubuntu22.04-skylake/oneapi-2022.1.0/hdf5-1.14.1-2-yyy4j42jjm2rn6r7uomgiq3hxdu2zock/cmake/hdf5-targets.cmake:68 (set_target_properties):
15 The link interface of target "hdf5-shared" contains:
16
17 MPI::MPI_C
18
19 but the target was not found. Possible reasons include:
20
and
Error: ProcessError: Command exited with status 1:
...
1 error found in build log:
6 -- Git repo state: CLEAN
7 -- Enable coverage: OFF
8 -- Using NESO_PARTICLES_DEVICE_TYPE_CPU
9 -- HDF5 found
10 -- HDF5_IS_PARALLEL ON
11 -- Configuring done (1.6s)
>> 12 CMake Error at /home/matt/projects/spack/opt/spack/linux-ubuntu22.04-skylake/gcc-11.3.0/hdf5-1.14.1-2-gzlvytoytcsyeeqcta5psqzyvqdvrs5m/cmake/hdf5-targets.cmake:68 (set_target_properties):
13 The link interface of target "hdf5-shared" contains:
14
15 MPI::MPI_C
16
17 but the target was not found. Possible reasons include:
18
which seems to be specifically hitting the issue in #202 but not https://github.com/ExCALIBUR-NEPTUNE/NESO-Particles/issues/37 which possibly means the latter has been resolved by some of the changes in NESO-particles
since I first raised that issue?
ExCALIBUR-NEPTUNE/NESO-Particles#47 should address the issue with recent versions of HDF5.
Description
Pins
hdf5
package to 1.12.2 andintel-oneapi-mkl
to 2022.1.0 and adds pin to version 2022.1.0 to instructions for installingintel-oneapi-compilers
package using Spack in README.Fixes #210 and fixes ExCALIBUR-NEPTUNE/NESO-Particles#37 (also related to issue in #202).
With the updated spec here, I can build locally on Ubuntu 20.04 using both
gcc-11.3.0
andoneapi-2022.1.0
compilers.Type of change
Please delete options that are not relevant.
Testing
Please describe the tests that you ran to verify your changes and provide instructions for reproducibility. Please also list any relevant details for your test configuration.
Test Configuration:
Checklist:
cmake
clang-format
against my*.hpp
and*.cpp
changescmake-format
against my changes toCMakeLists.txt
black
against changes to*.py