Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

icon/25.2 #2

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# vim temp files
.*.sw[pnoq]

# the pipeline repository, cloned by ci/ci.yaml
uenv-pipeline

# generated by test.sh
tmp.sh

# python gubbins
__pycache__

29 changes: 29 additions & 0 deletions ci/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
stages:
- configure
- run

pipeline-configure:
stage: configure
tags: [rosa-k8s-lightweight]
image: docker.io/python:latest
script:
- git clone https://github.com/eth-cscs/uenv-pipeline.git
- ./uenv-pipeline/configure-pipeline -c./config.yaml -r./recipes -s$system -u$uenv -a$uarch -o./pipeline.yml
artifacts:
paths:
- pipeline.yml
- uenv-pipeline

generated-pipeline:
stage: run
needs: [pipeline-configure]
variables:
CSCS_NOTIFICATION_CONTEXT: "$system-$uarch-$uenv"
PARENT_PIPELINE_ID: "$CI_PIPELINE_ID"
trigger:
include:
- artifact: pipeline.yml
job: pipeline-configure
forward:
pipeline_variables: true
strategy: depend
52 changes: 52 additions & 0 deletions config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
clusters:
balfrin:
targets:
-
uarch: 'a100'
partition: 'normal'
variables:
F7T_URL: 'https://api.cscs.ch/mch/firecrest/v1'
-
uarch: 'zen3'
partition: 'postproc'
variables:
F7T_URL: 'https://api.cscs.ch/mch/firecrest/v1'
runner: f7t
santis:
targets:
-
uarch: 'gh200'
partition: 'normal'
variables:
F7T_URL: "https://api.cscs.ch/cw/firecrest/v1"
runner: f7t
uenvs:
climana:
"24.10":
recipes:
zen2: '24.10'
zen3: '24.10'
a100: '24.10'
deploy:
balfrin: [zen3, a100]
develop: False
icon:
"25.2":
recipes:
gh200: '25.2/gh200'
deploy:
santis: [gh200]
develop: False
mch:
"v7":
recipes:
a100: 'v7'
deploy:
balfrin: [a100]
develop: False
"v8":
recipes:
a100: 'v8'
deploy:
balfrin: [a100]
develop: False
5 changes: 5 additions & 0 deletions recipes/climana/24.10/compilers.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
bootstrap:
spec: [email protected]
gcc:
specs:
- [email protected]
6 changes: 6 additions & 0 deletions recipes/climana/24.10/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
name: mch
store: /user-environment
spack:
commit: releases/v0.22
repo: https://github.com/spack/spack.git
description: MCH climate analysys toolkit
56 changes: 56 additions & 0 deletions recipes/climana/24.10/environments.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
climana:
compiler:
- toolchain: gcc
spec: gcc@12
unify: when_possible
mpi:
spec: [email protected]
packages:
- perl
- autoconf
- m4
- automake
- texinfo
- libtool
- gawk
- curl
specs:
# choose fftw instead of the default intel-oneapi-mkl.
# this saves ~2GB of space, and reduces image build time.
- cdo ^[virtuals=fftw-api] fftw
- gdal
- geos
- gsl
- [email protected] +fortran +threadsafe ~mpi
- imagemagick
- ncview
- nco
- ncl
- [email protected]~mpi ^hdf5~mpi api=v18
- proj
- [email protected]
- sqlite
- udunits
# R and its packages
# +X is required for png, tiff, jpeg, etc support
- [email protected] +X
# install here so that the openssl built by Spack is used.
- r-curl
# R needs to find all of the following use pkg-config
# so we add them to the view, where they will be picked up.
- freetype
- fribidi
- glib
- harfbuzz
- libjpeg-turbo
- libpng
- libtiff
- zstd
# required as a runtime dependency of the ssl R package
- openssl
views:
climana:
link: roots
uenv:
prefix_paths:
LD_LIBRARY_PATH: [lib, lib64]
36 changes: 36 additions & 0 deletions recipes/climana/24.10/modules.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
modules:
# Paths to check when creating modules for all module sets
prefix_inspections:
bin:
- PATH
lib:
- LD_LIBRARY_PATH
lib64:
- LD_LIBRARY_PATH
lib/pkgconfig:
- PKG_CONFIG_PATH
lib64/pkgconfig:
- PKG_CONFIG_PATH

