Skip to content

Commit 6a1b00e

Browse files
CI job script refactoring (#582)
1 parent 990c73e commit 6a1b00e

35 files changed

Lines changed: 399 additions & 540 deletions

ci/cuda12/run_debug_sm90.yml

Lines changed: 13 additions & 205 deletions
Original file line numberDiff line numberDiff line change
@@ -1,238 +1,46 @@
11
include:
2-
- local: 'ci/common.yml'
3-
4-
variables:
5-
TEST_INSTALL_DIR: 'sphexa+spack/store/linux-neoverse_v2/sphexa-*/sbin'
6-
APP_INSTALL_DIR: 'sphexa+spack/store/linux-neoverse_v2/sphexa-*/bin'
2+
- local: 'ci/cuda12/run_template_sm90.yml'
73

84
sph-run-cuda12-sm90-debug-1rank:
9-
stage: sphexa_run
5+
extends: [.sph-run-cuda12-sm90-1rank]
106
needs: ['sph-build-cuda12-sm90-debug']
11-
image: prgenv-gnu/25.11:v1
12-
extends: [.uenv-runner-daint-gh200]
13-
variables:
14-
SLURM_TIMELIMIT: '01:00:00'
15-
WITH_UENV_VIEW: 'default'
16-
# SLURM_PARTITION: 'debug'
17-
SLURM_JOB_NUM_NODES: 1
18-
SLURM_NTASKS: 1
19-
before_script:
20-
- pwd
21-
- date
22-
- $APP_INSTALL_DIR/sphexa --help
23-
script:
24-
- $TEST_INSTALL_DIR/coord_samples/coordinate_test
25-
- $TEST_INSTALL_DIR/hydro/turbulence_tests
26-
- ln -fs $TEST_INSTALL_DIR/hydro/example_data.txt .
27-
- $TEST_INSTALL_DIR/hydro/sph_tests
28-
- $TEST_INSTALL_DIR/performance/octree_perf
29-
- $TEST_INSTALL_DIR/performance/peers_perf
30-
- $TEST_INSTALL_DIR/ryoanji/cpu_unit_tests/ryoanji_cpu_unit_tests
31-
- $TEST_INSTALL_DIR/ryoanji/unit_tests/ryoanji_unit_tests
32-
# NOTE:slow - $TEST_INSTALL_DIR/performance/hilbert_perf
33-
- $TEST_INSTALL_DIR/unit/component_units_omp
34-
- $TEST_INSTALL_DIR/unit/component_units
35-
# --- grackle
36-
# https://github.com/grackle-project/grackle_data_files/blob/928696482fbe15d9bac4382de6134d95568f099c/input/CloudyData_UVB%3DHM2012.h5
37-
- wget https://jfrog.svc.cscs.ch/artifactory/cscs-reframe-tests/sphexa/CloudyData_UVB%3DHM2012.h5
38-
- mkdir -p extern/grackle/grackle_repo/input
39-
- mv CloudyData_UVB=HM2012.h5 extern/grackle/grackle_repo/input/
40-
- export GRACKLE_DATA_FILE="$PWD/extern/grackle/grackle_repo/input/CloudyData_UVB=HM2012.h5"
41-
- test -f "$GRACKLE_DATA_FILE"
42-
- $TEST_INSTALL_DIR/physics/cooling_tests
43-
# GPU tests:
44-
- $TEST_INSTALL_DIR/hydro/sph_gpu_tests
45-
- $TEST_INSTALL_DIR/performance/hilbert_perf_gpu
46-
- $TEST_INSTALL_DIR/performance/neighbors_test_gpu
47-
- $TEST_INSTALL_DIR/performance/octree_perf_gpu
48-
- $TEST_INSTALL_DIR/unit_cuda/component_units_cuda
49-
- date
507

518
sph-run-cuda12-sm90-debug-2ranks:
52-
stage: sphexa_run
9+
extends: [.sph-run-cuda12-sm90-2ranks]
5310
needs: ['sph-build-cuda12-sm90-debug']
54-
image: prgenv-gnu/25.11:v1
55-
extends: [.uenv-runner-daint-gh200]
56-
variables:
57-
WITH_UENV_VIEW: 'default'
58-
# SLURM_PARTITION: 'debug'
59-
SLURM_JOB_NUM_NODES: 1
60-
SLURM_NTASKS: 2
61-
before_script:
62-
- pwd
63-
- date
64-
script:
65-
- $TEST_INSTALL_DIR/integration_mpi/box_mpi
66-
- $TEST_INSTALL_DIR/integration_mpi/domain_2ranks
67-
- $TEST_INSTALL_DIR/integration_mpi/domain_resize
68-
- $TEST_INSTALL_DIR/integration_mpi/exchange_focus
69-
- $TEST_INSTALL_DIR/integration_mpi/exchange_halos
70-
- $TEST_INSTALL_DIR/integration_mpi/exchange_keys
71-
- $TEST_INSTALL_DIR/integration_mpi/globaloctree
72-
- $TEST_INSTALL_DIR/integration_mpi/hdf5io
73-
- $TEST_INSTALL_DIR/ryoanji/global_upsweep_cpu
74-
- $TEST_INSTALL_DIR/ryoanji/ryoanji_demo/ryoanji_demo
75-
- $TEST_INSTALL_DIR/ryoanji/ryoanji_demo_mpi
76-
- $TEST_INSTALL_DIR/physics/disk_tests
77-
# GPU tests:
78-
- $TEST_INSTALL_DIR/integration_mpi/assignment_gpu
79-
- $TEST_INSTALL_DIR/integration_mpi/domain_gpu
80-
- $TEST_INSTALL_DIR/integration_mpi/exchange_domain_gpu
81-
- $TEST_INSTALL_DIR/integration_mpi/exchange_halos_gpu
82-
- date
8311

8412
sph-run-cuda12-sm90-debug-4ranks:
85-
stage: sphexa_run
13+
extends: [.sph-run-cuda12-sm90-4ranks]
8614
needs: ['sph-build-cuda12-sm90-debug']
87-
image: prgenv-gnu/25.11:v1
88-
extends: [.uenv-runner-daint-gh200]
89-
variables:
90-
WITH_UENV_VIEW: 'default'
91-
# SLURM_PARTITION: 'debug'
92-
SLURM_JOB_NUM_NODES: 1
93-
SLURM_NTASKS: 4
94-
before_script:
95-
- pwd
96-
- date
97-
script:
98-
- $TEST_INSTALL_DIR/integration_mpi/exchange_general_gpu # was -n5
99-
- $TEST_INSTALL_DIR/ryoanji/global_forces_gpu
100-
- $TEST_INSTALL_DIR/ryoanji/global_upsweep_gpu
101-
- date
10215

10316
sph-run-cuda12-sm90-debug-12ranks:
104-
stage: sphexa_run
17+
extends: [.sph-run-cuda12-sm90-12ranks]
10518
needs: ['sph-build-cuda12-sm90-debug']
106-
image: prgenv-gnu/25.11:v1
107-
extends: [.uenv-runner-daint-gh200]
108-
variables:
109-
WITH_UENV_VIEW: 'default'
110-
# SLURM_PARTITION: 'debug'
111-
SLURM_JOB_NUM_NODES: 1
112-
SLURM_NTASKS: 12
113-
before_script:
114-
- pwd
115-
- date
116-
script:
117-
- $TEST_INSTALL_DIR/integration_mpi/exchange_domain
118-
- $TEST_INSTALL_DIR/integration_mpi/exchange_general
119-
- $TEST_INSTALL_DIR/integration_mpi/focus_tree
120-
- $TEST_INSTALL_DIR/integration_mpi/treedomain
121-
- $TEST_INSTALL_DIR/integration_mpi/domain_nranks
122-
- date
12319

12420
sph-run-cuda12-sm90-debug-sphexa-cuda:
125-
stage: sphexa_run
126-
needs:
21+
extends: [.sph-run-cuda12-sm90-sphexa-cuda]
22+
needs:
12723
- job: sph-build-cuda12-sm90-debug
12824
- job: sph-test-venv-setup
12925
artifacts: true
130-
image: prgenv-gnu/25.11:v1
131-
extends: [.uenv-runner-daint-gh200]
132-
variables:
133-
WITH_UENV_VIEW: 'default'
134-
# SLURM_PARTITION: 'debug'
135-
SLURM_JOB_NUM_NODES: 1
136-
SLURM_NTASKS: 4
137-
SLURM_CPUS_PER_TASK: 71
138-
before_script:
139-
- pwd
140-
- date
141-
- export OMP_NUM_THREADS=64
142-
script:
143-
- wget --quiet -O 50c.h5 https://zenodo.org/records/8369645/files/50c.h5
144-
- $APP_INSTALL_DIR/sphexa-cuda --glass ./50c.h5 --init sedov --G 1.0 -n 40 -s 100 -w 10
145-
- if [ "$SLURM_PROCID" -eq 0 ]; then mv constants.txt constants_ref.txt; fi
146-
- wait
147-
- $APP_INSTALL_DIR/sphexa-cuda --init dump_sedov.h5:4 -s 100
148-
- |
149-
if [ "$SLURM_PROCID" -eq 0 ]; then
150-
awk 'start||$1==50 {print; start=1}' constants_ref.txt > constants_ref_tail.txt
151-
. constant_comparison_venv/bin/activate
152-
python ci/scripts/compare_constants.py constants_ref_tail.txt constants.txt "7,8"
153-
if [ $? -ne 0 ]; then
154-
exit 1
155-
fi
156-
deactivate
157-
fi
158-
- date
15926

16027
sph-run-cuda12-sm90-debug-sphexa-cpu:
161-
stage: sphexa_run
162-
needs:
28+
extends: [.sph-run-cuda12-sm90-sphexa-cpu]
29+
needs:
16330
- job: sph-build-cuda12-sm90-debug
16431
- job: sph-test-venv-setup
16532
artifacts: true
166-
image: prgenv-gnu/25.11:v1
167-
extends: [.uenv-runner-daint-gh200]
168-
variables:
169-
WITH_UENV_VIEW: 'default'
170-
# SLURM_PARTITION: 'debug'
171-
SLURM_JOB_NUM_NODES: 1
172-
SLURM_NTASKS: 4
173-
SLURM_CPUS_PER_TASK: 71
174-
before_script:
175-
- pwd
176-
- date
177-
- export OMP_NUM_THREADS=64
178-
script:
179-
- wget --quiet -O 50c.h5 https://zenodo.org/records/8369645/files/50c.h5
180-
- $APP_INSTALL_DIR/sphexa --glass ./50c.h5 --init sedov --G 1.0 -n 40 -s 100 -w 10
181-
- if [ "$SLURM_PROCID" -eq 0 ]; then mv constants.txt constants_ref.txt; fi
182-
- wait
183-
- $APP_INSTALL_DIR/sphexa --init dump_sedov.h5:4 -s 100
184-
- |
185-
if [ "$SLURM_PROCID" -eq 0 ]; then
186-
awk 'start||$1==50 {print; start=1}' constants_ref.txt > constants_ref_tail.txt
187-
. constant_comparison_venv/bin/activate
188-
python ci/scripts/compare_constants.py constants_ref_tail.txt constants.txt "7,8"
189-
if [ $? -ne 0 ]; then
190-
exit 1
191-
fi
192-
deactivate
193-
fi
194-
- date
19533

19634
sph-compare-constants-cuda12-sm90-debug-sphexa-cuda:
197-
stage: sphexa_run
198-
needs:
35+
extends: [.sph-compare-constants-cuda12-sm90-sphexa-cuda]
36+
needs:
19937
- job: sph-build-cuda12-sm90-debug
20038
- job: sph-test-venv-setup
20139
artifacts: true
202-
image: prgenv-gnu/25.11:v1
203-
extends: [.uenv-runner-daint-gh200]
204-
variables:
205-
WITH_UENV_VIEW: 'default'
206-
# SLURM_PARTITION: 'debug'
207-
SLURM_JOB_NUM_NODES: 1
208-
SLURM_NTASKS: 4
209-
SLURM_CPUS_PER_TASK: 71
210-
before_script:
211-
- pwd
212-
- date
213-
- export OMP_NUM_THREADS=71
214-
script:
215-
- bash ci/scripts/run_constants_comparison.sh "$APP_INSTALL_DIR/sphexa-cuda"
216-
- date
21740

21841
sph-compare-constants-cuda12-sm90-debug-sphexa-cpu:
219-
stage: sphexa_run
220-
needs:
42+
extends: [.sph-compare-constants-cuda12-sm90-sphexa-cpu]
43+
needs:
22144
- job: sph-build-cuda12-sm90-debug
22245
- job: sph-test-venv-setup
22346
artifacts: true
224-
image: prgenv-gnu/25.11:v1
225-
extends: [.uenv-runner-daint-gh200]
226-
variables:
227-
WITH_UENV_VIEW: 'default'
228-
# SLURM_PARTITION: 'debug'
229-
SLURM_JOB_NUM_NODES: 1
230-
SLURM_NTASKS: 4
231-
SLURM_CPUS_PER_TASK: 71
232-
before_script:
233-
- pwd
234-
- date
235-
- export OMP_NUM_THREADS=71
236-
script:
237-
- bash ci/scripts/run_constants_comparison.sh "$APP_INSTALL_DIR/sphexa"
238-
- date

0 commit comments

Comments
 (0)