spack/share/spack/gitlab/cloud_pipelines/stacks/e4s-rocm-external/spack.yaml
Massimiliano Culpo 94536d2b66 Enforce consistency of gl providers (#44307)
* glew: rework dependency on gl

This simplifies the package and ensures a single gl implementation is
pulled in. Before we were adding direct dependencies, and those are
not unified through the virtual.

* mesa-demos: rework dependency on gl

This simplifies the package and ensures a single gl implementation is
pulled in. Before we were adding direct dependencies, and those are
not unified through the virtual.

* mesa-glu: rework dependency on gl

This simplifies the package and ensures a single gl implementation is
pulled in. Before we were adding direct dependencies, and those are
not unified through the virtual.

* paraview: fix dependency on glew

* mesa: group dependency on when("+glx")

* Add missing dependency on libxml2

* paraview: remove the "osmesa" and "egl" variant

Instead, enforce consistency using the "gl" virtual that allows
only one provider.

* visit: remove osmesa variant

* Disable paraview in the aws-isc stacks

* data-vis-sdk: rework constrains to enforce front-ends

* e4s-power: remove redundant paraview

* Pipelines: update osmesa variants

* trilinos-catalyst-ioss-adapter: make gl a run dependency
2024-07-01 16:56:31 +02:00

302 lines
9.9 KiB
YAML

spack:
view: false
concretizer:
reuse: false
unify: false
packages:
all:
require: '%gcc target=x86_64_v3'
providers:
blas: [openblas]
variants: +mpi
tbb:
require: intel-tbb
mpi:
require: mpich
mpich:
require: '~wrapperrpath ~hwloc'
openblas:
variants: threads=openmp
paraview:
# Don't build GUI support or GLX rendering for HPC/container deployments
require: "@5.11 ~qt ^[virtuals=gl] osmesa"
# ROCm 5.4.3
comgr:
buildable: false
externals:
- spec: comgr@5.7.1
prefix: /opt/rocm-5.7.1/
hip-rocclr:
buildable: false
externals:
- spec: hip-rocclr@5.7.1
prefix: /opt/rocm-5.7.1/hip
hipblas:
buildable: false
externals:
- spec: hipblas@5.7.1
prefix: /opt/rocm-5.7.1/
hipcub:
buildable: false
externals:
- spec: hipcub@5.7.1
prefix: /opt/rocm-5.7.1/
hipfft:
buildable: false
externals:
- spec: hipfft@5.7.1
prefix: /opt/rocm-5.7.1/
hipsparse:
buildable: false
externals:
- spec: hipsparse@5.7.1
prefix: /opt/rocm-5.7.1/
miopen-hip:
buildable: false
externals:
- spec: miopen-hip@5.7.1
prefix: /opt/rocm-5.7.1/
miopengemm:
buildable: false
externals:
- spec: miopengemm@5.7.1
prefix: /opt/rocm-5.7.1/
rccl:
buildable: false
externals:
- spec: rccl@5.7.1
prefix: /opt/rocm-5.7.1/
rocblas:
buildable: false
externals:
- spec: rocblas@5.7.1
prefix: /opt/rocm-5.7.1/
rocfft:
buildable: false
externals:
- spec: rocfft@5.7.1
prefix: /opt/rocm-5.7.1/
rocm-clang-ocl:
buildable: false
externals:
- spec: rocm-clang-ocl@5.7.1
prefix: /opt/rocm-5.7.1/
rocm-cmake:
buildable: false
externals:
- spec: rocm-cmake@5.7.1
prefix: /opt/rocm-5.7.1/
rocm-dbgapi:
buildable: false
externals:
- spec: rocm-dbgapi@5.7.1
prefix: /opt/rocm-5.7.1/
rocm-debug-agent:
buildable: false
externals:
- spec: rocm-debug-agent@5.7.1
prefix: /opt/rocm-5.7.1/
rocm-device-libs:
buildable: false
externals:
- spec: rocm-device-libs@5.7.1
prefix: /opt/rocm-5.7.1/
rocm-gdb:
buildable: false
externals:
- spec: rocm-gdb@5.7.1
prefix: /opt/rocm-5.7.1/
rocm-opencl:
buildable: false
externals:
- spec: rocm-opencl@5.7.1
prefix: /opt/rocm-5.7.1/opencl
rocm-smi-lib:
buildable: false
externals:
- spec: rocm-smi-lib@5.7.1
prefix: /opt/rocm-5.7.1/
hip:
buildable: false
externals:
- spec: hip@5.7.1
prefix: /opt/rocm-5.7.1
extra_attributes:
compilers:
c: /opt/rocm-5.7.1/llvm/bin/clang++
c++: /opt/rocm-5.7.1/llvm/bin/clang++
hip: /opt/rocm-5.7.1/hip/bin/hipcc
hipify-clang:
buildable: false
externals:
- spec: hipify-clang@5.7.1
prefix: /opt/rocm-5.7.1
llvm-amdgpu:
buildable: false
externals:
- spec: llvm-amdgpu@5.7.1
prefix: /opt/rocm-5.7.1/llvm
extra_attributes:
compilers:
c: /opt/rocm-5.7.1/llvm/bin/clang++
cxx: /opt/rocm-5.7.1/llvm/bin/clang++
hsakmt-roct:
buildable: false
externals:
- spec: hsakmt-roct@5.7.1
prefix: /opt/rocm-5.7.1/
hsa-rocr-dev:
buildable: false
externals:
- spec: hsa-rocr-dev@5.7.1
prefix: /opt/rocm-5.7.1/
extra_atributes:
compilers:
c: /opt/rocm-5.7.1/llvm/bin/clang++
cxx: /opt/rocm-5.7.1/llvm/bin/clang++
roctracer-dev-api:
buildable: false
externals:
- spec: roctracer-dev-api@5.7.1
prefix: /opt/rocm-5.7.1
roctracer-dev:
buildable: false
externals:
- spec: roctracer-dev@4.5.3
prefix: /opt/rocm-5.7.1
rocprim:
buildable: false
externals:
- spec: rocprim@5.7.1
prefix: /opt/rocm-5.7.1
rocrand:
buildable: false
externals:
- spec: rocrand@5.7.1
prefix: /opt/rocm-5.7.1
hipsolver:
buildable: false
externals:
- spec: hipsolver@5.7.1
prefix: /opt/rocm-5.7.1
rocsolver:
buildable: false
externals:
- spec: rocsolver@5.7.1
prefix: /opt/rocm-5.7.1
rocsparse:
buildable: false
externals:
- spec: rocsparse@5.7.1
prefix: /opt/rocm-5.7.1
rocthrust:
buildable: false
externals:
- spec: rocthrust@5.7.1
prefix: /opt/rocm-5.7.1
rocprofiler-dev:
buildable: false
externals:
- spec: rocprofiler-dev@5.7.1
prefix: /opt/rocm-5.7.1
specs:
# ROCM NOARCH
- hpctoolkit +rocm
- tau +mpi +rocm +syscall # tau: has issue with `spack env depfile` build
# ROCM 908
- adios2 +kokkos +rocm amdgpu_target=gfx908
- amrex +rocm amdgpu_target=gfx908
- arborx +rocm amdgpu_target=gfx908
- cabana +rocm amdgpu_target=gfx908
- caliper +rocm amdgpu_target=gfx908
- chai +rocm amdgpu_target=gfx908
# - cp2k +mpi +rocm amdgpu_target=gfx908 # cp2k: Error: KeyError: 'No spec with name rocm in... "-L{}".format(spec["rocm"].libs.directories[0]),
- ecp-data-vis-sdk +paraview +vtkm +rocm amdgpu_target=gfx908
- exago +mpi +python +raja +hiop +rocm amdgpu_target=gfx908 ~ipopt cxxflags="-Wno-error=non-pod-varargs" ^hiop@1.0.0 ~sparse +mpi +raja +rocm amdgpu_target=gfx908
- gasnet +rocm amdgpu_target=gfx908
- ginkgo +rocm amdgpu_target=gfx908
- heffte +rocm amdgpu_target=gfx908
- hpx +rocm amdgpu_target=gfx908
- hypre +rocm amdgpu_target=gfx908
- kokkos +rocm amdgpu_target=gfx908
- legion +rocm amdgpu_target=gfx908
- magma ~cuda +rocm amdgpu_target=gfx908
- mfem +rocm amdgpu_target=gfx908
- petsc +rocm amdgpu_target=gfx908
- raja ~openmp +rocm amdgpu_target=gfx908
# - slate +rocm amdgpu_target=gfx908 # slate: hip/device_gescale_row_col.hip.cc:58:49: error: use of overloaded operator '*' is ambiguous (with operand types 'HIP_vector_type<double, 2>' and 'const HIP_vector_type<double, 2>')
- slepc +rocm amdgpu_target=gfx908 ^petsc +rocm amdgpu_target=gfx908
- strumpack ~slate +rocm amdgpu_target=gfx908
- sundials +rocm amdgpu_target=gfx908
- superlu-dist +rocm amdgpu_target=gfx908
- tasmanian ~openmp +rocm amdgpu_target=gfx908
- trilinos +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext +ifpack ~ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu ~stokhos +stratimikos +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long +rocm amdgpu_target=gfx908
- umpire +rocm amdgpu_target=gfx908
- upcxx +rocm amdgpu_target=gfx908
# INCLUDED IN ECP DAV ROCM
# - hdf5
# - hdf5-vol-async
# - hdf5-vol-cache
# - hdf5-vol-log
# - libcatalyst
- paraview +rocm amdgpu_target=gfx908
# - vtk-m ~openmp +rocm amdgpu_target=gfx908 # vtk-m: https://github.com/spack/spack/issues/40268
# --
# - lbann ~cuda +rocm amdgpu_target=gfx908 # aluminum: https://github.com/spack/spack/issues/38807
# - papi +rocm amdgpu_target=gfx908 # papi: https://github.com/spack/spack/issues/27898
# ROCM 90a
- adios2 +kokkos +rocm amdgpu_target=gfx90a
- amrex +rocm amdgpu_target=gfx90a
- arborx +rocm amdgpu_target=gfx90a
- cabana +rocm amdgpu_target=gfx90a
- caliper +rocm amdgpu_target=gfx90a
- chai +rocm amdgpu_target=gfx90a
# - cp2k +mpi +rocm amdgpu_target=gfx90a # cp2k: Error: KeyError: 'No spec with name rocm in... "-L{}".format(spec["rocm"].libs.directories[0]),
- ecp-data-vis-sdk +paraview +vtkm +rocm amdgpu_target=gfx90a
- exago +mpi +python +raja +hiop +rocm amdgpu_target=gfx90a ~ipopt cxxflags="-Wno-error=non-pod-varargs" ^hiop@1.0.0 ~sparse +mpi +raja +rocm amdgpu_target=gfx90a
- gasnet +rocm amdgpu_target=gfx90a
- ginkgo +rocm amdgpu_target=gfx90a
- heffte +rocm amdgpu_target=gfx90a
- hpx +rocm amdgpu_target=gfx90a
- hypre +rocm amdgpu_target=gfx90a
- kokkos +rocm amdgpu_target=gfx90a
- legion +rocm amdgpu_target=gfx90a
- magma ~cuda +rocm amdgpu_target=gfx90a
- mfem +rocm amdgpu_target=gfx90a
- petsc +rocm amdgpu_target=gfx90a
- raja ~openmp +rocm amdgpu_target=gfx90a
# - slate +rocm amdgpu_target=gfx90a # slate: hip/device_gescale_row_col.hip.cc:58:49: error: use of overloaded operator '*' is ambiguous (with operand types 'HIP_vector_type<double, 2>' and 'const HIP_vector_type<double, 2>')
- slepc +rocm amdgpu_target=gfx90a ^petsc +rocm amdgpu_target=gfx90a
- strumpack ~slate +rocm amdgpu_target=gfx90a
- sundials +rocm amdgpu_target=gfx90a
- superlu-dist +rocm amdgpu_target=gfx90a
- tasmanian ~openmp +rocm amdgpu_target=gfx90a
- trilinos +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext +ifpack ~ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu ~stokhos +stratimikos +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long +rocm amdgpu_target=gfx90a
- umpire +rocm amdgpu_target=gfx90a
- upcxx +rocm amdgpu_target=gfx90a
# INCLUDED IN ECP DAV ROCM
# - hdf5
# - hdf5-vol-async
# - hdf5-vol-cache
# - hdf5-vol-log
# - libcatalyst
- paraview +rocm amdgpu_target=gfx90a
# - vtk-m ~openmp +rocm amdgpu_target=gfx90a # vtk-m: https://github.com/spack/spack/issues/40268
# --
# - lbann ~cuda +rocm amdgpu_target=gfx90a # aluminum: https://github.com/spack/spack/issues/38807
# - papi +rocm amdgpu_target=gfx90a # papi: https://github.com/spack/spack/issues/27898
ci:
pipeline-gen:
- build-job:
image: ecpe4s/ubuntu22.04-runner-amd64-gcc-11.4-rocm5.7.1:2024.03.01
cdash:
build-group: E4S ROCm External