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
This commit is contained in:
Seth R. Johnson
2022-01-27 23:08:15 -05:00
committed by GitHub
parent 405adce5ae
commit 2fd26be988
2 changed files with 25 additions and 26 deletions

View File

@@ -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')