summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml28
-rw-r--r--share/spack/gitlab/cloud_pipelines/stacks/e4s-aarch64/spack.yaml335
-rw-r--r--share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse_v1/spack.yaml2
3 files changed, 363 insertions, 2 deletions
diff --git a/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml b/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml
index 61a7a14762..3caf86f169 100644
--- a/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml
+++ b/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml
@@ -59,6 +59,11 @@ default:
SPACK_TARGET_PLATFORM: "linux"
SPACK_TARGET_ARCH: "neoverse_v1"
+.linux_neoverse_v2:
+ variables:
+ SPACK_TARGET_PLATFORM: "linux"
+ SPACK_TARGET_ARCH: "neoverse_v2"
+
.linux_aarch64:
variables:
SPACK_TARGET_PLATFORM: "linux"
@@ -335,6 +340,29 @@ e4s-build:
job: e4s-generate
########################################
+# E4S aarch64 pipeline
+########################################
+.e4s-aarch64:
+ extends: [ ".linux_aarch64" ]
+ variables:
+ SPACK_CI_STACK_NAME: e4s-aarch64
+
+e4s-aarch64-generate:
+ extends: [ ".e4s-aarch64", ".generate-aarch64" ]
+ image: ecpe4s/ubuntu22.04-runner-arm64-gcc-11.4:2024.01.01
+
+e4s-aarch64-build:
+ extends: [ ".e4s-aarch64", ".build" ]
+ trigger:
+ include:
+ - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml
+ job: e4s-aarch64-generate
+ strategy: depend
+ needs:
+ - artifacts: True
+ job: e4s-aarch64-generate
+
+########################################
# E4S Neoverse V1 pipeline
########################################
.e4s-neoverse_v1:
diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s-aarch64/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s-aarch64/spack.yaml
new file mode 100644
index 0000000000..3a1873751b
--- /dev/null
+++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s-aarch64/spack.yaml
@@ -0,0 +1,335 @@
+spack:
+ view: false
+
+ concretizer:
+ reuse: false
+ unify: false
+
+ packages:
+ all:
+ require: '%gcc@11.4.0 target=aarch64'
+ providers:
+ blas: [openblas]
+ mpi: [mpich]
+ variants: +mpi
+ binutils:
+ variants: +ld +gold +headers +libiberty ~nls
+ elfutils:
+ variants: +bzip2 ~nls +xz
+ hdf5:
+ variants: +fortran +hl +shared
+ libfabric:
+ variants: fabrics=sockets,tcp,udp,rxm
+ libunwind:
+ variants: +pic +xz
+ openblas:
+ variants: threads=openmp
+ trilinos:
+ variants: +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
+ xz:
+ variants: +pic
+ mesa:
+ version: [21.3.8]
+ mpi:
+ require: mpich
+ mpich:
+ require: '~wrapperrpath ~hwloc'
+ ncurses:
+ require: '@6.3 +termlib'
+ tbb:
+ require: intel-tbb
+ boost:
+ version: [1.79.0]
+ variants: +atomic +chrono +container +date_time +exception +filesystem +graph
+ +iostreams +locale +log +math +mpi +multithreaded +program_options +random
+ +regex +serialization +shared +signals +stacktrace +system +test +thread +timer
+ cxxstd=17 visibility=global
+ libffi:
+ require: "@3.4.4"
+ vtk-m:
+ require: "+examples"
+ cuda:
+ version: [11.8.0]
+
+ specs:
+ # CPU
+ - adios
+ - alquimia
+ - aml
+ - amrex
+ - arborx
+ - argobots
+ - ascent # ecp dav
+ - axom
+ - bolt
+ - boost
+ - butterflypack
+ - cabana
+ - caliper
+ - chai ~benchmarks ~tests
+ - charliecloud
+ - conduit
+ - datatransferkit
+ - dyninst
+ - ecp-data-vis-sdk ~cuda ~rocm +adios2 +ascent +cinema +darshan +faodel +hdf5 +paraview +pnetcdf +sz +unifyfs +veloc ~visit +vtkm +zfp # +visit: ?
+ - exaworks
+ - flecsi
+ - flit
+ - flux-core
+ - fortrilinos
+ - gasnet
+ - ginkgo
+ - globalarrays
+ - gmp
+ - gotcha
+ - gptune ~mpispawn
+ - gromacs +cp2k ^cp2k build_system=cmake
+ - h5bench
+ - hdf5-vol-async
+ - hdf5-vol-cache
+ - hdf5-vol-log
+ - heffte +fftw
+ - hpctoolkit
+ - hpx networking=mpi
+ - hypre
+ - kokkos +openmp
+ - kokkos-kernels +openmp
+ - lammps
+ - lbann
+ - legion
+ - libnrm
+ - libquo
+ - libunwind
+ - loki
+ - mercury
+ - metall
+ - mfem
+ - mgard +serial +openmp +timing +unstructured ~cuda
+ - mpark-variant
+ - mpifileutils ~xattr
+ - nccmp
+ - nco
+ - netlib-scalapack
+ - nrm
+ - nvhpc
+ - omega-h
+ - openfoam
+ - openmpi
+ - openpmd-api
+ - papi
+ - papyrus
+ - parsec ~cuda
+ - pdt
+ - petsc
+ - phist
+ - plasma
+ - plumed
+ - precice
+ - pruners-ninja
+ - pumi
+ - py-h5py
+ - py-jupyterhub
+ - py-libensemble
+ - py-petsc4py
+ - py-warpx
+ - qthreads scheduler=distrib
+ - quantum-espresso
+ - raja
+ - rempi
+ - scr
+ - slate ~cuda
+ - slepc
+ - stc
+ - strumpack ~slate
+ - sundials
+ - superlu
+ - superlu-dist
+ - swig@4.0.2-fortran
+ - sz3
+ - tasmanian
+ - tau +mpi +python +syscall
+ - 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
+ - turbine
+ - umap
+ - umpire
+ - upcxx
+ - wannier90
+ - xyce +mpi +shared +pymi +pymi_static_tpls
+ # INCLUDED IN ECP DAV CPU
+ - adios2
+ - darshan-runtime
+ - darshan-util
+ - faodel
+ - hdf5
+ - libcatalyst
+ - parallel-netcdf
+ - paraview
+ - py-cinemasci
+ - sz
+ - unifyfs
+ - veloc
+ # - visit # silo: https://github.com/spack/spack/issues/39538
+ - vtk-m
+ - zfp
+ # --
+ # - archer # part of llvm +omp_tsan
+ # - bricks ~cuda # not respecting target=aarch64?
+ # - dealii # slepc: make[1]: *** internal error: invalid --jobserver-auth string 'fifo:/tmp/GMfifo1313'.
+ # - geopm # geopm: https://github.com/spack/spack/issues/38795
+ # - libpressio +bitgrooming +bzip2 ~cuda ~cusz +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp # py-numcodecs@0.7.3: gcc: error: unrecognized command-line option '-mno-sse2'
+ # - variorum # variorum: https://github.com/spack/spack/issues/38786
+
+ # CUDA NOARCH
+ - flux-core +cuda
+ - hpctoolkit +cuda
+ - papi +cuda
+ - tau +mpi +cuda +syscall
+ # --
+ # - bricks +cuda # not respecting target=aarch64?
+ # - legion +cuda # legion: needs NVIDIA driver
+
+ # CUDA 75
+ - amrex +cuda cuda_arch=75
+ - arborx +cuda cuda_arch=75 ^kokkos +wrapper
+ - cabana +cuda cuda_arch=75 ^kokkos +wrapper +cuda_lambda +cuda cuda_arch=75
+ - caliper +cuda cuda_arch=75
+ - chai ~benchmarks ~tests +cuda cuda_arch=75 ^umpire ~shared
+ - flecsi +cuda cuda_arch=75
+ - ginkgo +cuda cuda_arch=75
+ - heffte +cuda cuda_arch=75
+ - hpx +cuda cuda_arch=75
+ - hypre +cuda cuda_arch=75
+ - kokkos +wrapper +cuda cuda_arch=75
+ - kokkos-kernels +cuda cuda_arch=75 ^kokkos +wrapper +cuda cuda_arch=75
+ - magma +cuda cuda_arch=75
+ - mfem +cuda cuda_arch=75
+ - mgard +serial +openmp +timing +unstructured +cuda cuda_arch=75
+ - omega-h +cuda cuda_arch=75
+ - parsec +cuda cuda_arch=75
+ - petsc +cuda cuda_arch=75
+ - raja +cuda cuda_arch=75
+ - slate +cuda cuda_arch=75
+ - strumpack ~slate +cuda cuda_arch=75
+ - sundials +cuda cuda_arch=75
+ - superlu-dist +cuda cuda_arch=75
+ - tasmanian +cuda cuda_arch=75
+ - trilinos +cuda cuda_arch=75
+ - umpire ~shared +cuda cuda_arch=75
+ # INCLUDED IN ECP DAV CUDA
+ - adios2 +cuda cuda_arch=75
+ - paraview +cuda cuda_arch=75
+ - vtk-m +cuda cuda_arch=75
+ - zfp +cuda cuda_arch=75
+ # --
+ # - ascent +cuda cuda_arch=75 # ascent: https://github.com/spack/spack/issues/38045
+ # - axom +cuda cuda_arch=75 # axom: https://github.com/spack/spack/issues/29520
+ # - cusz +cuda cuda_arch=75 # cusz: https://github.com/spack/spack/issues/38787
+ # - dealii +cuda cuda_arch=75 # slepc: make[1]: *** internal error: invalid --jobserver-auth string 'fifo:/tmp/GMfifo1313'.
+ # - ecp-data-vis-sdk +adios2 +hdf5 +vtkm +zfp +paraview +cuda cuda_arch=75 # embree: https://github.com/spack/spack/issues/39534
+ # - lammps +cuda cuda_arch=75 # lammps: needs NVIDIA driver
+ # - lbann +cuda cuda_arch=75 # lbann: https://github.com/spack/spack/issues/38788
+ # - libpressio +bitgrooming +bzip2 +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf ~cusz +mgard +cuda cuda_arch=75 # libpressio: CMake Error at CMakeLists.txt:498 (find_library): Could not find CUFile_LIBRARY using the following names: cufile ; +cusz: https://github.com/spack/spack/issues/38787
+ # - py-torch +cuda cuda_arch=75 # skipped, installed by other means
+ # - slepc +cuda cuda_arch=75 # slepc: make[1]: *** internal error: invalid --jobserver-auth string 'fifo:/tmp/GMfifo1313'.
+ # - upcxx +cuda cuda_arch=75 # upcxx: needs NVIDIA driver
+
+ # CUDA 80
+ - amrex +cuda cuda_arch=80
+ - arborx +cuda cuda_arch=80 ^kokkos +wrapper
+ - cabana +cuda cuda_arch=80 ^kokkos +wrapper +cuda_lambda +cuda cuda_arch=80
+ - caliper +cuda cuda_arch=80
+ - chai ~benchmarks ~tests +cuda cuda_arch=80 ^umpire ~shared
+ - flecsi +cuda cuda_arch=80
+ - ginkgo +cuda cuda_arch=80
+ - heffte +cuda cuda_arch=80
+ - hpx +cuda cuda_arch=80
+ - hypre +cuda cuda_arch=80
+ - kokkos +wrapper +cuda cuda_arch=80
+ - kokkos-kernels +cuda cuda_arch=80 ^kokkos +wrapper +cuda cuda_arch=80
+ - magma +cuda cuda_arch=80
+ - mfem +cuda cuda_arch=80
+ - mgard +serial +openmp +timing +unstructured +cuda cuda_arch=80
+ - omega-h +cuda cuda_arch=80
+ - parsec +cuda cuda_arch=80
+ - petsc +cuda cuda_arch=80
+ - raja +cuda cuda_arch=80
+ - slate +cuda cuda_arch=80
+ - strumpack ~slate +cuda cuda_arch=80
+ - sundials +cuda cuda_arch=80
+ - superlu-dist +cuda cuda_arch=80
+ - tasmanian +cuda cuda_arch=80
+ - trilinos +cuda cuda_arch=80
+ - umpire ~shared +cuda cuda_arch=80
+ # INCLUDED IN ECP DAV CUDA
+ - adios2 +cuda cuda_arch=80
+ - paraview +cuda cuda_arch=80
+ - vtk-m +cuda cuda_arch=80
+ - zfp +cuda cuda_arch=80
+ # --
+ # - ascent +cuda cuda_arch=80 # ascent: https://github.com/spack/spack/issues/38045
+ # - axom +cuda cuda_arch=80 # axom: https://github.com/spack/spack/issues/29520
+ # - cusz +cuda cuda_arch=80 # cusz: https://github.com/spack/spack/issues/38787
+ # - dealii +cuda cuda_arch=80 # slepc: make[1]: *** internal error: invalid --jobserver-auth string 'fifo:/tmp/GMfifo1313'.
+ # - ecp-data-vis-sdk +adios2 +hdf5 +vtkm +zfp +paraview +cuda cuda_arch=80 # embree: https://github.com/spack/spack/issues/39534
+ # - lammps +cuda cuda_arch=80 # lammps: needs NVIDIA driver
+ # - lbann +cuda cuda_arch=80 # lbann: https://github.com/spack/spack/issues/38788
+ # - libpressio +bitgrooming +bzip2 +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf ~cusz +mgard +cuda cuda_arch=80 # libpressio: CMake Error at CMakeLists.txt:498 (find_library): Could not find CUFile_LIBRARY using the following names: cufile ; +cusz: https://github.com/spack/spack/issues/38787
+ # - py-torch +cuda cuda_arch=80 # skipped, installed by other means
+ # - slepc +cuda cuda_arch=80 # slepc: make[1]: *** internal error: invalid --jobserver-auth string 'fifo:/tmp/GMfifo1313'.
+ # - upcxx +cuda cuda_arch=80 # upcxx: needs NVIDIA driver
+
+ # CUDA 90
+ - amrex +cuda cuda_arch=90
+ - arborx +cuda cuda_arch=90 ^kokkos +wrapper
+ - cabana +cuda cuda_arch=90 ^kokkos +wrapper +cuda_lambda +cuda cuda_arch=90
+ - caliper +cuda cuda_arch=90
+ - chai ~benchmarks ~tests +cuda cuda_arch=90 ^umpire ~shared
+ - flecsi +cuda cuda_arch=90
+ - ginkgo +cuda cuda_arch=90
+ - heffte +cuda cuda_arch=90
+ - hpx +cuda cuda_arch=90
+ - kokkos +wrapper +cuda cuda_arch=90
+ - kokkos-kernels +cuda cuda_arch=90 ^kokkos +wrapper +cuda cuda_arch=90
+ - magma +cuda cuda_arch=90
+ - mfem +cuda cuda_arch=90
+ - mgard +serial +openmp +timing +unstructured +cuda cuda_arch=90
+ - parsec +cuda cuda_arch=90
+ - petsc +cuda cuda_arch=90
+ - raja +cuda cuda_arch=90
+ - slate +cuda cuda_arch=90
+ - strumpack ~slate +cuda cuda_arch=90
+ - sundials +cuda cuda_arch=90
+ - superlu-dist +cuda cuda_arch=90
+ - trilinos +cuda cuda_arch=90
+ - umpire ~shared +cuda cuda_arch=90
+ # INCLUDED IN ECP DAV CUDA
+ - adios2 +cuda cuda_arch=90
+ # - paraview +cuda cuda_arch=90 # paraview: InstallError: Incompatible cuda_arch=90
+ - vtk-m +cuda cuda_arch=90
+ - zfp +cuda cuda_arch=90
+ # --
+ # - ascent +cuda cuda_arch=90 # ascent: https://github.com/spack/spack/issues/38045
+ # - axom +cuda cuda_arch=90 # axom: https://github.com/spack/spack/issues/29520
+ # - cusz +cuda cuda_arch=90 # cusz: https://github.com/spack/spack/issues/38787
+ # - dealii +cuda cuda_arch=90 # dealii: https://github.com/spack/spack/issues/39532
+ # - ecp-data-vis-sdk +adios2 +hdf5 +vtkm +zfp +paraview +cuda cuda_arch=90 # embree: https://github.com/spack/spack/issues/39534
+ # - hypre +cuda cuda_arch=90 # concretizer: hypre +cuda requires cuda@:11, but cuda_arch=90 requires cuda@12:
+ # - lammps +cuda cuda_arch=90 # lammps: needs NVIDIA driver
+ # - lbann +cuda cuda_arch=90 # concretizer: Cannot select a single "version" for package "lbann"
+ # - libpressio +bitgrooming +bzip2 +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf ~cusz +mgard +cuda cuda_arch=90 # libpressio: CMake Error at CMakeLists.txt:498 (find_library): Could not find CUFile_LIBRARY using the following names: cufile ; +cusz: https://github.com/spack/spack/issues/38787
+ # - omega-h +cuda cuda_arch=90 # omega-h: https://github.com/spack/spack/issues/39535
+ # - py-torch +cuda cuda_arch=90 # skipped, installed by other means
+ # - slepc +cuda cuda_arch=90 # slepc: make[1]: *** internal error: invalid --jobserver-auth string 'fifo:/tmp/GMfifo1313'.
+ # - tasmanian +cuda cuda_arch=90 # tasmanian: conflicts with cuda@12
+ # - upcxx +cuda cuda_arch=90 # upcxx: needs NVIDIA driver
+
+ ci:
+ pipeline-gen:
+ - build-job:
+ image: "ecpe4s/ubuntu22.04-runner-arm64-gcc-11.4:2024.01.01"
+
+ cdash:
+ build-group: E4S ARM AARCH64
diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse_v1/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse_v1/spack.yaml
index 82a1f07c8d..f5c28587b2 100644
--- a/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse_v1/spack.yaml
+++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse_v1/spack.yaml
@@ -31,8 +31,6 @@ spack:
+teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long
xz:
variants: +pic
- mesa:
- version: [21.3.8]
mpi:
require: mpich
mpich: