From 40e4884e8b32a1fb949c1031e3f432aa68459e58 Mon Sep 17 00:00:00 2001 From: Satish Balay Date: Tue, 15 Nov 2022 16:52:58 -0600 Subject: xsdk: add version @0.8.0 (#33794) - enable sundials+magma+ginkgo - enable dealii+sundials - disable dealii~cgal due to build errors - enable petsc+rocm - enable slepc+cuda+rocm - enable strumpack+cuda+slate - enable slate build with non-gcc compilers - enable pumi+shared - enable mfem+shared - enable ginkgo+mpi - add hiop - and exago - use exago~ipopt due to mumps~mpi conflict with mpi.h) - add raja variant [used by exago/hiop] ~raja builds exago in pflow-only mode - i.e exago~hiop~ipopt~python~cuda ^hiop~cuda [Default on MacOS] Co-authored-by: Cody Balos --- var/spack/repos/builtin/packages/xsdk/package.py | 101 +++++++++++++++++++++-- 1 file changed, 92 insertions(+), 9 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/xsdk/package.py b/var/spack/repos/builtin/packages/xsdk/package.py index 61bcb8519e..f7c5c1f4f2 100644 --- a/var/spack/repos/builtin/packages/xsdk/package.py +++ b/var/spack/repos/builtin/packages/xsdk/package.py @@ -85,6 +85,7 @@ class Xsdk(BundlePackage, CudaPackage, ROCmPackage): maintainers = ["balay", "luszczek", "balos1", "shuds13", "v-dobrev"] version("develop") + version("0.8.0") version("0.7.0") version("0.6.0", deprecated=True) @@ -102,19 +103,29 @@ class Xsdk(BundlePackage, CudaPackage, ROCmPackage): ) variant("butterflypack", default=True, description="Enable butterflypack package build") variant("heffte", default=True, description="Enable heffte package build") - variant("slate", default=True, description="Enable slate package build") + variant("slate", default=(sys.platform != "darwin"), description="Enable slate package build") variant("arborx", default=True, description="Enable ArborX build") + variant("exago", default=True, description="Enable exago build") + variant("hiop", default=True, description="Enable hiop build") + variant("raja", default=(sys.platform != "darwin"), description="Enable raja for hiop, exago") xsdk_depends_on("hypre@develop+superlu-dist+shared", when="@develop", cuda_var="cuda") + xsdk_depends_on("hypre@2.26.0+superlu-dist+shared", when="@0.8.0", cuda_var="cuda") xsdk_depends_on("hypre@2.23.0+superlu-dist+shared", when="@0.7.0", cuda_var="cuda") xsdk_depends_on("hypre@2.20.0+superlu-dist+shared", when="@0.6.0") xsdk_depends_on( - "mfem@develop+mpi+superlu-dist+petsc+sundials+examples+miniapps", + "mfem@develop+shared+mpi+superlu-dist+petsc+sundials+examples+miniapps", when="@develop", cuda_var="cuda", rocm_var="rocm", ) + xsdk_depends_on( + "mfem@4.5.0+shared+mpi+superlu-dist+petsc+sundials+examples+miniapps", + when="@0.8.0", + cuda_var="cuda", + rocm_var="rocm", + ) xsdk_depends_on( "mfem@4.3.0+mpi+superlu-dist+petsc+sundials+examples+miniapps", when="@0.7.0", @@ -128,6 +139,7 @@ class Xsdk(BundlePackage, CudaPackage, ROCmPackage): ) xsdk_depends_on("superlu-dist@develop", when="@develop") + xsdk_depends_on("superlu-dist@8.1.2", when="@0.8.0") xsdk_depends_on("superlu-dist@7.1.1", when="@0.7.0") xsdk_depends_on("superlu-dist@6.4.0", when="@0.6.0") xsdk_depends_on( @@ -137,6 +149,13 @@ class Xsdk(BundlePackage, CudaPackage, ROCmPackage): + " cxxstd=14", when="@develop +trilinos", ) + xsdk_depends_on( + "trilinos@13.4.1+hypre+superlu-dist+hdf5~mumps+boost" + + "~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2" + + "~exodus~dtk+intrepid2+shards+stratimikos gotype=int" + + " cxxstd=14", + when="@0.8.0 +trilinos", + ) xsdk_depends_on( "trilinos@13.2.0+hypre+superlu-dist+hdf5~mumps+boost" + "~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2" @@ -154,6 +173,7 @@ class Xsdk(BundlePackage, CudaPackage, ROCmPackage): xsdk_depends_on("datatransferkit@master", when="@develop +trilinos +datatransferkit") dtk7ver = "3.1-rc2" if sys.platform == "darwin" else "3.1-rc3" + xsdk_depends_on("datatransferkit@" + dtk7ver, when="@0.8.0 +trilinos +datatransferkit") xsdk_depends_on("datatransferkit@" + dtk7ver, when="@0.7.0 +trilinos +datatransferkit") xsdk_depends_on("datatransferkit@3.1-rc2", when="@0.6.0 +trilinos +datatransferkit") @@ -163,6 +183,13 @@ class Xsdk(BundlePackage, CudaPackage, ROCmPackage): "petsc@main+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64", when="@develop", cuda_var="cuda", + rocm_var="rocm", + ) + xsdk_depends_on( + "petsc@3.18.1+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64", + when="@0.8.0", + cuda_var="cuda", + rocm_var="rocm", ) xsdk_depends_on( "petsc@3.16.1+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64", @@ -179,9 +206,14 @@ class Xsdk(BundlePackage, CudaPackage, ROCmPackage): xsdk_depends_on("dealii ~trilinos", when="~trilinos +dealii") xsdk_depends_on( "dealii@master~assimp~python~doc~gmsh+petsc+slepc+mpi~int64+hdf5" - + "~netcdf+metis~sundials~ginkgo~symengine~nanoflann~simplex~arborx", + + "~netcdf+metis+sundials~ginkgo~symengine~nanoflann~simplex~arborx~cgal", when="@develop +dealii", ) + xsdk_depends_on( + "dealii@9.4.0~assimp~python~doc~gmsh+petsc+slepc+mpi~int64+hdf5" + + "~netcdf+metis+sundials~ginkgo~symengine~simplex~arborx~cgal", + when="@0.8.0 +dealii", + ) xsdk_depends_on( "dealii@9.3.2~assimp~python~doc~gmsh+petsc+slepc+mpi~int64+hdf5" + "~netcdf+metis~sundials~ginkgo~symengine~simplex~arborx", @@ -194,19 +226,28 @@ class Xsdk(BundlePackage, CudaPackage, ROCmPackage): ) xsdk_depends_on("pflotran@develop", when="@develop") + xsdk_depends_on("pflotran@4.0.1", when="@0.8.0") xsdk_depends_on("pflotran@3.0.2", when="@0.7.0") xsdk_depends_on("pflotran@xsdk-0.6.0", when="@0.6.0") xsdk_depends_on("alquimia@develop", when="@develop +alquimia") + xsdk_depends_on("alquimia@1.0.10", when="@0.8.0 +alquimia") xsdk_depends_on("alquimia@1.0.9", when="@0.7.0 +alquimia") xsdk_depends_on("alquimia@xsdk-0.6.0", when="@0.6.0 +alquimia") xsdk_depends_on("sundials +trilinos", when="+trilinos @0.6.0:") + xsdk_depends_on("sundials +ginkgo", when="+ginkgo @0.8.0:") xsdk_depends_on( "sundials@develop~int64+hypre+petsc+superlu-dist", when="@develop", - cuda_var="cuda", - rocm_var="rocm", + cuda_var=["cuda", "?magma"], + rocm_var=["rocm", "?magma"], + ) + xsdk_depends_on( + "sundials@6.4.1~int64+hypre+petsc+superlu-dist", + when="@0.8.0", + cuda_var=["cuda", "?magma"], + rocm_var=["rocm", "?magma"], ) xsdk_depends_on( "sundials@5.8.0~int64+hypre+petsc+superlu-dist", @@ -219,10 +260,12 @@ class Xsdk(BundlePackage, CudaPackage, ROCmPackage): ) xsdk_depends_on("plasma@develop:", when="@develop %gcc@6.0:") + xsdk_depends_on("plasma@22.9.29:", when="@0.8.0 %gcc@6.0:") xsdk_depends_on("plasma@21.8.29:", when="@0.7.0 %gcc@6.0:") xsdk_depends_on("plasma@20.9.20:", when="@0.6.0 %gcc@6.0:") xsdk_depends_on("magma@master", when="@develop", cuda_var="?cuda", rocm_var="?rocm") + xsdk_depends_on("magma@2.7.0", when="@0.8.0", cuda_var="?cuda", rocm_var="?rocm") xsdk_depends_on("magma@2.6.1", when="@0.7.0", cuda_var="?cuda", rocm_var="?rocm") xsdk_depends_on("magma@2.5.4", when="@0.6.0", cuda_var="?cuda") @@ -235,6 +278,9 @@ class Xsdk(BundlePackage, CudaPackage, ROCmPackage): xsdk_depends_on( "amrex@develop+sundials", when="@develop %cce", cuda_var="cuda", rocm_var="rocm" ) + xsdk_depends_on("amrex@22.09+sundials", when="@0.8.0 %intel", cuda_var="cuda", rocm_var="rocm") + xsdk_depends_on("amrex@22.09+sundials", when="@0.8.0 %gcc", cuda_var="cuda", rocm_var="rocm") + xsdk_depends_on("amrex@22.09+sundials", when="@0.8.0 %cce", cuda_var="cuda", rocm_var="rocm") xsdk_depends_on("amrex@21.10+sundials", when="@0.7.0 %intel", cuda_var="cuda", rocm_var="rocm") xsdk_depends_on("amrex@21.10+sundials", when="@0.7.0 %gcc", cuda_var="cuda", rocm_var="rocm") xsdk_depends_on("amrex@21.10+sundials", when="@0.7.0 %cce", cuda_var="cuda", rocm_var="rocm") @@ -242,21 +288,26 @@ class Xsdk(BundlePackage, CudaPackage, ROCmPackage): xsdk_depends_on("amrex@20.10", when="@0.6.0 %gcc") xsdk_depends_on("slepc@main", when="@develop") + xsdk_depends_on("slepc@3.18.1", when="@0.8.0", cuda_var="cuda", rocm_var="rocm") xsdk_depends_on("slepc@3.16.0", when="@0.7.0") xsdk_depends_on("slepc@3.14.0", when="@0.6.0") xsdk_depends_on("omega-h +trilinos", when="+trilinos +omega-h") xsdk_depends_on("omega-h ~trilinos", when="~trilinos +omega-h") xsdk_depends_on("omega-h@main", when="@develop +omega-h") + xsdk_depends_on("omega-h@9.34.13", when="@0.8.0 +omega-h") xsdk_depends_on("omega-h@9.34.1", when="@0.7.0 +omega-h") xsdk_depends_on("omega-h@9.32.5", when="@0.6.0 +omega-h") xsdk_depends_on("strumpack ~cuda", when="~cuda @0.6.0: +strumpack") - xsdk_depends_on("strumpack@master~slate~openmp", when="@develop +strumpack") + xsdk_depends_on("strumpack ~slate~openmp", when="~slate @0.8.0: +strumpack") + xsdk_depends_on("strumpack@master", when="@develop +strumpack", cuda_var=["cuda"]) + xsdk_depends_on("strumpack@7.0.1", when="@0.8.0 +strumpack", cuda_var=["cuda"]) xsdk_depends_on("strumpack@6.1.0~slate~openmp", when="@0.7.0 +strumpack") xsdk_depends_on("strumpack@5.0.0~slate~openmp", when="@0.6.0 +strumpack") - xsdk_depends_on("pumi@master", when="@develop") + xsdk_depends_on("pumi@master+shared", when="@develop") + xsdk_depends_on("pumi@2.2.7+shared", when="@0.8.0") xsdk_depends_on("pumi@2.2.6", when="@0.7.0") xsdk_depends_on("pumi@2.2.5", when="@0.6.0") @@ -267,6 +318,11 @@ class Xsdk(BundlePackage, CudaPackage, ROCmPackage): cuda_var=["cuda", "?magma"], rocm_var=["rocm", "?magma"], ) + xsdk_depends_on( + "tasmanian@7.9+xsdkflags+mpi+blas" + tasmanian_openmp, + when="@0.8.0", + cuda_var=["cuda", "?magma"], + ) xsdk_depends_on( "tasmanian@7.7+xsdkflags+mpi+blas" + tasmanian_openmp, when="@0.7.0", @@ -279,6 +335,7 @@ class Xsdk(BundlePackage, CudaPackage, ROCmPackage): ) xsdk_depends_on("arborx@master", when="@develop +arborx") + xsdk_depends_on("arborx@1.2", when="@0.8.0 +arborx") xsdk_depends_on("arborx@1.1", when="@0.7.0 +arborx") # the Fortran 2003 bindings of phist require python@3:, but this @@ -290,11 +347,15 @@ class Xsdk(BundlePackage, CudaPackage, ROCmPackage): xsdk_depends_on("phist kernel_lib=tpetra", when="+trilinos +phist") xsdk_depends_on("phist kernel_lib=petsc", when="~trilinos +phist") xsdk_depends_on("phist@develop ~fortran ~scamac ~openmp ~host ~int64", when="@develop +phist") + xsdk_depends_on("phist@1.11.2 ~fortran ~scamac ~openmp ~host ~int64", when="@0.8.0 +phist") xsdk_depends_on("phist@1.9.5 ~fortran ~scamac ~openmp ~host ~int64", when="@0.7.0 +phist") xsdk_depends_on("phist@1.9.3 ~fortran ~scamac ~openmp ~host ~int64", when="@0.6.0 +phist") xsdk_depends_on( - "ginkgo@develop ~openmp", when="@develop +ginkgo", cuda_var="cuda", rocm_var="rocm" + "ginkgo@develop +mpi ~openmp", when="@develop +ginkgo", cuda_var="cuda", rocm_var="rocm" + ) + xsdk_depends_on( + "ginkgo@1.5.0 +mpi ~openmp", when="@0.8.0 +ginkgo", cuda_var="cuda", rocm_var="rocm" ) xsdk_depends_on( "ginkgo@1.4.0 ~openmp", when="@0.7.0 +ginkgo", cuda_var="cuda", rocm_var="rocm" @@ -303,6 +364,8 @@ class Xsdk(BundlePackage, CudaPackage, ROCmPackage): xsdk_depends_on("py-libensemble@develop+petsc4py", when="@develop +libensemble") xsdk_depends_on("py-petsc4py@main", when="@develop +libensemble") + xsdk_depends_on("py-libensemble@0.9.3+petsc4py", when="@0.8.0 +libensemble") + xsdk_depends_on("py-petsc4py@3.18.1", when="@0.8.0 +libensemble") xsdk_depends_on("py-libensemble@0.8.0+petsc4py", when="@0.7.0 +libensemble") xsdk_depends_on("py-petsc4py@3.16.1", when="@0.7.0 +libensemble") xsdk_depends_on("py-libensemble@0.7.1+petsc4py", when="@0.6.0 +libensemble") @@ -310,10 +373,13 @@ class Xsdk(BundlePackage, CudaPackage, ROCmPackage): xsdk_depends_on("precice ~petsc", when="+precice ^cray-mpich") xsdk_depends_on("precice@develop", when="@develop +precice") + xsdk_depends_on("precice@2.5.0", when="@0.8.0 +precice") xsdk_depends_on("precice@2.3.0", when="@0.7.0 +precice") xsdk_depends_on("precice@2.1.1", when="@0.6.0 +precice") + bfpk_openmp = "~openmp" if sys.platform == "darwin" else "+openmp" xsdk_depends_on("butterflypack@master", when="@develop +butterflypack") + xsdk_depends_on("butterflypack@2.2.2" + bfpk_openmp, when="@0.8.0 +butterflypack") xsdk_depends_on("butterflypack@2.0.0", when="@0.7.0 +butterflypack") xsdk_depends_on("butterflypack@1.2.1", when="@0.6.0 +butterflypack") @@ -323,6 +389,12 @@ class Xsdk(BundlePackage, CudaPackage, ROCmPackage): cuda_var=["cuda", "?magma"], rocm_var=["rocm", "?magma"], ) + xsdk_depends_on( + "heffte@2.3.0+fftw", + when="@0.8.0 +heffte", + cuda_var=["cuda", "?magma"], + rocm_var=["rocm", "?magma"], + ) xsdk_depends_on( "heffte@2.2.0+fftw", when="@0.7.0 +heffte", @@ -331,6 +403,17 @@ class Xsdk(BundlePackage, CudaPackage, ROCmPackage): ) xsdk_depends_on("heffte@2.0.0+fftw", when="@0.6.0 +heffte", cuda_var=["cuda", "?magma"]) - xsdk_depends_on("slate@master", when="@develop +slate %gcc@6.0:", cuda_var="cuda") + xsdk_depends_on("slate@master", when="@develop +slate", cuda_var="cuda") + xsdk_depends_on("slate@2022.07.00", when="@0.8.0 +slate", cuda_var="cuda") xsdk_depends_on("slate@2021.05.02", when="@0.7.0 +slate %gcc@6.0:", cuda_var="cuda") xsdk_depends_on("slate@2020.10.00", when="@0.6.0 +slate %gcc@6.0:", cuda_var="cuda") + + xsdk_depends_on("exago@develop~ipopt~hiop~python", when="@develop +exago ~raja") + xsdk_depends_on("exago@develop~ipopt+hiop+raja", when="@develop +exago +raja", cuda_var="cuda") + xsdk_depends_on("exago@1.5.0~ipopt~hiop~python", when="@0.8.0 +exago ~raja") + xsdk_depends_on("exago@1.5.0~ipopt+hiop+raja", when="@0.8.0 +exago +raja", cuda_var="cuda") + + xsdk_depends_on("hiop@develop", when="@develop +hiop ~raja") + xsdk_depends_on("hiop@develop+raja", when="@develop +hiop +raja", cuda_var="cuda") + xsdk_depends_on("hiop@0.7.1", when="@0.8.0 +hiop ~raja") + xsdk_depends_on("hiop@0.7.1+raja", when="@0.8.0 +hiop +raja", cuda_var="cuda") -- cgit v1.2.3-60-g2f50