dealii: add v9.6.0 (#45554)
Co-authored-by: eugeneswalker <eugenesunsetwalker@gmail.com> Co-authored-by: Satish Balay <balay@mcs.anl.gov>
This commit is contained in:
parent
be918817d6
commit
badb3cedcd
@ -211,7 +211,6 @@ spack:
|
|||||||
- chai +cuda cuda_arch=75 ^umpire ~shared
|
- chai +cuda cuda_arch=75 ^umpire ~shared
|
||||||
- chapel +cuda cuda_arch=75
|
- chapel +cuda cuda_arch=75
|
||||||
- cusz +cuda cuda_arch=75
|
- cusz +cuda cuda_arch=75
|
||||||
- dealii +cuda cuda_arch=75
|
|
||||||
- ecp-data-vis-sdk +adios2 +hdf5 +vtkm +zfp ~paraview +cuda cuda_arch=75 # # +paraview: job killed oom?
|
- ecp-data-vis-sdk +adios2 +hdf5 +vtkm +zfp ~paraview +cuda cuda_arch=75 # # +paraview: job killed oom?
|
||||||
- fftx +cuda cuda_arch=75
|
- fftx +cuda cuda_arch=75
|
||||||
- flecsi +cuda cuda_arch=75
|
- flecsi +cuda cuda_arch=75
|
||||||
@ -245,6 +244,7 @@ spack:
|
|||||||
- zfp +cuda cuda_arch=75
|
- zfp +cuda cuda_arch=75
|
||||||
# --
|
# --
|
||||||
# - cp2k +mpi +cuda cuda_arch=75 # cp2k: cp2k only supports cuda_arch ('35', '37', '60', '70', '80')
|
# - cp2k +mpi +cuda cuda_arch=75 # cp2k: cp2k only supports cuda_arch ('35', '37', '60', '70', '80')
|
||||||
|
# - dealii +cuda cuda_arch=75 ~vtk # include/deal.II/base/vectorization.h(1498): error: identifier "vaddvq_f32" is undefined; +vtk: https://github.com/spack/spack/pull/45554#issuecomment-2457255720
|
||||||
# - lammps +cuda cuda_arch=75 # lammps: needs NVIDIA driver
|
# - lammps +cuda cuda_arch=75 # lammps: needs NVIDIA driver
|
||||||
# - lbann +cuda cuda_arch=75 # aluminum: include/aluminum/base.hpp:53: multiple definition of `cub::CUB_200400___CUDA_ARCH_LIST___NS::Debug(cudaError,char const*, int)'; lbann: https://github.com/spack/spack/issues/38788
|
# - lbann +cuda cuda_arch=75 # aluminum: include/aluminum/base.hpp:53: multiple definition of `cub::CUB_200400___CUDA_ARCH_LIST___NS::Debug(cudaError,char const*, int)'; lbann: https://github.com/spack/spack/issues/38788
|
||||||
# - libpressio +bitgrooming +bzip2 +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf ~cusz +mgard +cuda cuda_arch=75 # libpressio: CMake Error at CMakeLists.txt:498 (find_library): Could not find CUFile_LIBRARY using the following names: cufile ; +cusz: https://github.com/spack/spack/issues/38787
|
# - libpressio +bitgrooming +bzip2 +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf ~cusz +mgard +cuda cuda_arch=75 # libpressio: CMake Error at CMakeLists.txt:498 (find_library): Could not find CUFile_LIBRARY using the following names: cufile ; +cusz: https://github.com/spack/spack/issues/38787
|
||||||
@ -260,7 +260,6 @@ spack:
|
|||||||
- chai +cuda cuda_arch=80 ^umpire ~shared
|
- chai +cuda cuda_arch=80 ^umpire ~shared
|
||||||
- chapel +cuda cuda_arch=80
|
- chapel +cuda cuda_arch=80
|
||||||
- cusz +cuda cuda_arch=80
|
- cusz +cuda cuda_arch=80
|
||||||
- dealii +cuda cuda_arch=80
|
|
||||||
- ecp-data-vis-sdk +adios2 +hdf5 +vtkm +zfp ~paraview +cuda cuda_arch=80 # +paraview: job killed oom?
|
- ecp-data-vis-sdk +adios2 +hdf5 +vtkm +zfp ~paraview +cuda cuda_arch=80 # +paraview: job killed oom?
|
||||||
- fftx +cuda cuda_arch=80
|
- fftx +cuda cuda_arch=80
|
||||||
- flecsi +cuda cuda_arch=80
|
- flecsi +cuda cuda_arch=80
|
||||||
@ -294,6 +293,7 @@ spack:
|
|||||||
- zfp +cuda cuda_arch=80
|
- zfp +cuda cuda_arch=80
|
||||||
# --
|
# --
|
||||||
# - cp2k +mpi +cuda cuda_arch=80 # cp2k: Error: KeyError: 'Point environment variable LIBSMM_PATH to the absolute path of the libsmm.a file'
|
# - cp2k +mpi +cuda cuda_arch=80 # cp2k: Error: KeyError: 'Point environment variable LIBSMM_PATH to the absolute path of the libsmm.a file'
|
||||||
|
# - dealii +cuda cuda_arch=80 ~vtk # include/deal.II/base/vectorization.h(1498): error: identifier "vaddvq_f32" is undefined; +vtk: https://github.com/spack/spack/pull/45554#issuecomment-2457255720
|
||||||
# - lammps +cuda cuda_arch=80 # lammps: needs NVIDIA driver
|
# - lammps +cuda cuda_arch=80 # lammps: needs NVIDIA driver
|
||||||
# - lbann +cuda cuda_arch=80 # aluminum: include/aluminum/base.hpp:53: multiple definition of `cub::CUB_200400___CUDA_ARCH_LIST___NS::Debug(cudaError,char const*, int)'; lbann: https://github.com/spack/spack/issues/38788
|
# - lbann +cuda cuda_arch=80 # aluminum: include/aluminum/base.hpp:53: multiple definition of `cub::CUB_200400___CUDA_ARCH_LIST___NS::Debug(cudaError,char const*, int)'; lbann: https://github.com/spack/spack/issues/38788
|
||||||
# - libpressio +bitgrooming +bzip2 +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf ~cusz +mgard +cuda cuda_arch=80 # libpressio: CMake Error at CMakeLists.txt:498 (find_library): Could not find CUFile_LIBRARY using the following names: cufile ; +cusz: https://github.com/spack/spack/issues/38787
|
# - libpressio +bitgrooming +bzip2 +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf ~cusz +mgard +cuda cuda_arch=80 # libpressio: CMake Error at CMakeLists.txt:498 (find_library): Could not find CUFile_LIBRARY using the following names: cufile ; +cusz: https://github.com/spack/spack/issues/38787
|
||||||
|
@ -84,7 +84,7 @@ spack:
|
|||||||
- charliecloud
|
- charliecloud
|
||||||
- conduit
|
- conduit
|
||||||
- datatransferkit
|
- datatransferkit
|
||||||
- dealii
|
- dealii ~vtk ~taskflow cflags=-O0 cxxflags=-O0 # +vtk +taskflow: ^taskflow: CMake Error at CMakeLists.txt:81 (message): Taskflow currently supports the following compilers: g++ v7.0 or above, clang++ v6.0 or above; use -O0 to work around compiler failure
|
||||||
- drishti
|
- drishti
|
||||||
- dxt-explorer
|
- dxt-explorer
|
||||||
- ecp-data-vis-sdk ~cuda ~rocm +adios2 ~ascent +cinema +darshan +faodel +hdf5 +paraview +pnetcdf +sz +unifyfs +veloc ~visit +vtkm +zfp # +ascent: fides: fides/xgc/XGCCommon.cxx:233:10: error: no member named 'iota' in namespace 'std'; +visit: visit_vtk/lightweight/vtkSkewLookupTable.C:32:10: error: cannot initialize return object of type 'unsigned char *' with an rvalue of type 'const unsigned char *'
|
- ecp-data-vis-sdk ~cuda ~rocm +adios2 ~ascent +cinema +darshan +faodel +hdf5 +paraview +pnetcdf +sz +unifyfs +veloc ~visit +vtkm +zfp # +ascent: fides: fides/xgc/XGCCommon.cxx:233:10: error: no member named 'iota' in namespace 'std'; +visit: visit_vtk/lightweight/vtkSkewLookupTable.C:32:10: error: cannot initialize return object of type 'unsigned char *' with an rvalue of type 'const unsigned char *'
|
||||||
|
@ -62,7 +62,7 @@ spack:
|
|||||||
- conduit
|
- conduit
|
||||||
- cp2k +mpi
|
- cp2k +mpi
|
||||||
- datatransferkit
|
- datatransferkit
|
||||||
- dealii
|
- dealii ~vtk # https://github.com/spack/spack/pull/45554#issuecomment-2457255720
|
||||||
- drishti
|
- drishti
|
||||||
- dxt-explorer
|
- dxt-explorer
|
||||||
- dyninst
|
- dyninst
|
||||||
|
@ -28,6 +28,8 @@ class Dealii(CMakePackage, CudaPackage):
|
|||||||
generator("make")
|
generator("make")
|
||||||
|
|
||||||
version("master", branch="master")
|
version("master", branch="master")
|
||||||
|
version("9.6.0", sha256="675323f0eb8eed2cfc93e2ced07a0ec5727c6a566ff9e7786c01a2ddcde17bed")
|
||||||
|
version("9.5.2", sha256="7930e5218a9807d60cc05c300a3b70f36f4af22c3551a2cd1141fbab013bbaf1")
|
||||||
version("9.5.1", sha256="a818b535e6488d3aef7853311657c7b4fadc29a9abe91b7b202b131aad630f5e")
|
version("9.5.1", sha256="a818b535e6488d3aef7853311657c7b4fadc29a9abe91b7b202b131aad630f5e")
|
||||||
version("9.5.0", sha256="a81f41565f0d3a22d491ee687957dd48053225da72e8d6d628d210358f4a0464")
|
version("9.5.0", sha256="a81f41565f0d3a22d491ee687957dd48053225da72e8d6d628d210358f4a0464")
|
||||||
version("9.4.2", sha256="45a76cb400bfcff25cc2d9093d9a5c91545c8367985e6798811c5e9d2a6a6fd4")
|
version("9.4.2", sha256="45a76cb400bfcff25cc2d9093d9a5c91545c8367985e6798811c5e9d2a6a6fd4")
|
||||||
@ -78,7 +80,10 @@ class Dealii(CMakePackage, CudaPackage):
|
|||||||
values=("default", "11", "14", "17"),
|
values=("default", "11", "14", "17"),
|
||||||
)
|
)
|
||||||
variant("doc", default=False, description="Compile with documentation")
|
variant("doc", default=False, description="Compile with documentation")
|
||||||
variant("examples", default=True, description="Compile and install tutorial programs")
|
variant("examples", default=True, description="Install source files of tutorial programs")
|
||||||
|
variant(
|
||||||
|
"examples_compile", default=True, description="Install binary files of tutorial programs"
|
||||||
|
)
|
||||||
variant("int64", default=False, description="Compile with 64 bit indices support")
|
variant("int64", default=False, description="Compile with 64 bit indices support")
|
||||||
variant("mpi", default=True, description="Compile with MPI")
|
variant("mpi", default=True, description="Compile with MPI")
|
||||||
variant("optflags", default=False, description="Compile using additional optimization flags")
|
variant("optflags", default=False, description="Compile using additional optimization flags")
|
||||||
@ -91,6 +96,9 @@ class Dealii(CMakePackage, CudaPackage):
|
|||||||
variant("arpack", default=True, description="Compile with Arpack and PArpack (only with MPI)")
|
variant("arpack", default=True, description="Compile with Arpack and PArpack (only with MPI)")
|
||||||
variant("adol-c", default=True, description="Compile with ADOL-C")
|
variant("adol-c", default=True, description="Compile with ADOL-C")
|
||||||
variant("cgal", default=True, when="@9.4:~cuda", description="Compile with CGAL")
|
variant("cgal", default=True, when="@9.4:~cuda", description="Compile with CGAL")
|
||||||
|
variant(
|
||||||
|
"complex", default=False, when="@9.1.0:", description="Compile with complex value support"
|
||||||
|
)
|
||||||
variant("ginkgo", default=True, description="Compile with Ginkgo")
|
variant("ginkgo", default=True, description="Compile with Ginkgo")
|
||||||
variant("gmsh", default=True, description="Compile with GMSH")
|
variant("gmsh", default=True, description="Compile with GMSH")
|
||||||
variant("gsl", default=True, description="Compile with GSL")
|
variant("gsl", default=True, description="Compile with GSL")
|
||||||
@ -100,7 +108,8 @@ class Dealii(CMakePackage, CudaPackage):
|
|||||||
variant("muparser", default=True, description="Compile with muParser")
|
variant("muparser", default=True, description="Compile with muParser")
|
||||||
variant("nanoflann", default=False, description="Compile with Nanoflann")
|
variant("nanoflann", default=False, description="Compile with Nanoflann")
|
||||||
variant("netcdf", default=False, description="Compile with Netcdf (only with MPI)")
|
variant("netcdf", default=False, description="Compile with Netcdf (only with MPI)")
|
||||||
variant("oce", default=True, description="Compile with OCE")
|
variant("oce", default=False, description="Compile with OCE")
|
||||||
|
variant("opencascade", default=True, description="Compile with OPENCASCADE")
|
||||||
variant("p4est", default=True, description="Compile with P4est (only with MPI)")
|
variant("p4est", default=True, description="Compile with P4est (only with MPI)")
|
||||||
variant("petsc", default=True, description="Compile with Petsc (only with MPI)")
|
variant("petsc", default=True, description="Compile with Petsc (only with MPI)")
|
||||||
variant("scalapack", default=True, description="Compile with ScaLAPACK (only with MPI)")
|
variant("scalapack", default=True, description="Compile with ScaLAPACK (only with MPI)")
|
||||||
@ -132,7 +141,7 @@ class Dealii(CMakePackage, CudaPackage):
|
|||||||
# dealii does not build with Boost 1.80.0
|
# dealii does not build with Boost 1.80.0
|
||||||
# (https://github.com/spack/spack/pull/32879#issuecomment-1265933265)
|
# (https://github.com/spack/spack/pull/32879#issuecomment-1265933265)
|
||||||
depends_on(
|
depends_on(
|
||||||
"boost@1.59.0:1.63,1.65.1,1.67.0:1.79+thread+system+serialization+iostreams",
|
"boost@1.59.0:1.63,1.65.1,1.67.0:1.79,1.83:+thread+system+serialization+iostreams",
|
||||||
patches=[
|
patches=[
|
||||||
patch("boost_1.65.1_singleton.patch", level=1, when="@1.65.1"),
|
patch("boost_1.65.1_singleton.patch", level=1, when="@1.65.1"),
|
||||||
patch("boost_1.68.0.patch", level=1, when="@1.68.0"),
|
patch("boost_1.68.0.patch", level=1, when="@1.68.0"),
|
||||||
@ -187,13 +196,18 @@ class Dealii(CMakePackage, CudaPackage):
|
|||||||
depends_on("graphviz", when="+doc")
|
depends_on("graphviz", when="+doc")
|
||||||
depends_on("ginkgo", when="@9.1:+ginkgo")
|
depends_on("ginkgo", when="@9.1:+ginkgo")
|
||||||
depends_on("ginkgo@1.4.0:", when="@9.4:+ginkgo")
|
depends_on("ginkgo@1.4.0:", when="@9.4:+ginkgo")
|
||||||
depends_on("gmsh+tetgen+netgen+oce", when="@9.0:+gmsh", type=("build", "run"))
|
depends_on("gmsh+oce", when="@9.0:+gmsh+oce", type=("build", "run"))
|
||||||
|
depends_on("gmsh+opencascade", when="@9.0:+gmsh+opencascade", type=("build", "run"))
|
||||||
|
depends_on("gmsh", when="@9.0:+gmsh~opencascade~oce", type=("build", "run"))
|
||||||
depends_on("gsl", when="@8.5.0:+gsl")
|
depends_on("gsl", when="@8.5.0:+gsl")
|
||||||
# TODO: next line fixes concretization with petsc
|
# TODO: next line fixes concretization with petsc
|
||||||
depends_on("hdf5+mpi+hl+fortran", when="+hdf5+mpi+petsc")
|
depends_on("hdf5+mpi+hl+fortran", when="+hdf5+mpi+petsc")
|
||||||
depends_on("hdf5+mpi+hl", when="+hdf5+mpi~petsc")
|
depends_on("hdf5+mpi+hl", when="+hdf5+mpi~petsc")
|
||||||
depends_on("kokkos@3.7:", when="@9.5:+kokkos~trilinos")
|
depends_on("kokkos@3.7:", when="@9.5:+kokkos~trilinos")
|
||||||
depends_on("kokkos@3.7:+cuda+cuda_lambda+wrapper", when="@9.5:+kokkos~trilinos+cuda")
|
depends_on("kokkos@3.7:+cuda+cuda_lambda+wrapper", when="@9.5:9.5.99+kokkos~trilinos+cuda")
|
||||||
|
depends_on(
|
||||||
|
"kokkos@3.7:+cuda+cuda_lambda+cuda_constexpr+wrapper", when="@9.6:+kokkos~trilinos+cuda"
|
||||||
|
)
|
||||||
# TODO: concretizer bug. The two lines mimic what comes from PETSc
|
# TODO: concretizer bug. The two lines mimic what comes from PETSc
|
||||||
# but we should not need it
|
# but we should not need it
|
||||||
depends_on("metis@5:+int64", when="+metis+int64")
|
depends_on("metis@5:+int64", when="+metis+int64")
|
||||||
@ -204,6 +218,7 @@ class Dealii(CMakePackage, CudaPackage):
|
|||||||
depends_on("netcdf-c+mpi", when="+netcdf+mpi")
|
depends_on("netcdf-c+mpi", when="+netcdf+mpi")
|
||||||
depends_on("netcdf-cxx", when="+netcdf+mpi")
|
depends_on("netcdf-cxx", when="+netcdf+mpi")
|
||||||
depends_on("oce", when="+oce")
|
depends_on("oce", when="+oce")
|
||||||
|
depends_on("opencascade", when="+opencascade")
|
||||||
depends_on("p4est", when="+p4est+mpi")
|
depends_on("p4est", when="+p4est+mpi")
|
||||||
depends_on("petsc+mpi~int64", when="+petsc+mpi~int64")
|
depends_on("petsc+mpi~int64", when="+petsc+mpi~int64")
|
||||||
depends_on("petsc+mpi+int64", when="+petsc+mpi+int64")
|
depends_on("petsc+mpi+int64", when="+petsc+mpi+int64")
|
||||||
@ -215,6 +230,7 @@ class Dealii(CMakePackage, CudaPackage):
|
|||||||
depends_on("sundials@5:6.7", when="@9.3.4:+sundials")
|
depends_on("sundials@5:6.7", when="@9.3.4:+sundials")
|
||||||
depends_on("taskflow@3.4:", when="@9.6:+taskflow")
|
depends_on("taskflow@3.4:", when="@9.6:+taskflow")
|
||||||
depends_on("trilinos gotype=int", when="+trilinos@12.18.1:")
|
depends_on("trilinos gotype=int", when="+trilinos@12.18.1:")
|
||||||
|
depends_on("trilinos+cuda+cuda_constexpr", when="@9.6:+trilinos+cuda")
|
||||||
# TODO: next line fixes concretization with trilinos and adol-c
|
# TODO: next line fixes concretization with trilinos and adol-c
|
||||||
depends_on("trilinos~exodus", when="@9.0:+adol-c+trilinos")
|
depends_on("trilinos~exodus", when="@9.0:+adol-c+trilinos")
|
||||||
# Both Trilinos and SymEngine bundle the Teuchos RCP library.
|
# Both Trilinos and SymEngine bundle the Teuchos RCP library.
|
||||||
@ -319,6 +335,8 @@ class Dealii(CMakePackage, CudaPackage):
|
|||||||
msg="Deal.II 9.6 onwards requires the C++ standard to be set to 17 or later.",
|
msg="Deal.II 9.6 onwards requires the C++ standard to be set to 17 or later.",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
conflicts("oce", when="+opencascade", msg="Only one among OCE or OPENCASCADE can be selected.")
|
||||||
|
|
||||||
# Interfaces added in 8.5.0:
|
# Interfaces added in 8.5.0:
|
||||||
for _package in ["gsl", "python"]:
|
for _package in ["gsl", "python"]:
|
||||||
conflicts(
|
conflicts(
|
||||||
@ -466,7 +484,7 @@ def cmake_args(self):
|
|||||||
|
|
||||||
# Examples / tutorial programs
|
# Examples / tutorial programs
|
||||||
options.append(self.define_from_variant("DEAL_II_COMPONENT_EXAMPLES", "examples"))
|
options.append(self.define_from_variant("DEAL_II_COMPONENT_EXAMPLES", "examples"))
|
||||||
options.append(self.define_from_variant("DEAL_II_COMPILE_EXAMPLES", "examples"))
|
options.append(self.define_from_variant("DEAL_II_COMPILE_EXAMPLES", "examples_compile"))
|
||||||
|
|
||||||
# Enforce the specified C++ standard
|
# Enforce the specified C++ standard
|
||||||
if spec.variants["cxxstd"].value != "default":
|
if spec.variants["cxxstd"].value != "default":
|
||||||
@ -535,6 +553,9 @@ def cmake_args(self):
|
|||||||
if spec.satisfies("+trilinos"):
|
if spec.satisfies("+trilinos"):
|
||||||
options.extend([self.define("CMAKE_CXX_COMPILER", spec["trilinos"].kokkos_cxx)])
|
options.extend([self.define("CMAKE_CXX_COMPILER", spec["trilinos"].kokkos_cxx)])
|
||||||
|
|
||||||
|
# Complex support
|
||||||
|
options.append(self.define_from_variant("DEAL_II_WITH_COMPLEX_VALUES", "complex"))
|
||||||
|
|
||||||
# Python bindings
|
# Python bindings
|
||||||
if spec.satisfies("@8.5.0:"):
|
if spec.satisfies("@8.5.0:"):
|
||||||
options.append(self.define_from_variant("DEAL_II_COMPONENT_PYTHON_BINDINGS", "python"))
|
options.append(self.define_from_variant("DEAL_II_COMPONENT_PYTHON_BINDINGS", "python"))
|
||||||
@ -643,11 +664,16 @@ def cmake_args(self):
|
|||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
# Open Cascade
|
# Open Cascade -- OCE
|
||||||
options.append(self.define_from_variant("DEAL_II_WITH_OPENCASCADE", "oce"))
|
if "+oce" in spec:
|
||||||
if spec.satisfies("+oce"):
|
options.append(self.define_from_variant("DEAL_II_WITH_OPENCASCADE", "oce"))
|
||||||
options.append(self.define("OPENCASCADE_DIR", spec["oce"].prefix))
|
options.append(self.define("OPENCASCADE_DIR", spec["oce"].prefix))
|
||||||
|
|
||||||
|
# Open Cascade -- OpenCascade
|
||||||
|
if "+opencascade" in spec:
|
||||||
|
options.append(self.define_from_variant("DEAL_II_WITH_OPENCASCADE", "opencascade"))
|
||||||
|
options.append(self.define("OPENCASCADE_DIR", spec["opencascade"].prefix))
|
||||||
|
|
||||||
# As a final step, collect CXX flags that may have been
|
# As a final step, collect CXX flags that may have been
|
||||||
# added anywhere above:
|
# added anywhere above:
|
||||||
if len(cxx_flags_release) > 0 and "+optflags" in spec:
|
if len(cxx_flags_release) > 0 and "+optflags" in spec:
|
||||||
|
Loading…
Reference in New Issue
Block a user