aws-pcluster stacks: static spack.yaml (#47918)
This commit is contained in:
		@@ -810,14 +810,6 @@ ml-darwin-aarch64-mps-build:
 | 
			
		||||
 | 
			
		||||
.aws-pcluster-generate:
 | 
			
		||||
  image: { "name": "ghcr.io/spack/pcluster-amazonlinux-2:v2024-10-07", "entrypoint": [""] }
 | 
			
		||||
  before_script:
 | 
			
		||||
    # Use gcc from pre-installed spack store
 | 
			
		||||
    - - . "./share/spack/setup-env.sh"
 | 
			
		||||
      - . "/etc/profile.d/modules.sh"
 | 
			
		||||
      - diff -q "/bootstrap/cloud_pipelines-config.yaml" "share/spack/gitlab/cloud_pipelines/configs/config.yaml" || echo "WARNING Install tree might have changed. You need to rebuild the pcluster-amazonlinux-2 container in spack/gitlab-runners."
 | 
			
		||||
      - cp "share/spack/gitlab/cloud_pipelines/configs/config.yaml" "etc/spack/"
 | 
			
		||||
      - /bin/bash "${SPACK_ROOT}/share/spack/gitlab/cloud_pipelines/scripts/pcluster/setup-pcluster.sh"
 | 
			
		||||
      - rm "etc/spack/config.yaml"
 | 
			
		||||
 | 
			
		||||
# X86_64_V4 (one pipeline per target)
 | 
			
		||||
.aws-pcluster-x86_64_v4:
 | 
			
		||||
@@ -826,6 +818,10 @@ ml-darwin-aarch64-mps-build:
 | 
			
		||||
 | 
			
		||||
aws-pcluster-generate-x86_64_v4:
 | 
			
		||||
  extends: [ ".linux_x86_64_v4", ".aws-pcluster-x86_64_v4", ".generate-base", ".tags-x86_64_v4", ".aws-pcluster-generate"]
 | 
			
		||||
  before_script:
 | 
			
		||||
    - - . "./share/spack/setup-env.sh"
 | 
			
		||||
      # TODO: Move this to the container next time it is rebuilt
 | 
			
		||||
      - export PATH=/home/software/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeh/linux-amzn2-x86_64_v3/gcc-7.3.1/binutils-2.37-qvccg7zpskturysmr4bzbsfrx34kvazo/bin:$PATH
 | 
			
		||||
 | 
			
		||||
aws-pcluster-build-x86_64_v4:
 | 
			
		||||
  extends: [ ".linux_x86_64_v4", ".aws-pcluster-x86_64_v4", ".build" ]
 | 
			
		||||
@@ -846,6 +842,10 @@ aws-pcluster-build-x86_64_v4:
 | 
			
		||||
aws-pcluster-generate-neoverse_v1:
 | 
			
		||||
  # TODO: Use updated runner tags: https://github.com/spack/spack-infrastructure/pull/694/files
 | 
			
		||||
  extends: [ ".linux_neoverse_v1", ".aws-pcluster-neoverse_v1", ".generate-neoverse_v1", ".aws-pcluster-generate"]
 | 
			
		||||
  before_script:
 | 
			
		||||
    - - . "./share/spack/setup-env.sh"
 | 
			
		||||
      # TODO: Move this to the container next time it is rebuilt
 | 
			
		||||
      - export PATH=/home/software/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeh/linux-amzn2-aarch64/gcc-7.3.1/binutils-2.37-2yxz3xsjfmesxujxtlrgcctxlyilynmp/bin:$PATH
 | 
			
		||||
 | 
			
		||||
aws-pcluster-build-neoverse_v1:
 | 
			
		||||
  extends: [  ".linux_neoverse_v1", ".aws-pcluster-neoverse_v1", ".build" ]
 | 
			
		||||
 
 | 
			
		||||
@@ -1,112 +0,0 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#
 | 
			
		||||
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
 | 
			
		||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
 | 
			
		||||
#
 | 
			
		||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
set_pcluster_defaults() {
 | 
			
		||||
    # Set versions of pre-installed software in packages.yaml
 | 
			
		||||
    [ -z "${SLURM_ROOT}" ] && ls /etc/systemd/system/slurm* &>/dev/null && \
 | 
			
		||||
        SLURM_ROOT=$(dirname $(dirname "$(awk '/ExecStart=/ {print $1}' /etc/systemd/system/slurm* | sed -e 's?^.*=??1' | head -n1)"))
 | 
			
		||||
    # Fallback to default location if SLURM not in systemd
 | 
			
		||||
    [ -z "${SLURM_ROOT}" ] && [ -d "/opt/slurm" ] && SLURM_ROOT=/opt/slurm
 | 
			
		||||
    [ -z "${SLURM_VERSION}" ] && SLURM_VERSION=$(strings "${SLURM_ROOT}"/lib/libslurm.so | grep -e '^VERSION' | awk '{print $2}' | sed -e 's?"??g')
 | 
			
		||||
    [ -z "${LIBFABRIC_VERSION}" ] && LIBFABRIC_VERSION=$(awk '/Version:/{print $2}' "$(find /opt/amazon/efa/ -name libfabric.pc | head -n1)" | sed -e 's?~??g' -e 's?amzn.*??g')
 | 
			
		||||
    export SLURM_ROOT SLURM_VERSION LIBFABRIC_VERSION
 | 
			
		||||
 | 
			
		||||
    envsubst < "${SPACK_ROOT}/share/spack/gitlab/cloud_pipelines/stacks/${SPACK_CI_STACK_NAME}/packages.yaml" > "${SPACK_ROOT}"/etc/spack/packages.yaml
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
patch_compilers_yaml() {
 | 
			
		||||
    # Graceful exit if package not found by spack
 | 
			
		||||
    set -o pipefail
 | 
			
		||||
    compilers_yaml="${SPACK_ROOT}/etc/spack/compilers.yaml"
 | 
			
		||||
    [ -f "${compilers_yaml}" ] || {
 | 
			
		||||
        echo "Cannot find ${compilers_yaml}, compiler setup might now be optimal."
 | 
			
		||||
        return
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    # System ld is too old for amzn linux2
 | 
			
		||||
    spack_gcc_version=$(spack find --format '{version}' gcc)
 | 
			
		||||
    binutils_path=$(spack find -p binutils | awk '/binutils/ {print $2}' | head -n1)
 | 
			
		||||
    if [ -d "${binutils_path}" ] && [ -n "${spack_gcc_version}" ]; then python3 <<EOF
 | 
			
		||||
import yaml
 | 
			
		||||
 | 
			
		||||
with open("${compilers_yaml}",'r') as f:
 | 
			
		||||
    compilers=yaml.safe_load(f)
 | 
			
		||||
 | 
			
		||||
for c in compilers["compilers"]:
 | 
			
		||||
    if "arm" in c["compiler"]["spec"] or "intel" in c["compiler"]["spec"] or "oneapi" in c["compiler"]["spec"] \
 | 
			
		||||
       or "${spack_gcc_version}" in c["compiler"]["spec"]:
 | 
			
		||||
        compilers["compilers"][compilers["compilers"].index(c)]["compiler"]["environment"] = {"prepend_path":{"PATH":"${binutils_path}/bin"}}
 | 
			
		||||
 | 
			
		||||
with open("${compilers_yaml}",'w') as f:
 | 
			
		||||
    yaml.dump(compilers, f)
 | 
			
		||||
EOF
 | 
			
		||||
    fi
 | 
			
		||||
    # Oneapi needs extra_rpath to gcc libstdc++.so.6
 | 
			
		||||
    if [ "x86_64" == "$(arch)" ] && oneapi_gcc_version=$(spack find --format '{compiler}' intel-oneapi-compilers | sed -e 's/=//g') && \
 | 
			
		||||
            [ -n "${oneapi_gcc_version}" ] && oneapi_gcc_path=$(spack find -p "${oneapi_gcc_version}" | grep "${oneapi_gcc_version}" | awk '{print $2}' | head -n1) && \
 | 
			
		||||
            [ -d "${oneapi_gcc_path}" ]; then python3 <<EOF
 | 
			
		||||
import yaml
 | 
			
		||||
 | 
			
		||||
with open("${compilers_yaml}",'r') as f:
 | 
			
		||||
    compilers=yaml.safe_load(f)
 | 
			
		||||
 | 
			
		||||
for c in compilers["compilers"]:
 | 
			
		||||
    if "oneapi" in c["compiler"]["spec"]:
 | 
			
		||||
        compilers["compilers"][compilers["compilers"].index(c)]["compiler"]["extra_rpaths"] = ["${oneapi_gcc_path}/lib64"]
 | 
			
		||||
 | 
			
		||||
with open("${compilers_yaml}",'w') as f:
 | 
			
		||||
    yaml.dump(compilers, f)
 | 
			
		||||
EOF
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
install_compilers() {
 | 
			
		||||
    # Install Intel compilers through a static spack version such that the compiler's hash does not change.
 | 
			
		||||
    # The compilers needs to be in the same install tree as the rest of the software such that the path
 | 
			
		||||
    # relocation works correctly. This holds the danger that this part will fail when the current spack gets
 | 
			
		||||
    # incompatible with the one in $spack_intel_compiler_commit. Therefore, we make intel installations optional
 | 
			
		||||
    # in packages.yaml files and add a fallback `%gcc` version for each application.
 | 
			
		||||
    if [ -f "/bootstrap-compilers/spack/etc/spack/compilers.yaml" ]; then
 | 
			
		||||
        # Running inside a gitlab CI container
 | 
			
		||||
        # Intel and gcc@12 compiler are pre-installed and their location is known in 
 | 
			
		||||
        cp /bootstrap-compilers/spack/etc/spack/compilers.yaml "${SPACK_ROOT}"/etc/spack/
 | 
			
		||||
    else
 | 
			
		||||
        spack compiler add --scope site
 | 
			
		||||
        # We need to treat compilers as essentially external, i.e. their installation location
 | 
			
		||||
        # (including hash) must not change when any changes are pushed to spack. The reason is that
 | 
			
		||||
        # changes in the compilers are not reflected in the package hashes built in the CI. Hence, those
 | 
			
		||||
        # packages will reference a wrong compiler path once the path changes.
 | 
			
		||||
 | 
			
		||||
        # `gcc@12.4.0%gcc@7.3.1` is created as part of building the pipeline containers.
 | 
			
		||||
        # `ghcr.io/spack/pcluster-amazonlinux-2:v2024-10-07` produced the following hashes.
 | 
			
		||||
        if [ "x86_64" == "$(arch)" ]; then
 | 
			
		||||
            gcc_hash="pttzchh7o54nhmycj4wgzw5mic6rk2nb"
 | 
			
		||||
        else
 | 
			
		||||
            gcc_hash="v6wxye6ijzrxnzxftcwnpu3psohsjl2b"
 | 
			
		||||
        fi
 | 
			
		||||
 | 
			
		||||
        spack install /${gcc_hash}
 | 
			
		||||
        (
 | 
			
		||||
            spack load gcc
 | 
			
		||||
            spack compiler add --scope site
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        if [ "x86_64" == "$(arch)" ]; then
 | 
			
		||||
            # 2024.1.0 is the last oneapi compiler that works on AL2 and is the one used to compile packages in the build cache.
 | 
			
		||||
            spack install intel-oneapi-compilers@2024.1.0
 | 
			
		||||
            (
 | 
			
		||||
                . "$(spack location -i intel-oneapi-compilers)"/setvars.sh; spack compiler add --scope site \
 | 
			
		||||
                    || true
 | 
			
		||||
            )
 | 
			
		||||
        fi
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
set_pcluster_defaults
 | 
			
		||||
install_compilers
 | 
			
		||||
patch_compilers_yaml
 | 
			
		||||
@@ -1,67 +0,0 @@
 | 
			
		||||
---  # Neoverse N1 / V1 packages
 | 
			
		||||
packages:
 | 
			
		||||
  acfl:
 | 
			
		||||
    require:
 | 
			
		||||
      - one_of: ["%gcc target=aarch64"]
 | 
			
		||||
        message: "Clang based compilers need GCC libraries and they should be made available for the wide range of CPUs they actually support.
 | 
			
		||||
                Edit $SPACK_ROOT/etc/spack/packages.yaml to change this default."
 | 
			
		||||
  gromacs:
 | 
			
		||||
    require:
 | 
			
		||||
      - one_of:
 | 
			
		||||
          - "gromacs@2024.3 %arm ^fftw ^openmpi"
 | 
			
		||||
          - "gromacs@2024.3 %gcc ^armpl-gcc ^openmpi"
 | 
			
		||||
  libfabric:
 | 
			
		||||
    buildable: true
 | 
			
		||||
    externals:
 | 
			
		||||
      - prefix: /opt/amazon/efa/
 | 
			
		||||
        spec: libfabric@${LIBFABRIC_VERSION}
 | 
			
		||||
    require: ['fabrics=shm,efa']
 | 
			
		||||
  llvm:
 | 
			
		||||
    variants: ~lldb
 | 
			
		||||
  mpas-model:
 | 
			
		||||
    require:
 | 
			
		||||
      - one_of:
 | 
			
		||||
          - "precision=single make_target=llvm %arm ^parallelio+pnetcdf"
 | 
			
		||||
          - "precision=single %gcc ^parallelio+pnetcdf"
 | 
			
		||||
  mpich:
 | 
			
		||||
    require: "mpich pmi=pmi2 device=ch4 netmod=ofi +slurm"
 | 
			
		||||
  nvhpc:
 | 
			
		||||
    require:
 | 
			
		||||
      - one_of:
 | 
			
		||||
          - "nvhpc %gcc target=aarch64"
 | 
			
		||||
        message: "NVHPC should be built with GCC and should be made available for the wide range of CPUs they actually support.
 | 
			
		||||
                Edit $SPACK_ROOT/etc/spack/packages.yaml to change this default."
 | 
			
		||||
  openfoam:
 | 
			
		||||
    require: "openfoam %gcc ^scotch@6.0.9"
 | 
			
		||||
  openmpi:
 | 
			
		||||
    variants: ~atomics ~cuda ~cxx ~cxx_exceptions ~internal-hwloc ~java +legacylaunchers ~lustre ~memchecker +pmi +romio ~singularity +vt +wrapper-rpath fabrics=ofi schedulers=slurm
 | 
			
		||||
    require: '@4:'
 | 
			
		||||
  # Palace does not build correctly with armpl until https://github.com/awslabs/palace/pull/207 is merged into a version.
 | 
			
		||||
  # palace:
 | 
			
		||||
  #   require:
 | 
			
		||||
  #     - one_of: ["palace cxxflags=\"-include cstdint\" ^fmt@9.1.0"]
 | 
			
		||||
  pmix:
 | 
			
		||||
    require: "pmix@3:"
 | 
			
		||||
  quantum-espresso:
 | 
			
		||||
    require: "quantum-espresso@6.6 %gcc ^armpl-gcc"
 | 
			
		||||
  slurm:
 | 
			
		||||
    buildable: false
 | 
			
		||||
    externals:
 | 
			
		||||
      - prefix: ${SLURM_ROOT}
 | 
			
		||||
        spec: slurm@${SLURM_VERSION} +pmix
 | 
			
		||||
  wrf:
 | 
			
		||||
    require:
 | 
			
		||||
      - one_of:
 | 
			
		||||
          - "wrf%arm"
 | 
			
		||||
          - "wrf%gcc"
 | 
			
		||||
  all:
 | 
			
		||||
    compiler: [gcc, arm, nvhpc, clang]
 | 
			
		||||
    providers:
 | 
			
		||||
      blas: [armpl-gcc, openblas]
 | 
			
		||||
      fftw-api: [armpl-gcc, fftw]
 | 
			
		||||
      lapack: [armpl-gcc, openblas]
 | 
			
		||||
      mpi: [openmpi, mpich]
 | 
			
		||||
      scalapack: [netlib-scalapack]
 | 
			
		||||
    permissions:
 | 
			
		||||
      read: world
 | 
			
		||||
      write: user
 | 
			
		||||
@@ -28,10 +28,7 @@ spack:
 | 
			
		||||
          - . /etc/profile.d/modules.sh
 | 
			
		||||
          - spack --version
 | 
			
		||||
          - spack arch
 | 
			
		||||
        # Use gcc from pre-installed spack store
 | 
			
		||||
        - - cp share/spack/gitlab/cloud_pipelines/configs/config.yaml etc/spack/
 | 
			
		||||
          - /bin/bash "${SPACK_ROOT}/share/spack/gitlab/cloud_pipelines/scripts/pcluster/setup-pcluster.sh"
 | 
			
		||||
          - rm etc/spack/config.yaml
 | 
			
		||||
          - export PATH=/home/software/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeh/linux-amzn2-aarch64/gcc-7.3.1/binutils-2.37-2yxz3xsjfmesxujxtlrgcctxlyilynmp/bin:$PATH
 | 
			
		||||
    - signing-job:
 | 
			
		||||
        before_script:
 | 
			
		||||
          # Do not distribute Intel & ARM binaries
 | 
			
		||||
@@ -40,3 +37,98 @@ spack:
 | 
			
		||||
 | 
			
		||||
  cdash:
 | 
			
		||||
    build-group: AWS Packages
 | 
			
		||||
 | 
			
		||||
  compilers:
 | 
			
		||||
  - compiler:
 | 
			
		||||
      environment: {}
 | 
			
		||||
      extra_rpaths: []
 | 
			
		||||
      flags: {}
 | 
			
		||||
      modules: []
 | 
			
		||||
      operating_system: amzn2
 | 
			
		||||
      paths:
 | 
			
		||||
        cc: /usr/bin/gcc
 | 
			
		||||
        cxx: /usr/bin/g++
 | 
			
		||||
        f77: /usr/bin/gfortran
 | 
			
		||||
        fc: /usr/bin/gfortran
 | 
			
		||||
      spec: gcc@=7.3.1
 | 
			
		||||
      target: aarch64
 | 
			
		||||
  - compiler:
 | 
			
		||||
      environment: {}
 | 
			
		||||
      extra_rpaths: []
 | 
			
		||||
      flags: {}
 | 
			
		||||
      modules: []
 | 
			
		||||
      operating_system: amzn2
 | 
			
		||||
      paths:
 | 
			
		||||
        cc: /home/software/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeh/linux-amzn2-aarch64/gcc-7.3.1/gcc-12.4.0-v6wxye6ijzrxnzxftcwnpu3psohsjl2b/bin/gcc
 | 
			
		||||
        cxx: /home/software/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeh/linux-amzn2-aarch64/gcc-7.3.1/gcc-12.4.0-v6wxye6ijzrxnzxftcwnpu3psohsjl2b/bin/g++
 | 
			
		||||
        f77: /home/software/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeh/linux-amzn2-aarch64/gcc-7.3.1/gcc-12.4.0-v6wxye6ijzrxnzxftcwnpu3psohsjl2b/bin/gfortran
 | 
			
		||||
        fc: /home/software/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeh/linux-amzn2-aarch64/gcc-7.3.1/gcc-12.4.0-v6wxye6ijzrxnzxftcwnpu3psohsjl2b/bin/gfortran
 | 
			
		||||
      spec: gcc@=12.4.0
 | 
			
		||||
      target: aarch64
 | 
			
		||||
 | 
			
		||||
  packages:
 | 
			
		||||
    acfl:
 | 
			
		||||
      require:
 | 
			
		||||
        - one_of: ["%gcc target=aarch64"]
 | 
			
		||||
          message: "Clang based compilers need GCC libraries and they should be made available for the wide range of CPUs they actually support.
 | 
			
		||||
                  Edit $SPACK_ROOT/etc/spack/packages.yaml to change this default."
 | 
			
		||||
    gromacs:
 | 
			
		||||
      require:
 | 
			
		||||
        - one_of:
 | 
			
		||||
            - "gromacs@2024.3 %arm ^fftw ^openmpi"
 | 
			
		||||
            - "gromacs@2024.3 %gcc ^armpl-gcc ^openmpi"
 | 
			
		||||
    libfabric:
 | 
			
		||||
      buildable: true
 | 
			
		||||
      externals:
 | 
			
		||||
        - prefix: /opt/amazon/efa/
 | 
			
		||||
          spec: libfabric@1.17.0
 | 
			
		||||
      require: ['fabrics=shm,efa']
 | 
			
		||||
    llvm:
 | 
			
		||||
      variants: ~lldb
 | 
			
		||||
    mpas-model:
 | 
			
		||||
      require:
 | 
			
		||||
        - one_of:
 | 
			
		||||
            - "precision=single make_target=llvm %arm ^parallelio+pnetcdf"
 | 
			
		||||
            - "precision=single %gcc ^parallelio+pnetcdf"
 | 
			
		||||
    mpich:
 | 
			
		||||
      require: "mpich pmi=pmi2 device=ch4 netmod=ofi +slurm"
 | 
			
		||||
    nvhpc:
 | 
			
		||||
      require:
 | 
			
		||||
        - one_of:
 | 
			
		||||
            - "nvhpc %gcc target=aarch64"
 | 
			
		||||
          message: "NVHPC should be built with GCC and should be made available for the wide range of CPUs they actually support.
 | 
			
		||||
                  Edit $SPACK_ROOT/etc/spack/packages.yaml to change this default."
 | 
			
		||||
    openfoam:
 | 
			
		||||
      require: "openfoam %gcc ^scotch@6.0.9"
 | 
			
		||||
    openmpi:
 | 
			
		||||
      variants: ~atomics ~cuda ~cxx ~cxx_exceptions ~internal-hwloc ~java +legacylaunchers ~lustre ~memchecker +pmi +romio ~singularity +vt +wrapper-rpath fabrics=ofi schedulers=slurm
 | 
			
		||||
      require: '@4:'
 | 
			
		||||
    # Palace does not build correctly with armpl until https://github.com/awslabs/palace/pull/207 is merged into a version.
 | 
			
		||||
    # palace:
 | 
			
		||||
    #   require:
 | 
			
		||||
    #     - one_of: ["palace cxxflags=\"-include cstdint\" ^fmt@9.1.0"]
 | 
			
		||||
    pmix:
 | 
			
		||||
      require: "pmix@3:"
 | 
			
		||||
    quantum-espresso:
 | 
			
		||||
      require: "quantum-espresso@6.6 %gcc ^armpl-gcc"
 | 
			
		||||
    slurm:
 | 
			
		||||
      buildable: false
 | 
			
		||||
      externals:
 | 
			
		||||
        - prefix: /opt/slurm
 | 
			
		||||
          spec: slurm@22.05.8 +pmix
 | 
			
		||||
    wrf:
 | 
			
		||||
      require:
 | 
			
		||||
        - one_of:
 | 
			
		||||
            - "wrf%arm"
 | 
			
		||||
            - "wrf%gcc"
 | 
			
		||||
    all:
 | 
			
		||||
      compiler: [gcc, arm, nvhpc, clang]
 | 
			
		||||
      providers:
 | 
			
		||||
        blas: [armpl-gcc, openblas]
 | 
			
		||||
        fftw-api: [armpl-gcc, fftw]
 | 
			
		||||
        lapack: [armpl-gcc, openblas]
 | 
			
		||||
        mpi: [openmpi, mpich]
 | 
			
		||||
        scalapack: [netlib-scalapack]
 | 
			
		||||
      permissions:
 | 
			
		||||
        read: world
 | 
			
		||||
        write: user
 | 
			
		||||
 
 | 
			
		||||
@@ -1,143 +0,0 @@
 | 
			
		||||
---  # x86_64_v4 packages (ice/skylake) & x86_64_v3 packages (zen2/3)
 | 
			
		||||
packages:
 | 
			
		||||
  cpio:
 | 
			
		||||
    require:
 | 
			
		||||
      - one_of:
 | 
			
		||||
          - "cflags=-std=c18 target=x86_64_v4"
 | 
			
		||||
          - "cflags=-std=c18 target=x86_64_v3"
 | 
			
		||||
        when: "%intel"
 | 
			
		||||
  gettext:
 | 
			
		||||
    # Newer gettext cannot build with gcc@12 and old AL2 glibc headers
 | 
			
		||||
    # Older gettext versions do not build correctly with oneapi.
 | 
			
		||||
    require:
 | 
			
		||||
      - one_of:
 | 
			
		||||
          - '@:0.20'
 | 
			
		||||
          - '%oneapi'
 | 
			
		||||
  gromacs:
 | 
			
		||||
    require:
 | 
			
		||||
      - one_of:
 | 
			
		||||
          - "+intel_provided_gcc ^intel-oneapi-mkl target=x86_64_v4"
 | 
			
		||||
          - "+intel_provided_gcc ^intel-oneapi-mkl target=x86_64_v3"
 | 
			
		||||
        when: "%intel"
 | 
			
		||||
      - one_of:
 | 
			
		||||
          - "+intel_provided_gcc target=x86_64_v4 ^intel-oneapi-mkl"
 | 
			
		||||
          - "+intel_provided_gcc target=x86_64_v3 ^intel-oneapi-mkl"
 | 
			
		||||
        when: "%oneapi"
 | 
			
		||||
  intel-oneapi-compilers:
 | 
			
		||||
    require: "intel-oneapi-compilers %gcc target=x86_64_v3"
 | 
			
		||||
  intel-oneapi-mpi:
 | 
			
		||||
    variants: +external-libfabric generic-names=True
 | 
			
		||||
  lammps:
 | 
			
		||||
    require:
 | 
			
		||||
      - one_of:
 | 
			
		||||
          - "lammps_sizes=bigbig +molecule +kspace +rigid +asphere +opt +openmp +openmp-package +intel fft=mkl ^intel-oneapi-mkl target=x86_64_v4"
 | 
			
		||||
          - "lammps_sizes=bigbig +molecule +kspace +rigid +asphere +opt +openmp +openmp-package fft=mkl ^intel-oneapi-mkl target=x86_64_v3"
 | 
			
		||||
        when: "%intel"
 | 
			
		||||
      - one_of:
 | 
			
		||||
          - "lammps_sizes=bigbig +molecule +kspace +rigid +asphere +opt +openmp +openmp-package +intel fft=mkl ^intel-oneapi-mkl target=x86_64_v4"
 | 
			
		||||
          - "lammps_sizes=bigbig +molecule +kspace +rigid +asphere +opt +openmp +openmp-package fft=mkl ^intel-oneapi-mkl target=x86_64_v3"
 | 
			
		||||
        when: "%oneapi"
 | 
			
		||||
  libidn2:
 | 
			
		||||
    require:
 | 
			
		||||
      - one_of:
 | 
			
		||||
          - "cflags=-std=c18 target=x86_64_v4"
 | 
			
		||||
          - "cflags=-std=c18 target=x86_64_v3"
 | 
			
		||||
        when: "%intel"
 | 
			
		||||
  libfabric:
 | 
			
		||||
    buildable: true
 | 
			
		||||
    externals:
 | 
			
		||||
      - prefix: /opt/amazon/efa/
 | 
			
		||||
        spec: libfabric@${LIBFABRIC_VERSION}
 | 
			
		||||
    require: ['fabrics=shm,efa']
 | 
			
		||||
  libunistring:
 | 
			
		||||
    require:
 | 
			
		||||
      - one_of:
 | 
			
		||||
          - "cflags=-std=c18 target=x86_64_v4"
 | 
			
		||||
          - "cflags=-std=c18 target=x86_64_v3"
 | 
			
		||||
        when: "%intel"
 | 
			
		||||
  mpas-model:
 | 
			
		||||
    require:
 | 
			
		||||
      - one_of:
 | 
			
		||||
          - "precision=single ^parallelio+pnetcdf target=x86_64_v4"
 | 
			
		||||
          - "precision=single ^parallelio+pnetcdf target=x86_64_v3"
 | 
			
		||||
        when: "%intel"
 | 
			
		||||
      - one_of:
 | 
			
		||||
          - "precision=single ^parallelio+pnetcdf target=x86_64_v4"
 | 
			
		||||
          - "precision=single ^parallelio+pnetcdf target=x86_64_v3"
 | 
			
		||||
        when: "%oneapi"
 | 
			
		||||
  mpich:
 | 
			
		||||
    require:
 | 
			
		||||
      - one_of:
 | 
			
		||||
          - "mpich pmi=pmi2 device=ch4 netmod=ofi +slurm target=x86_64_v4"
 | 
			
		||||
          - "mpich pmi=pmi2 device=ch4 netmod=ofi +slurm target=x86_64_v3"
 | 
			
		||||
  openfoam:
 | 
			
		||||
    require:
 | 
			
		||||
      - one_of:
 | 
			
		||||
          - "openfoam %gcc ^scotch@6.0.9 target=x86_64_v4"
 | 
			
		||||
          - "openfoam %gcc ^scotch@6.0.9 target=x86_64_v3"
 | 
			
		||||
  openmpi:
 | 
			
		||||
    variants: ~atomics ~cuda ~cxx ~cxx_exceptions ~internal-hwloc ~java +legacylaunchers ~lustre ~memchecker +pmi +romio ~singularity +vt +wrapper-rpath fabrics=ofi schedulers=slurm
 | 
			
		||||
    require:
 | 
			
		||||
      - one_of:
 | 
			
		||||
          - "openmpi @4: target=x86_64_v4"
 | 
			
		||||
          - "openmpi @4: target=x86_64_v3"
 | 
			
		||||
  palace:
 | 
			
		||||
    require:
 | 
			
		||||
      - one_of:
 | 
			
		||||
          - "palace ^fmt@9.1.0 target=x86_64_v4"
 | 
			
		||||
          - "palace ^fmt@9.1.0 target=x86_64_v3"
 | 
			
		||||
        when: "%oneapi"
 | 
			
		||||
      - one_of:
 | 
			
		||||
          - "palace ^fmt@9.1.0"
 | 
			
		||||
        when: "%gcc"
 | 
			
		||||
  pmix:
 | 
			
		||||
    require:
 | 
			
		||||
      - one_of:
 | 
			
		||||
          - "pmix@3: target=x86_64_v4"
 | 
			
		||||
          - "pmix@3: target=x86_64_v3"
 | 
			
		||||
  quantum-espresso:
 | 
			
		||||
    require:
 | 
			
		||||
      - one_of:
 | 
			
		||||
          - "quantum-espresso@6.6 ^intel-oneapi-mkl+cluster target=x86_64_v4"
 | 
			
		||||
          - "quantum-espresso@6.6 ^intel-oneapi-mkl+cluster target=x86_64_v3"
 | 
			
		||||
        when: "%intel"
 | 
			
		||||
      - one_of:
 | 
			
		||||
          - "quantum-espresso@6.6 ^intel-oneapi-mkl+cluster target=x86_64_v4"
 | 
			
		||||
          - "quantum-espresso@6.6 ^intel-oneapi-mkl+cluster target=x86_64_v3"
 | 
			
		||||
        when: "%oneapi"
 | 
			
		||||
  slurm:
 | 
			
		||||
    buildable: false
 | 
			
		||||
    externals:
 | 
			
		||||
      - prefix: ${SLURM_ROOT}
 | 
			
		||||
        spec: slurm@${SLURM_VERSION} +pmix
 | 
			
		||||
  wrf:
 | 
			
		||||
    require:
 | 
			
		||||
      - one_of:
 | 
			
		||||
          - "wrf@4 build_type=dm+sm target=x86_64_v4"
 | 
			
		||||
          - "wrf@4 build_type=dm+sm target=x86_64_v3"
 | 
			
		||||
          - "wrf@4.2.2 +netcdf_classic fflags=\"-fp-model fast=2 -no-heap-arrays -no-prec-div -no-prec-sqrt -fno-common\" build_type=dm+sm target=x86_64_v3"
 | 
			
		||||
        when: "%intel"
 | 
			
		||||
      - one_of:
 | 
			
		||||
          - "wrf@4 build_type=dm+sm target=x86_64_v4"
 | 
			
		||||
          - "wrf@4 build_type=dm+sm target=x86_64_v3"
 | 
			
		||||
          - "wrf@4.2.2 +netcdf_classic fflags=\"-fp-model fast=2 -no-heap-arrays -no-prec-div -no-prec-sqrt -fno-common\" build_type=dm+sm target=x86_64_v3"
 | 
			
		||||
        when: "%oneapi"
 | 
			
		||||
 | 
			
		||||
  all:
 | 
			
		||||
    compiler: [oneapi, gcc]
 | 
			
		||||
    permissions:
 | 
			
		||||
      read: world
 | 
			
		||||
      write: user
 | 
			
		||||
    providers:
 | 
			
		||||
      blas: [intel-oneapi-mkl]
 | 
			
		||||
      daal: [intel-oneapi-dal]
 | 
			
		||||
      fftw-api: [intel-oneapi-mkl]
 | 
			
		||||
      ipp: [intel-oneapi-ipp]
 | 
			
		||||
      lapack: [intel-oneapi-mkl]
 | 
			
		||||
      mkl: [intel-oneapi-mkl]
 | 
			
		||||
      mpi: [intel-oneapi-mpi, openmpi, mpich]
 | 
			
		||||
      tbb: [intel-oneapi-tbb, intel-tbb]
 | 
			
		||||
      scalapack: [intel-oneapi-mkl]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -31,10 +31,7 @@ spack:
 | 
			
		||||
          - . /etc/profile.d/modules.sh
 | 
			
		||||
          - spack --version
 | 
			
		||||
          - spack arch
 | 
			
		||||
        # Use gcc from pre-installed spack store
 | 
			
		||||
        - - cp share/spack/gitlab/cloud_pipelines/configs/config.yaml etc/spack/
 | 
			
		||||
          - /bin/bash "${SPACK_ROOT}/share/spack/gitlab/cloud_pipelines/scripts/pcluster/setup-pcluster.sh"
 | 
			
		||||
          - rm etc/spack/config.yaml
 | 
			
		||||
          - export PATH=/home/software/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeh/linux-amzn2-x86_64_v3/gcc-7.3.1/binutils-2.37-qvccg7zpskturysmr4bzbsfrx34kvazo/bin:$PATH
 | 
			
		||||
    - signing-job:
 | 
			
		||||
        before_script:
 | 
			
		||||
          # Do not distribute Intel & ARM binaries
 | 
			
		||||
@@ -43,3 +40,172 @@ spack:
 | 
			
		||||
 | 
			
		||||
  cdash:
 | 
			
		||||
    build-group: AWS Packages
 | 
			
		||||
 | 
			
		||||
  compilers:
 | 
			
		||||
  - compiler:
 | 
			
		||||
      environment: {}
 | 
			
		||||
      extra_rpaths: []
 | 
			
		||||
      flags: {}
 | 
			
		||||
      modules: []
 | 
			
		||||
      operating_system: amzn2
 | 
			
		||||
      paths:
 | 
			
		||||
        cc: /home/software/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeh/linux-amzn2-x86_64_v3/gcc-7.3.1/gcc-12.4.0-pttzchh7o54nhmycj4wgzw5mic6rk2nb/bin/gcc
 | 
			
		||||
        cxx: /home/software/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeh/linux-amzn2-x86_64_v3/gcc-7.3.1/gcc-12.4.0-pttzchh7o54nhmycj4wgzw5mic6rk2nb/bin/g++
 | 
			
		||||
        f77: /home/software/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeh/linux-amzn2-x86_64_v3/gcc-7.3.1/gcc-12.4.0-pttzchh7o54nhmycj4wgzw5mic6rk2nb/bin/gfortran
 | 
			
		||||
        fc: /home/software/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeh/linux-amzn2-x86_64_v3/gcc-7.3.1/gcc-12.4.0-pttzchh7o54nhmycj4wgzw5mic6rk2nb/bin/gfortran
 | 
			
		||||
      spec: gcc@=12.4.0
 | 
			
		||||
      target: x86_64
 | 
			
		||||
  - compiler:
 | 
			
		||||
      environment: {}
 | 
			
		||||
      extra_rpaths:
 | 
			
		||||
      - /home/software/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeh/linux-amzn2-x86_64_v3/gcc-7.3.1/gcc-12.4.0-pttzchh7o54nhmycj4wgzw5mic6rk2nb/lib64
 | 
			
		||||
      flags: {}
 | 
			
		||||
      modules: []
 | 
			
		||||
      operating_system: amzn2
 | 
			
		||||
      paths:
 | 
			
		||||
        cc: /home/software/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeh/linux-amzn2-x86_64_v3/gcc-12.4.0/intel-oneapi-compilers-2024.1.0-f5u3psfhbwscasajkn324igtupn3blop/compiler/2024.1/bin/icx
 | 
			
		||||
        cxx: /home/software/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeh/linux-amzn2-x86_64_v3/gcc-12.4.0/intel-oneapi-compilers-2024.1.0-f5u3psfhbwscasajkn324igtupn3blop/compiler/2024.1/bin/icpx
 | 
			
		||||
        f77: /home/software/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeh/linux-amzn2-x86_64_v3/gcc-12.4.0/intel-oneapi-compilers-2024.1.0-f5u3psfhbwscasajkn324igtupn3blop/compiler/2024.1/bin/ifx
 | 
			
		||||
        fc: /home/software/spack/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeh/linux-amzn2-x86_64_v3/gcc-12.4.0/intel-oneapi-compilers-2024.1.0-f5u3psfhbwscasajkn324igtupn3blop/compiler/2024.1/bin/ifx
 | 
			
		||||
      spec: oneapi@=2024.1.0
 | 
			
		||||
      target: x86_64
 | 
			
		||||
 | 
			
		||||
  packages:
 | 
			
		||||
    cpio:
 | 
			
		||||
      require:
 | 
			
		||||
        - one_of:
 | 
			
		||||
            - "cflags=-std=c18 target=x86_64_v4"
 | 
			
		||||
            - "cflags=-std=c18 target=x86_64_v3"
 | 
			
		||||
          when: "%intel"
 | 
			
		||||
    gettext:
 | 
			
		||||
      # Newer gettext cannot build with gcc@12 and old AL2 glibc headers
 | 
			
		||||
      # Older gettext versions do not build correctly with oneapi.
 | 
			
		||||
      require:
 | 
			
		||||
        - one_of:
 | 
			
		||||
            - '@:0.20'
 | 
			
		||||
            - '%oneapi'
 | 
			
		||||
    gromacs:
 | 
			
		||||
      require:
 | 
			
		||||
        - one_of:
 | 
			
		||||
            - "+intel_provided_gcc ^intel-oneapi-mkl target=x86_64_v4"
 | 
			
		||||
            - "+intel_provided_gcc ^intel-oneapi-mkl target=x86_64_v3"
 | 
			
		||||
          when: "%intel"
 | 
			
		||||
        - one_of:
 | 
			
		||||
            - "+intel_provided_gcc target=x86_64_v4 ^intel-oneapi-mkl"
 | 
			
		||||
            - "+intel_provided_gcc target=x86_64_v3 ^intel-oneapi-mkl"
 | 
			
		||||
          when: "%oneapi"
 | 
			
		||||
    intel-oneapi-compilers:
 | 
			
		||||
      require: "intel-oneapi-compilers %gcc target=x86_64_v3"
 | 
			
		||||
    intel-oneapi-mpi:
 | 
			
		||||
      variants: +external-libfabric generic-names=True
 | 
			
		||||
    lammps:
 | 
			
		||||
      require:
 | 
			
		||||
        - one_of:
 | 
			
		||||
            - "lammps_sizes=bigbig +molecule +kspace +rigid +asphere +opt +openmp +openmp-package +intel fft=mkl ^intel-oneapi-mkl target=x86_64_v4"
 | 
			
		||||
            - "lammps_sizes=bigbig +molecule +kspace +rigid +asphere +opt +openmp +openmp-package fft=mkl ^intel-oneapi-mkl target=x86_64_v3"
 | 
			
		||||
          when: "%intel"
 | 
			
		||||
        - one_of:
 | 
			
		||||
            - "lammps_sizes=bigbig +molecule +kspace +rigid +asphere +opt +openmp +openmp-package +intel fft=mkl ^intel-oneapi-mkl target=x86_64_v4"
 | 
			
		||||
            - "lammps_sizes=bigbig +molecule +kspace +rigid +asphere +opt +openmp +openmp-package fft=mkl ^intel-oneapi-mkl target=x86_64_v3"
 | 
			
		||||
          when: "%oneapi"
 | 
			
		||||
    libidn2:
 | 
			
		||||
      require:
 | 
			
		||||
        - one_of:
 | 
			
		||||
            - "cflags=-std=c18 target=x86_64_v4"
 | 
			
		||||
            - "cflags=-std=c18 target=x86_64_v3"
 | 
			
		||||
          when: "%intel"
 | 
			
		||||
    libfabric:
 | 
			
		||||
      buildable: true
 | 
			
		||||
      externals:
 | 
			
		||||
        - prefix: /opt/amazon/efa/
 | 
			
		||||
          spec: libfabric@1.17.0
 | 
			
		||||
      require: ['fabrics=shm,efa']
 | 
			
		||||
    libunistring:
 | 
			
		||||
      require:
 | 
			
		||||
        - one_of:
 | 
			
		||||
            - "cflags=-std=c18 target=x86_64_v4"
 | 
			
		||||
            - "cflags=-std=c18 target=x86_64_v3"
 | 
			
		||||
          when: "%intel"
 | 
			
		||||
    mpas-model:
 | 
			
		||||
      require:
 | 
			
		||||
        - one_of:
 | 
			
		||||
            - "precision=single ^parallelio+pnetcdf target=x86_64_v4"
 | 
			
		||||
            - "precision=single ^parallelio+pnetcdf target=x86_64_v3"
 | 
			
		||||
          when: "%intel"
 | 
			
		||||
        - one_of:
 | 
			
		||||
            - "precision=single ^parallelio+pnetcdf target=x86_64_v4"
 | 
			
		||||
            - "precision=single ^parallelio+pnetcdf target=x86_64_v3"
 | 
			
		||||
          when: "%oneapi"
 | 
			
		||||
    mpich:
 | 
			
		||||
      require:
 | 
			
		||||
        - one_of:
 | 
			
		||||
            - "mpich pmi=pmi2 device=ch4 netmod=ofi +slurm target=x86_64_v4"
 | 
			
		||||
            - "mpich pmi=pmi2 device=ch4 netmod=ofi +slurm target=x86_64_v3"
 | 
			
		||||
    openfoam:
 | 
			
		||||
      require:
 | 
			
		||||
        - one_of:
 | 
			
		||||
            - "openfoam %gcc ^scotch@6.0.9 target=x86_64_v4"
 | 
			
		||||
            - "openfoam %gcc ^scotch@6.0.9 target=x86_64_v3"
 | 
			
		||||
    openmpi:
 | 
			
		||||
      variants: ~atomics ~cuda ~cxx ~cxx_exceptions ~internal-hwloc ~java +legacylaunchers ~lustre ~memchecker +pmi +romio ~singularity +vt +wrapper-rpath fabrics=ofi schedulers=slurm
 | 
			
		||||
      require:
 | 
			
		||||
        - one_of:
 | 
			
		||||
            - "openmpi @4: target=x86_64_v4"
 | 
			
		||||
            - "openmpi @4: target=x86_64_v3"
 | 
			
		||||
    palace:
 | 
			
		||||
      require:
 | 
			
		||||
        - one_of:
 | 
			
		||||
            - "palace ^fmt@9.1.0 target=x86_64_v4"
 | 
			
		||||
            - "palace ^fmt@9.1.0 target=x86_64_v3"
 | 
			
		||||
          when: "%oneapi"
 | 
			
		||||
        - one_of:
 | 
			
		||||
            - "palace ^fmt@9.1.0"
 | 
			
		||||
          when: "%gcc"
 | 
			
		||||
    pmix:
 | 
			
		||||
      require:
 | 
			
		||||
        - one_of:
 | 
			
		||||
            - "pmix@3: target=x86_64_v4"
 | 
			
		||||
            - "pmix@3: target=x86_64_v3"
 | 
			
		||||
    quantum-espresso:
 | 
			
		||||
      require:
 | 
			
		||||
        - one_of:
 | 
			
		||||
            - "quantum-espresso@6.6 ^intel-oneapi-mkl+cluster target=x86_64_v4"
 | 
			
		||||
            - "quantum-espresso@6.6 ^intel-oneapi-mkl+cluster target=x86_64_v3"
 | 
			
		||||
          when: "%intel"
 | 
			
		||||
        - one_of:
 | 
			
		||||
            - "quantum-espresso@6.6 ^intel-oneapi-mkl+cluster target=x86_64_v4"
 | 
			
		||||
            - "quantum-espresso@6.6 ^intel-oneapi-mkl+cluster target=x86_64_v3"
 | 
			
		||||
          when: "%oneapi"
 | 
			
		||||
    slurm:
 | 
			
		||||
      buildable: false
 | 
			
		||||
      externals:
 | 
			
		||||
        - prefix: /opt/slurm
 | 
			
		||||
          spec: slurm@22.05.8 +pmix
 | 
			
		||||
    wrf:
 | 
			
		||||
      require:
 | 
			
		||||
        - one_of:
 | 
			
		||||
            - "wrf@4 build_type=dm+sm target=x86_64_v4"
 | 
			
		||||
            - "wrf@4 build_type=dm+sm target=x86_64_v3"
 | 
			
		||||
            - "wrf@4.2.2 +netcdf_classic fflags=\"-fp-model fast=2 -no-heap-arrays -no-prec-div -no-prec-sqrt -fno-common\" build_type=dm+sm target=x86_64_v3"
 | 
			
		||||
          when: "%intel"
 | 
			
		||||
        - one_of:
 | 
			
		||||
            - "wrf@4 build_type=dm+sm target=x86_64_v4"
 | 
			
		||||
            - "wrf@4 build_type=dm+sm target=x86_64_v3"
 | 
			
		||||
            - "wrf@4.2.2 +netcdf_classic fflags=\"-fp-model fast=2 -no-heap-arrays -no-prec-div -no-prec-sqrt -fno-common\" build_type=dm+sm target=x86_64_v3"
 | 
			
		||||
          when: "%oneapi"
 | 
			
		||||
 | 
			
		||||
    all:
 | 
			
		||||
      compiler: [oneapi, gcc]
 | 
			
		||||
      permissions:
 | 
			
		||||
        read: world
 | 
			
		||||
        write: user
 | 
			
		||||
      providers:
 | 
			
		||||
        blas: [intel-oneapi-mkl]
 | 
			
		||||
        daal: [intel-oneapi-dal]
 | 
			
		||||
        fftw-api: [intel-oneapi-mkl]
 | 
			
		||||
        ipp: [intel-oneapi-ipp]
 | 
			
		||||
        lapack: [intel-oneapi-mkl]
 | 
			
		||||
        mkl: [intel-oneapi-mkl]
 | 
			
		||||
        mpi: [intel-oneapi-mpi, openmpi, mpich]
 | 
			
		||||
        tbb: [intel-oneapi-tbb, intel-tbb]
 | 
			
		||||
        scalapack: [intel-oneapi-mkl]
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user