summaryrefslogblamecommitdiff
path: root/share/spack/gitlab/cloud_pipelines/stacks/aws-ahug-aarch64/spack.yaml
blob: bd0aa1170b24a38c68b362474db9befa5071d12c (plain) (tree)
1
2
3
4
5
6
7
8
9







                
                  

















                                                                                        

                          






























































































































































































                                                                                                                                                                                                                                                                                                                                              
                          
























                                                                       

                                                                                                                      
             

                                                                                                                                                                    
                                                           

                                      
                  





                                                                                                                                                                             
                                                                                                                                                                                

                                 

                                                                                        
                         










































































                                                                                                                
spack:
  view: false

  concretizer:
    reuse: false
    unify: false

  config:
    build_jobs: 32
    concretizer: clingo
    install_tree:
      root: /home/software/spack
      padded_length: 384
      projections:
        all: '{architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}'

  packages:
    all:
      providers:
        blas:
          - openblas
        mkl:
          - intel-oneapi-mkl
        mpi:
          - openmpi
          - mpich
      variants: +mpi
    tbb:
      require: "intel-tbb"
    binutils:
      variants: +ld +gold +headers +libiberty ~nls
      version:
        - 2.36.1
    doxygen:
      version:
        - 1.8.20
    elfutils:
      variants: +bzip2 ~nls +xz
    hdf5:
      variants: +fortran +hl +shared
    libfabric:
      variants: fabrics=efa,tcp,udp,sockets,verbs,shm,mrail,rxd,rxm
    libunwind:
      variants: +pic +xz
    #m4:
    #  version:
    #    - 1.4.18
    mesa:
      variants: ~llvm
    mesa18:
      variants: ~llvm
    mpich:
      #variants: ~wrapperrpath pmi=pmi netmod=ofi device=ch4
      variants: ~wrapperrpath netmod=ofi device=ch4
    #munge:
    #  variants: localstatedir=/var
    ncurses:
      variants: +termlib
    openblas:
      variants: threads=openmp
    openmpi:
      #variants: +pmi +internal-hwloc fabrics=ofi schedulers=slurm
      variants: fabrics=ofi
    openturns:
      version: [1.18]
    #slurm:
    #  variants: +pmix sysconfdir=/opt/slurm/etc
    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

  definitions:

  - compiler_specs:
    - gcc
    #- nvhpc@22.1


  # - compilers:
  #   - '%gcc@7.5.0'
  #   - '%arm@21.0.0.879'
  #   - '%nvhpc@21.2'
    # - 'arm@21.0.0.879'
    #- when: arch.satisfies('os=ubuntu18.04')
    #  compilers: ['gcc@7.5.0', $bootstrap-compilers]
    #- when: arch.satisfies('os=amzn2')
    #  compilers: ['gcc@7.3.1', $bootstrap-compilers]

    # Note skipping spot since no spack package for it
  - ahug_miniapps:
    - cloverleaf
  # - coevp
  # Bad code pushed to github; needs specific versioning
  # - cohmm
  # - examinimd
  #  - exampm
  # depends on openblas version conflicting on gcc@7.3.1
  # - exasp2
  # depends on openblas version conflicting on gcc@7.3.1
  # - gamess-ri-mp2-miniapp
    - hpcg
  # depends on openblas version conflicting on gcc@7.3.1
  # - laghos
    - lulesh
  # - miniaero
    - miniamr
    - minife
    - minighost
  # fails due to x86 specific timer (asm instructions)
  # - minigmg
    - minimd
  # depends on openblas version conflicting on gcc@7.3.1
  # - miniqmc
    - minismac2d
    - minitri
    - minivite
    - minixyce
    - pennant
    - picsarlite
    - quicksilver
  # - remhos
    - rsbench
    - simplemoc
    - snap
    - snappy
    - tealeaf
  # depends on openblas version conflicting on gcc@7.3.1
  # - thornado-mini
    - tycho2
    - xsbench

  - ahug_fullapps:
  # depends on openblas version conflicting on gcc@7.3.1
  # - abinit
    - abyss
  # conflicts on trilinos
  # - albany
  # - amber
    - amg2013
  # Bad variant fftw
  # - aoflagger
  # - athena
  # - bowtie2
    - branson
  # - camx
  # Bad variant gpu
  # - candle-benchmarks
    - cbench
    - cgm
    - chatterbug
  # - cistem
    - comd
  # old version of openmpi
  # - converge
  # bad variant tensor ops mpi
  # - cosmoflow-benchmark
  # - cosmomc
    - cosp2
  # libxsmm not avail on arm
  # - cp2k
  # - dock
  # - elk
    - elmerfem
  # - exabayes
  # - examl
  # - flecsph
  # trilinos variant mumps
  # - frontistr
    - gatk
    - graph500
    - hpgmg
    - lammps
    - latte
    - macsio
  # - meep
    - meme
  # - modylas
  # - mrbayes
  # - mrchem
 # cudnn depednency
 #  - mxnet
 # trilinos variant mumps
 #  - nalu
  # - nalu-wind
  # - namd
    - nek5000
    - nekbone
  # - nektar
  # - nest
    - nut
  # - nwchem
    - octopus
    - openmm
    - pathfinder
  # - picsar
    - pism
  # meson version
  # - qbox
    - qmcpack
    - quantum-espresso
  # - relion
  # - siesta
    - snbone
    - star
    - su2
    - swfft
    - tinker
  # gfortran lt 9 unsupported
  # - vasp
    - vpfft
    - vpic
    - warpx
  # - yambo

  - compiler:
    - '%gcc@7.3.1'

  - target:
    - 'target=aarch64'
    - 'target=neoverse_n1'


  specs:

  - matrix:
    - - $ahug_miniapps
    - - $compiler
    - - $target

  - matrix:
    - - $ahug_fullapps
    - - $compiler
    - - $target

  # Build compilers to stage in binary cache
  - matrix:
    - - $compiler_specs
    - - $compiler
    - - $target

  mirrors: { "mirror": "s3://spack-binaries/develop/aws-ahug-aarch64" }

  gitlab-ci:

    script:
      - uname -a || true
      - grep -E 'vendor|model name' /proc/cpuinfo 2>/dev/null | sort -u || head -n10 /proc/cpuinfo 2>/dev/null || true
      - nproc
      - curl -Lfs 'https://github.com/JuliaBinaryWrappers/GNUMake_jll.jl/releases/download/GNUMake-v4.3.0+1/GNUMake.v4.3.0.aarch64-linux-gnu.tar.gz' -o gmake.tar.gz
      - printf '2322c175fb092b426f9eb6c24ee22d94ffa6759c3d0c260b74d81abd8120122b gmake.tar.gz' | sha256sum --check --strict --quiet
      - tar -xzf gmake.tar.gz -C /usr bin/make 2> /dev/null
      - . "./share/spack/setup-env.sh"
      - spack --version
      - spack arch
      - cd ${SPACK_CONCRETE_ENV_DIR}
      - spack env activate --without-view .
      - spack config add "config:install_tree:projections:${SPACK_JOB_SPEC_PKG_NAME}:'morepadding/{architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}'"
      - mkdir -p ${SPACK_ARTIFACTS_ROOT}/user_data
      - if [[ -r /mnt/key/intermediate_ci_signing_key.gpg ]]; then spack gpg trust /mnt/key/intermediate_ci_signing_key.gpg; fi
      - if [[ -r /mnt/key/spack_public_key.gpg ]]; then spack gpg trust /mnt/key/spack_public_key.gpg; fi
      - spack --color=always --backtrace ci rebuild > >(tee ${SPACK_ARTIFACTS_ROOT}/user_data/pipeline_out.txt) 2> >(tee ${SPACK_ARTIFACTS_ROOT}/user_data/pipeline_err.txt >&2)
    after_script:
      - cat /proc/loadavg || true

    image: { "name": "ghcr.io/spack/e4s-amazonlinux-2:v2022-03-21", "entrypoint": [""] }
    match_behavior: first
    mappings:
      - match:
        - llvm
        - llvm-amdgpu
        - paraview
        runner-attributes:
          tags: [ "spack", "huge", "aarch64" ]
          variables:
            CI_JOB_SIZE: huge
            KUBERNETES_CPU_REQUEST: 11000m
            KUBERNETES_MEMORY_REQUEST: 42G


      - match:
        - ascent
        - axom
        - cuda
        - dyninst
        - gcc
        - ginkgo
        - hpx
        - kokkos-kernels
        - kokkos-nvcc-wrapper
        - magma
        - mfem
        - mpich
        - openturns
        - precice
        - raja
        - rocblas
        - rocsolver
        - rust
        - slate
        - strumpack
        - sundials
        - trilinos
        - umpire
        - vtk-h
        - vtk-m
        - warpx
        runner-attributes:
          tags: [ "spack", "large", "aarch64" ]
          variables:
            CI_JOB_SIZE: large
            KUBERNETES_CPU_REQUEST: 8000m
            KUBERNETES_MEMORY_REQUEST: 12G

      - match: ['os=amzn2']
        runner-attributes:
          tags: ["spack", "aarch64"]
          variables:
            CI_JOB_SIZE: "default"

    broken-specs-url: "s3://spack-binaries/broken-specs"

    service-job-attributes:
      before_script:
        - . "./share/spack/setup-env.sh"
        - spack --version
      image: { "name": "ghcr.io/spack/e4s-amazonlinux-2:v2022-03-21", "entrypoint": [""] }
      tags: ["spack", "public", "aarch64"]

    signing-job-attributes:
      image: { "name": "ghcr.io/spack/notary:latest", "entrypoint": [""] }
      tags: ["spack", "aws"]
      script:
        - aws s3 sync --exclude "*" --include "*spec.json*" ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache /tmp
        - /sign.sh
        - aws s3 sync --exclude "*" --include "*spec.json.sig*" /tmp ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache

  cdash:
    build-group: AHUG ARM HPC User Group
    url: https://cdash.spack.io
    project: Spack Testing
    site: Cloud Gitlab Infrastructure