4242 #SBATCH --gpus-per-task=1
4343 #SBATCH --mem=0
4444 #SBATCH --qos=dg
45- modules :
46- - cmake
47- - fcm
48- - ninja
49- - ecbuild
50- - prgenv/nvidia
51- - nvidia/22.11
52- - hpcx-openmpi/2.14.0-cuda
53- - python3/3.11.10-01
54- gpu : 1
45+ arch : ecmwf/hpc2020/nvhpc/24.5/hpcx-openmpi/2.19.0-cuda
46+ modules : ~
47+ build_options : --with-fckit --with-loki --with-acc --with-cuda --with-gpu-aware-mpi --with-static-linking
5548
5649 - name : ac-cpu intel sp
5750 site : ac-batch
6356 #SBATCH --hint=nomultithread
6457 #SBATCH --mem=60GB
6558 #SBATCH --qos=np
66- modules :
67- - cmake
68- - fcm
69- - ninja
70- - ecbuild
71- - prgenv/intel
72- - intel/2021.4.0
73- - hpcx-openmpi/2.9.0
74- - python3
75- gpu : 0
59+ arch : ecmwf/hpc2020/intel/2021.4.0/hpcx-openmpi/2.9.0
60+ modules : ~
61+ build_options : --with-fckit
7662
7763 runs-on : [self-hosted, linux, hpc]
7864 env :
@@ -83,94 +69,41 @@ jobs:
8369 site : ${{ matrix.site }}
8470 troika_user : ${{ secrets.HPC_CI_SSH_USER }}
8571 sbatch_options : ${{ matrix.sbatch_options }}
86- template_data : |
87- cmake_options:
88- - -DENABLE_MPI=ON
89- - -DENABLE_LOKI=${{ matrix.gpu }}
90- - -DENABLE_ACC=${{ matrix.gpu }}
91- - -DENABLE_CUDA=${{ matrix.gpu }}
92- - -DENABLE_GPU_AWARE_MPI=${{ matrix.gpu }}
93- - -DENABLE_SINGLE_PRECISION=ON
94- - -DENABLE_DOUBLE_PRECISION=OFF
95- - -DBUILD_SHARED_LIBS=${{ !matrix.gpu }}
96- dependencies:
97- ecmwf/eccodes:
98- version: 2.44.0
99- cmake_options:
100- - -DENABLE_MEMFS=ON
101- - -DENABLE_JPG=OFF
102- - -DENABLE_PNG=OFF
103- - -DBUILD_SHARED_LIBS=${{ !matrix.gpu }}
104- ecmwf/fckit:
105- version: 0.13.0
106- cmake_options:
107- - -DENABLE_TESTS=OFF
108- - -DENABLE_FCKIT_VENV=ON
109- - -DBUILD_SHARED_LIBS=${{ !matrix.gpu }}
110- ecmwf-ifs/fiat:
111- cmake_options:
112- - -DENABLE_MPI=ON
113- - -DENABLE_SINGLE_PRECISION=ON
114- - -DENABLE_DOUBLE_PRECISION=OFF
115- - -DBUILD_SHARED_LIBS=${{ !matrix.gpu }}
116- - -DENABLE_DR_HOOK_NVTX=OFF
117- ecmwf-ifs/field_api:
118- version: v0.3.4
119- cmake_options:
120- - -DENABLE_TESTS=OFF
121- - -DENABLE_ACC=${{ matrix.gpu }}
122- - -DENABLE_CUDA=${{ matrix.gpu }}
123- - -DENABLE_SINGLE_PRECISION=ON
124- - -DENABLE_DOUBLE_PRECISION=OFF
125- - -DBUILD_SHARED_LIBS=${{ !matrix.gpu }}
126- ecmwf-ifs/loki:
127- version: 0.3.2
128- cmake_options:
129- - -DENABLE_NO_INSTALL=${{ !matrix.gpu }}
130- - -DENABLE_TESTS=OFF
13172 template : |
73+ REPO=${{ github.event.pull_request.head.repo.full_name || github.repository }}
74+ SHA=${{ github.event.pull_request.head.sha || github.sha }}
75+ { set +x; } 2>/dev/null # trace off
76+
77+ echo "::group::Load modules"
13278 {% for module in "${{ join(matrix.modules, ',') }}".split(',') %}
13379 module load {{module}}
13480 {% endfor %}
81+ echo "::endgroup::"
13582
136- BASEDIR=$PWD
137-
138- {% for name, options in dependencies.items() %}
139- mkdir -p {{name}}
140- pushd {{name}}
141-
142- git init
143- git remote add origin ${{ github.server_url }}/{{name}}
144- git fetch origin {{options['version']}}
145- git reset --hard FETCH_HEAD
146-
147- cmake -G Ninja -S . -B build \
148- {% for name in dependencies %}
149- {% set org, proj = name.split('/') %}
150- -D{{proj}}_ROOT=$BASEDIR/{{name}}/installation \
151- {% endfor %}
152- {{ options['cmake_options']|join(' ') }}
153- cmake --build build
154- cmake --install build --prefix installation
155- popd
156- {% endfor %}
157-
158- REPO=${{ github.event.pull_request.head.repo.full_name || github.repository }}
159- SHA=${{ github.event.pull_request.head.sha || github.sha }}
83+ echo "::group::Checkout $(basename $REPO)"
84+ { set -x; } 2>/dev/null # trace on
16085 mkdir -p $REPO
16186 pushd $REPO
16287 git init
16388 git remote add origin ${{ github.server_url }}/$REPO
16489 git fetch origin $SHA
16590 git reset --hard FETCH_HEAD
166- popd
167-
168- cmake -G Ninja -S $REPO -B build \
169- {% for name in dependencies %}
170- {% set org, proj = name.split('/') %}
171- -D{{proj}}_ROOT=$BASEDIR/{{name}}/installation \
172- {% endfor %}
173- {{ cmake_options|join(' ') }}
174-
175- cmake --build build
176- ctest --test-dir build
91+ { set +x; } 2>/dev/null # trace off
92+ echo "::endgroup::"
93+
94+ echo "::group::ecwam-bundle create"
95+ { set -x; } 2>/dev/null # trace on
96+ ./package/bundle/ecwam-bundle create --bundle package/bundle/bundle.yml
97+ { set +x; } 2>/dev/null # trace off
98+ echo "::endgroup::"
99+
100+ echo "::group::ecwam-bundle build"
101+ { set -x; } 2>/dev/null # trace on
102+ ./package/bundle/ecwam-bundle build --arch package/bundle/arch/${{matrix.arch}} --ninja --keep-going --retry-verbose ${{matrix.build_options}}
103+ { set +x; } 2>/dev/null # trace off
104+ echo "::endgroup::"
105+
106+ echo "::group::ecwam test"
107+ source build/env.sh
108+ ctest --test-dir build/ecwam
109+ echo "::endgroup::"
0 commit comments