diff --git a/config.yaml b/config.yaml index 45ccf2d3..a1627dfd 100644 --- a/config.yaml +++ b/config.yaml @@ -39,6 +39,11 @@ uenvs: zen3: '5.18' a100: '5.18' icon: + "26.2": + recipes: + gh200: '26.2/gh200' + deploy: + santis: [gh200] "25.2": recipes: gh200: '25.2/gh200' diff --git a/recipes/icon/26.2/gh200/compilers.yaml b/recipes/icon/26.2/gh200/compilers.yaml new file mode 100644 index 00000000..5a9e8511 --- /dev/null +++ b/recipes/icon/26.2/gh200/compilers.yaml @@ -0,0 +1,4 @@ +gcc: + version: "14" +nvhpc: + version: "26.3" diff --git a/recipes/icon/26.2/gh200/config.yaml b/recipes/icon/26.2/gh200/config.yaml new file mode 100644 index 00000000..beaf9372 --- /dev/null +++ b/recipes/icon/26.2/gh200/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: develop +modules: true +description: "Compilers and libraries required to build ICON" +version: 2 diff --git a/recipes/icon/26.2/gh200/environments.yaml b/recipes/icon/26.2/gh200/environments.yaml new file mode 100644 index 00000000..d64b8ee8 --- /dev/null +++ b/recipes/icon/26.2/gh200/environments.yaml @@ -0,0 +1,37 @@ +icon: + compiler: [gcc, nvhpc] + network: + mpi: cray-mpich@9.1.0 +cuda %c,cxx,fortran=nvhpc ^libfabric@2 +gdrcopy %c=nvhpc + specs: [ xpmem ] + unify: when_possible + specs: + - python@3.12 %c,cxx=gcc ^libffi %c,cxx=gcc ^expat %c=gcc ^libmd %c=gcc ^libxcrypt %c=gcc ^gettext %c,cxx=gcc + - cuda@13.1 + - 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,cxx=nvhpc + - netcdf-fortran@4.6.2 ~doc+pic+shared %c,fortran=nvhpc + - boost ~mpi + - openblas %c,cxx,fortran=nvhpc + # for validation + - cdo + # everything needed for nccl on SS11 + - nccl@2.29.2 + - nccl-tests + - aws-ofi-nccl@1.17.2 + # extras + - libfyaml + - zlib-ng + - cmake + - findutils + variants: + - +mpi + - +cuda + - cuda_arch=90 + views: + default: + link: roots + uenv: + prefix_paths: + LD_LIBRARY_PATH: [lib, lib64] diff --git a/recipes/icon/26.2/gh200/extra/reframe.yaml b/recipes/icon/26.2/gh200/extra/reframe.yaml new file mode 100644 index 00000000..89ed23f7 --- /dev/null +++ b/recipes/icon/26.2/gh200/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.2/gh200/modules.yaml b/recipes/icon/26.2/gh200/modules.yaml new file mode 100644 index 00000000..a4010ae2 --- /dev/null +++ b/recipes/icon/26.2/gh200/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}'