default:
arch_folder: false
# Where to install modules
roots:
tcl: /user-environment/modules
tcl:
all:
autoload: none
netcdf-c:
environment:
set:
NETCDF_C_ROOT: '{prefix}'
hash_length: 0
exclude_implicits: true
include:
- hdf5
- zlib+shared
exclude:
- '%[email protected]'
- 'gcc %[email protected]'
projections:
all: '{name}/{version}'
39 changes: 39 additions & 0 deletions recipes/climana/24.10/post-install
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#!/bin/bash

# don't generate an error message if a glob does not match any files
shopt -s nullglob

# where all of the applications built by spack are installed
# this has to change if
# - the compiler version used to build software changes
# - we build for a different micro-architecture
# - we upgrade to SLES 16
install_base=/user-environment/linux-sles15-zen3/gcc-12.3.0
view_base=/user-environment/env/climana

# iterate over all of the locations where pkgconfig files are likely to be installed
for pkbase in "lib/pkgconfig" "lib64/pkgconfig" "share/pkgconfig" "rlib/pkgconfig"
do
# find all directories that match the pattern
pkgpaths=$(find $install_base -type d -path '*/'$pkbase)

# iterate over each directory, searching for pkg-config .pc files
for pkpath in $pkgpaths
do
pcfiles=($pkpath/*.pc)
for pcpath in ${pcfiles[@]}
do
pcfile=$(basename $pcpath)
from=$pkpath/$pcfile
to_root=$view_base/$pkbase
to=$to_root/$pcfile
mkdir -p $to_root
if [ ! -e $to ]; then
echo '+ ' $pkbase/$pcfile
ln -s "$from" "$to"
else
echo 'skip ' $pkbase/$pcfile
fi
done
done
done
67 changes: 67 additions & 0 deletions recipes/climana/24.10/repo/packages/r/change_optflags_tmp.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
diff -ur R-3.6.3.org/configure R-3.6.3/configure
--- R-3.6.3.org/configure 2020-03-09 11:09:16.060825352 +0900
+++ R-3.6.3/configure 2020-03-09 11:10:47.011280195 +0900
@@ -6470,13 +6470,13 @@
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
if test "$GCC" = yes; then
- CFLAGS="-g -O2"
+ CFLAGS="-g -O1"
else
CFLAGS="-g"
fi
else
if test "$GCC" = yes; then
- CFLAGS="-O2"
+ CFLAGS="-O1"
else
CFLAGS=
fi
@@ -7445,13 +7445,13 @@
FCFLAGS=$ac_save_FCFLAGS
elif test $ac_cv_prog_fc_g = yes; then
if test "x$ac_cv_fc_compiler_gnu" = xyes; then
- FCFLAGS="-g -O2"
+ FCFLAGS="-g -O1"
else
FCFLAGS="-g"
fi
else
if test "x$ac_cv_fc_compiler_gnu" = xyes; then
- FCFLAGS="-O2"
+ FCFLAGS="-O1"
else
FCFLAGS=
fi
@@ -7717,13 +7717,13 @@
CXXFLAGS=$ac_save_CXXFLAGS
elif test $ac_cv_prog_cxx_g = yes; then
if test "$GXX" = yes; then
- CXXFLAGS="-g -O2"
+ CXXFLAGS="-g -O1"
else
CXXFLAGS="-g"
fi
else
if test "$GXX" = yes; then
- CXXFLAGS="-O2"
+ CXXFLAGS="-O1"
else
CXXFLAGS=
fi
@@ -8336,13 +8336,13 @@
OBJCFLAGS=$ac_save_OBJCFLAGS
elif test $ac_cv_prog_objc_g = yes; then
if test "$GOBJC" = yes; then
- OBJCFLAGS="-g -O2"
+ OBJCFLAGS="-g -O1"
else
OBJCFLAGS="-g"
fi
else
if test "$GOBJC" = yes; then
- OBJCFLAGS="-O2"
+ OBJCFLAGS="-O1"
else
OBJCFLAGS=
fi
Loading