diff options
author | Stephen McDowell <svenevs@users.noreply.github.com> | 2022-11-04 14:26:58 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-04 13:26:58 -0500 |
commit | 6f8e242db83d8adefae4846716bf93b0f83cbf2b (patch) | |
tree | 0178fc03f6e478d498e9e759ceab30f7bb3ad042 /var | |
parent | 17eaf34902077aca2256a3acd735a5efb3dcb5b4 (diff) | |
download | spack-6f8e242db83d8adefae4846716bf93b0f83cbf2b.tar.gz spack-6f8e242db83d8adefae4846716bf93b0f83cbf2b.tar.bz2 spack-6f8e242db83d8adefae4846716bf93b0f83cbf2b.tar.xz spack-6f8e242db83d8adefae4846716bf93b0f83cbf2b.zip |
ECP-SDK: fixup +hdf5 +cuda contraints (#33676)
Only enable the hdf5-vfd-gds package if it can compile.
- hdf5-vfd-gds needs cuda@11.7.1+ to be able to `find_library` for cuFile.
- Only enable hdf5-vfd-gds in the sdk if cuda@11.7.1+ is available.
If an earlier version of cuda is being used, do not depend on the
hdf5-vfd-gds package at all.
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/ecp-data-vis-sdk/package.py | 13 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/hdf5-vfd-gds/package.py | 3 |
2 files changed, 15 insertions, 1 deletions
diff --git a/var/spack/repos/builtin/packages/ecp-data-vis-sdk/package.py b/var/spack/repos/builtin/packages/ecp-data-vis-sdk/package.py index 54a61243fe..e0f6676600 100644 --- a/var/spack/repos/builtin/packages/ecp-data-vis-sdk/package.py +++ b/var/spack/repos/builtin/packages/ecp-data-vis-sdk/package.py @@ -113,7 +113,18 @@ class EcpDataVisSdk(BundlePackage, CudaPackage, ROCmPackage): dav_sdk_depends_on("faodel+shared+mpi network=libfabric", when="+faodel", propagate=["hdf5"]) dav_sdk_depends_on("hdf5@1.12: +shared+mpi", when="+hdf5", propagate=["fortran"]) - dav_sdk_depends_on("hdf5-vfd-gds@1.0.2:", when="+cuda+hdf5", propagate=cuda_arch_variants) + # hdf5-vfd-gds needs cuda@11.7.1 or later, only enable when 11.7.1+ available. + depends_on( + "hdf5-vfd-gds@1.0.2:", + when="+cuda+hdf5^cuda@11.7.1:", + ) + for cuda_arch in cuda_arch_variants: + depends_on( + "hdf5-vfd-gds@1.0.2: {0}".format(cuda_arch), + when="+cuda+hdf5 {0} ^cuda@11.7.1:".format(cuda_arch), + ) + conflicts("~cuda", when="^hdf5-vfd-gds@1.0.2:") + conflicts("~hdf5", when="^hdf5-vfd-gds@1.0.2:") dav_sdk_depends_on("parallel-netcdf+shared", when="+pnetcdf", propagate=["fortran"]) diff --git a/var/spack/repos/builtin/packages/hdf5-vfd-gds/package.py b/var/spack/repos/builtin/packages/hdf5-vfd-gds/package.py index b3e3960b24..7bc6f0e1ec 100644 --- a/var/spack/repos/builtin/packages/hdf5-vfd-gds/package.py +++ b/var/spack/repos/builtin/packages/hdf5-vfd-gds/package.py @@ -23,6 +23,9 @@ class Hdf5VfdGds(CMakePackage, CudaPackage): # Dependencies conflicts("~cuda") + # Although cuFILE predates 11.7.0, it is not installed in a location the build + # system can obtaion via `find_library`. Packaging issues fixed in 11.7.1. + conflicts("^cuda@:11.7.0") depends_on("cmake@3.12:", type="build") depends_on("hdf5@1.13.0:") |