diff --git a/config.yaml b/config.yaml index 3aae07f2..b7c31519 100644 --- a/config.yaml +++ b/config.yaml @@ -15,6 +15,22 @@ clusters: SLURM_NODES: '1' SLURM_CPU_BIND: 'none' runner: f7t + linard: + targets: + - + uarch: 'a100' + partition: 'normal' + variables: + F7T_URL: 'https://api.cscs.ch/mch/firecrest/v2' + - + uarch: 'zen3' + partition: 'postproc' + variables: + F7T_URL: 'https://api.cscs.ch/mch/firecrest/v2' + SLURM_EXCLUSIVE: '' + SLURM_NODES: '1' + SLURM_CPU_BIND: 'none' + runner: f7t santis: targets: - @@ -48,8 +64,10 @@ uenvs: "26.7": recipes: gh200: '26.7/gh200' + a100: '26.7/a100' deploy: santis: [gh200] + linard: [a100] "25.2": recipes: gh200: '25.2/gh200' diff --git a/recipes/icon/26.7/a100/compilers.yaml b/recipes/icon/26.7/a100/compilers.yaml new file mode 100644 index 00000000..33a3bde9 --- /dev/null +++ b/recipes/icon/26.7/a100/compilers.yaml @@ -0,0 +1,4 @@ +gcc: + version: "14" +nvhpc: + version: "26.1" diff --git a/recipes/icon/26.7/a100/config.yaml b/recipes/icon/26.7/a100/config.yaml new file mode 100644 index 00000000..4fbe82e6 --- /dev/null +++ b/recipes/icon/26.7/a100/config.yaml @@ -0,0 +1,16 @@ +name: icon +store: /user-environment +spack: + repo: https://github.com/spack/spack.git + commit: releases/v1.1 + #commit: releases/v1.2 + packages: + c2sm: + repo: https://github.com/C2SM/spack-c2sm.git + commit: v1.1.1.0 + builtin: + repo: https://github.com/spack/spack-packages.git + commit: releases/v2026.06 +description: "Compilers and libraries required to build ICON" +default-view: icon +version: 2 diff --git a/recipes/icon/26.7/a100/environments.yaml b/recipes/icon/26.7/a100/environments.yaml new file mode 100644 index 00000000..1d429ea5 --- /dev/null +++ b/recipes/icon/26.7/a100/environments.yaml @@ -0,0 +1,41 @@ +icon: + compiler: [gcc, nvhpc] + network: + #mpi: cray-mpich@9.1.0 +cuda %c,cxx,fortran=nvhpc ^libfabric@2 +gdrcopy %c=gcc + mpi: cray-mpich@9.1.0 +cuda %c,cxx=gcc %fortran=nvhpc ^libfabric@2 +gdrcopy %c=gcc + specs: [xpmem] + unify: when_possible + specs: + - python@3.13 %c,cxx=gcc ^libffi %c,cxx=gcc ^expat %c=gcc ^libmd %c=gcc ^gettext %c,cxx=gcc + - python-venv + - cuda@13.1 + - eccodes@2.36.4 +fortran jp2k=jasper %c,cxx,fortran=nvhpc + - eccodes-cosmo-resources@2.36.0.3 ^eccodes %c,cxx,fortran=nvhpc + - hdf5@1.14.6 +fortran+hl+szip+threadsafe %c,fortran=nvhpc + - netcdf-c@4.9.3 %c,cxx=nvhpc + - netcdf-fortran@4.6.2 %c,fortran=nvhpc + - boost + - openblas %c,cxx,fortran=nvhpc + - serialbox +fortran +netcdf %c,cxx,fortran=nvhpc + # remove: not part of MCH production ICON stack + #- cdo + #- nccl@2.29.2 + #- nccl-tests + #- aws-ofi-nccl@1.17.2 + # extras + - libfyaml + - zlib-ng + - cmake + - findutils + variants: + - +mpi + - +cuda + - cuda_arch=80 + views: + icon: + link: roots + uenv: + prefix_paths: + LD_LIBRARY_PATH: [lib, lib64] + exclude: + - python-venv diff --git a/recipes/icon/26.7/a100/extra/reframe.yaml b/recipes/icon/26.7/a100/extra/reframe.yaml new file mode 100644 index 00000000..89ed23f7 --- /dev/null +++ b/recipes/icon/26.7/a100/extra/reframe.yaml @@ -0,0 +1,15 @@ +default: + features: + - cuda + - mpi + - cray-mpich + - nccl + - nccl-tests + - openmp + - osu-micro-benchmarks + - serial + cc: mpicc + cxx: mpic++ + ftn: mpifort + views: + - default diff --git a/recipes/icon/26.7/a100/modules.yaml b/recipes/icon/26.7/a100/modules.yaml new file mode 100644 index 00000000..60661f9e --- /dev/null +++ b/recipes/icon/26.7/a100/modules.yaml @@ -0,0 +1,23 @@ +modules: + # Paths to check when creating modules for all module sets + prefix_inspections: + bin: + - PATH + lib: + - LD_LIBRARY_PATH + lib64: + - LD_LIBRARY_PATH + + default: + arch_folder: false + tcl: + all: + autoload: run + hash_length: 0 + hide_implicits: true + exclude: + - '%gcc@7.5.0' + - '%gcc@12' + - 'gcc %gcc@7.5.0' + projections: + all: '{name}/{version}'