summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeth R. Johnson <johnsonsr@ornl.gov>2022-01-27 23:08:15 -0500
committerGitHub <noreply@github.com>2022-01-27 21:08:15 -0700
commit2fd26be9889847b9bc75fde160e263e3b98448c3 (patch)
tree8ce3e882d40b6ac8957e4888059950fea2f4e859
parent405adce5aee7577373c0d31d0905afbe10e98c3f (diff)
downloadspack-2fd26be9889847b9bc75fde160e263e3b98448c3.tar.gz
spack-2fd26be9889847b9bc75fde160e263e3b98448c3.tar.bz2
spack-2fd26be9889847b9bc75fde160e263e3b98448c3.tar.xz
spack-2fd26be9889847b9bc75fde160e263e3b98448c3.zip
Trilinos: minimize E4S CUDA build (#28591)
* trilinos: update dependencies Use the tribits deps to clarify some dependencies, and group some together using `with` statements, eliminating some transitive conflict duplication. * trilinos: Restricit cuda incompatibility * e4s: vastly reduce number of packages in trilinos-cuda build Not clear who the customers of cuda-enabled trilinos are, or what options they need, or which sets of options conflict... * e4s: remove ~wrapper from trilinos+cuda
-rw-r--r--share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml4
-rw-r--r--var/spack/repos/builtin/packages/trilinos/package.py47
2 files changed, 25 insertions, 26 deletions
diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml
index d2ed08d04d..fe054d3345 100644
--- a/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml
+++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml
@@ -77,7 +77,9 @@ spack:
- sundials +cuda cuda_arch=70
- superlu-dist +cuda cuda_arch=70
- tasmanian +cuda cuda_arch=70
- - trilinos@13.2.0 +cuda cuda_arch=70
+ # Trilinos: enable CUDA, Kokkos, and important Tpetra-era solver packages;
+ # disable Epetra; disable ETI to speed up CI; disable all other TPLs
+ - trilinos@13.2.0 +cuda cuda_arch=70 +wrapper +amesos2 +belos +ifpack2 +kokkos +muelu +nox +stratimikos +tpetra ~amesos ~anasazi ~aztec ~epetraext ~ifpack ~isorropia ~ml ~teko ~tempus ~zoltan ~zoltan2 ~explicit_template_instantiation ~adios2~basker~boost~chaco~complex~debug~dtk~epetraextbtf~epetraextexperimental~epetraextgraphreorderings~exodus~float~fortran~gtest~hypre~intrepid~intrepid2~ipo~mesquite~minitensor~mumps~openmp~phalanx~piro~rocm~rol~rythmos~sacado~scorec~shards~shared~shylu~stk~stokhos~strumpack~suite-sparse~superlu~superlu-dist~trilinoscouplings~x11
- umpire ~shared +cuda cuda_arch=70
- vtk-m +cuda cuda_arch=70
- zfp +cuda cuda_arch=70
diff --git a/var/spack/repos/builtin/packages/trilinos/package.py b/var/spack/repos/builtin/packages/trilinos/package.py
index 88c6714fc5..a130447979 100644
--- a/var/spack/repos/builtin/packages/trilinos/package.py
+++ b/var/spack/repos/builtin/packages/trilinos/package.py
@@ -174,7 +174,7 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage):
# ###################### Conflicts ##########################
- # Epetra packages
+ # Epetra stack
with when('~epetra'):
conflicts('+amesos')
conflicts('+aztec')
@@ -188,8 +188,11 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage):
conflicts('+epetraextbtf')
conflicts('+epetraextexperimental')
conflicts('+epetraextgraphreorderings')
+ with when('+teko'):
+ conflicts('~stratimikos')
+ conflicts('@:12 gotype=long')
- # Tpetra packages
+ # Tpetra stack
with when('~kokkos'):
conflicts('+cuda')
conflicts('+rocm')
@@ -204,31 +207,29 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage):
conflicts('+teko')
conflicts('+zoltan2')
- with when('+teko'):
- conflicts('~amesos')
- conflicts('~anasazi')
- conflicts('~aztec')
- conflicts('~ifpack')
- conflicts('~ml')
- conflicts('~stratimikos')
- conflicts('@:12 gotype=long')
+ with when('~zoltan'):
+ conflicts('+isorropia')
+ conflicts('+scorec')
+ conflicts('+shylu')
+ conflicts('+zoltan2')
+ with when('~shards'):
+ conflicts('+intrepid')
+ conflicts('+intrepid2')
+ conflicts('+scorec')
+ conflicts('+stk')
+ with when('+scorec'):
+ conflicts('~mpi')
+ conflicts('~stk')
# Known requirements from tribits dependencies
conflicts('+aztec', when='~fortran')
conflicts('+basker', when='~amesos2')
- conflicts('+minitensor', when='~boost')
conflicts('+ifpack2', when='~belos')
conflicts('+intrepid', when='~sacado')
- conflicts('+intrepid', when='~shards')
- conflicts('+intrepid2', when='~shards')
- conflicts('+isorropia', when='~zoltan')
+ conflicts('+minitensor', when='~boost')
conflicts('+phalanx', when='~sacado')
- conflicts('+scorec', when='~mpi')
- conflicts('+scorec', when='~shards')
- conflicts('+scorec', when='~stk')
- conflicts('+scorec', when='~zoltan')
+ conflicts('+stokhos', when='~kokkos')
conflicts('+tempus', when='~nox')
- conflicts('+zoltan2', when='~zoltan')
# Only allow DTK with Trilinos 12.14, 12.18
conflicts('+dtk', when='~boost')
@@ -279,12 +280,8 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage):
# Old trilinos fails with new CUDA (see #27180)
conflicts('@:13.0.1 +cuda', when='^cuda@11:')
-
- # See discussion on the PR adding cuda@11.6 for details.
- #
- # https://github.com/spack/spack/pull/28439
- #
- conflicts('+cuda', when='^cuda@11.6.0:')
+ # Build hangs with CUDA 11.6 (see #28439)
+ conflicts('+cuda +stokhos', when='^cuda@11.6:')
# stokhos fails on xl/xl_r
conflicts('+stokhos', when='%xl')