diff --git a/recipes/icon/26.2/a100/compilers.yaml b/recipes/icon/26.2/a100/compilers.yaml new file mode 100644 index 0000000..db45c97 --- /dev/null +++ b/recipes/icon/26.2/a100/compilers.yaml @@ -0,0 +1,4 @@ +gcc: + version: "12.3.0" +nvhpc: + version: "25.1" diff --git a/recipes/icon/26.2/a100/config.yaml b/recipes/icon/26.2/a100/config.yaml new file mode 100644 index 0000000..b6b7fb8 --- /dev/null +++ b/recipes/icon/26.2/a100/config.yaml @@ -0,0 +1,11 @@ +name: icon +store: /user-environment +spack: + repo: https://github.com/spack/spack.git + commit: releases/v1.1 + packages: + repo: https://github.com/spack/spack-packages.git + commit: 5e506ab69aed5199b6d01083016fa592f4fb4296 +modules: true +description: "Compilers and libraries required to build ICON" +version: 2 diff --git a/recipes/icon/26.2/a100/environments.yaml b/recipes/icon/26.2/a100/environments.yaml new file mode 100644 index 0000000..9d3afc4 --- /dev/null +++ b/recipes/icon/26.2/a100/environments.yaml @@ -0,0 +1,35 @@ +icon: + compiler: [gcc, nvhpc] + network: + mpi: cray-mpich@8.1.30 +cuda + unify: true + specs: + # - boost ~mpi + - python@3.10 + - cuda@12.6 + - eccodes@2.36.4 +aec+fortran~ipo~memfs~netcdf~openmp~png~pthreads+shared~tools jp2k=openjpeg %c,cxx,fortran=nvhpc + - eccodes-cosmo-resources@2.36.0.3 + - hdf5@1.14.6 ~cxx+fortran+hl~ipo~java~map+mpi+shared~subfiling+szip~threadsafe+tools api=default %c,fortran=nvhpc + - netcdf-c@4.9.3 +blosc~byterange~dap~fsync~hdf4~jna~logging+mpi~nczarr_zip+optimize~parallel-netcdf+pic+shared+szip+zstd %c=nvhpc + - netcdf-fortran@4.6.2 ~doc+pic+shared %c,fortran=nvhpc + - openblas %c,cxx,fortran=nvhpc + - findutils + # # for validation + # - cdo + # # everything needed for nccl on SS11 + # - nccl + # - nccl-tests + # # extras + # - libfyaml + # - zlib-ng + # - cmake + variants: + - +mpi + - +cuda + - cuda_arch=80 + views: + default: + link: roots + uenv: + prefix_paths: + LD_LIBRARY_PATH: [lib, lib64] diff --git a/recipes/icon/26.2/a100/extra/reframe.yaml b/recipes/icon/26.2/a100/extra/reframe.yaml new file mode 100644 index 0000000..363f809 --- /dev/null +++ b/recipes/icon/26.2/a100/extra/reframe.yaml @@ -0,0 +1,6 @@ +default: + features: [osu-micro-benchmarks, mpi, serial, openmp] + cc: mpicc + cxx: mpic++ + ftn: mpifort + activation: /user-environment/env/default/activate.sh diff --git a/recipes/icon/26.2/a100/modules.yaml b/recipes/icon/26.2/a100/modules.yaml new file mode 100644 index 0000000..a4010ae --- /dev/null +++ b/recipes/icon/26.2/a100/modules.yaml @@ -0,0 +1,26 @@ +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 + # Where to install modules + roots: + tcl: /snap/modules + 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}' diff --git a/recipes/icon/26.2/a100/pre-install b/recipes/icon/26.2/a100/pre-install new file mode 100644 index 0000000..4236d5f --- /dev/null +++ b/recipes/icon/26.2/a100/pre-install @@ -0,0 +1,12 @@ +#!/bin/bash + +# packages=("cosmo-eccodes-definitions") +# SPACK_C2SM_TAG="v1.1_dev" + +# git clone -b ${SPACK_C2SM_TAG} https://github.com/C2SM/spack-c2sm.git + +# for package in "${packages[@]}"; do +# cp -r spack-c2sm/repos/c2sm/packages/"${package}" store/repo/packages +# done + +# rm -rf spack-c2sm