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:
parent
405adce5ae
commit
2fd26be988
2 changed files with 25 additions and 26 deletions
|
@ -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
|
||||
|
|
|
@ -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')
|
||||
|
|
Loading…
Reference in a new issue