From 493b131fa37b30ed6067cb38a9298cc0c86b6f05 Mon Sep 17 00:00:00 2001 From: Gregory Becker Date: Wed, 17 Apr 2024 17:41:14 -0700 Subject: [PATCH] refactor environment to use matrix for rocm architectures --- .../stacks/e4s-rocm-external/spack.yaml | 135 +++++++----------- 1 file changed, 49 insertions(+), 86 deletions(-) diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s-rocm-external/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s-rocm-external/spack.yaml index dabe391c9d3..dfa0416d21c 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s-rocm-external/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s-rocm-external/spack.yaml @@ -211,94 +211,57 @@ spack: - spec: rocprofiler-dev@5.7.1 prefix: /opt/rocm-5.7.1 + definitions: + - per_arch_specs: + - adios2 +kokkos + - amrex + - arborx + - cabana + - caliper + - chai + # - cp2k +mpi # cptk: Error KeyError: 'No spec with name rocm in ... "-L{}".format(spec["rocm"].libs.directories[0]) + - ecp-data-vis-sdk +paraview +vtkm + - exago +mpi +python +raja +hiop ~ipopt cxxflags="-Wno-error=non-pod-varargs" ^hiop ~sparse +mpi +raja + - gasnet + - ginkgo + - heffte + - hpx + - hypre + - kokkos + - legion + - magma ~cuda + - mfem + - petsc + - raja ~openmp + # - slate # slate: hip/device_gescale_row_col.hip.cc:58:49: error: use of overloaded operator '*' is ambiguous (with operand types 'HIP_vector_type' and 'const HIP_vector_type') + - slepc + - strumpack ~slate + - sundials + - superlu-dist + - tasmanian ~openmp + - 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 + - umpire + - upcxx + # INCLUDED IN ECP DAV ROCM + # - hdf5 + # - hdf5-vol-async + # - hdf5-vol-cache + # - hdf5-vol-log + # - libcatalyst + - paraview + # vtk-m ~openmp # vtk-m: https://github.com/spack/spack/issues/40268 + # -- + # - lbann ~cuda # aluminum: https://github.com/spack/spack/issues/38807 + # - papi # papi: https://github.com/spack/spack/issues/27898 + 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' and 'const HIP_vector_type') - - 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' and 'const HIP_vector_type') - - 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 + - hpctoolkit ++rocm + - tau +mpi ++rocm +syscall # tau: has issue with `spack env depfile` build + - matrix: + - [$per_arch_specs] + - [++rocm] + - [amdgpu_target==gfx908, amgdpu_target==gfx90a] ci: pipeline-gen: