-
Notifications
You must be signed in to change notification settings - Fork 33
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
WIP: Use HPC for CI #386
WIP: Use HPC for CI #386
Changes from 18 commits
37ebce5
c29bbb8
e21db75
7a56c88
a256146
fced7bf
bf43379
5872275
fe077b1
8f1b094
208413f
cd4dad7
6f06382
2a482d6
94aeeac
2fdf56c
35d87b6
cb54f15
187a2ae
49ed6f0
db0d086
83bc236
7faf29d
88de46b
adad00d
53db841
e2f9e83
c54cad6
100fc18
8cb989c
0d97b94
0e03f88
e196140
8998564
c38dd45
d6bcf7d
c215fd0
9692bed
2725ca5
07cc84c
2b8fc35
970f84e
ca91516
d2a7e07
f391b92
fc09e7d
4eb95dd
9e63c0a
930f505
78b62ee
c2a0595
5521e7e
d4b366d
8d2177f
9e12306
2024e9a
e96ca11
e508a21
5b46f9c
1dc5a3b
74588f1
0b5f380
609c62e
f3cfdde
376b44a
b8838bd
42279da
3f7da4d
fabea5f
8f20f5e
4f4eab9
682101e
0964d18
27a66ef
c0740ab
9308d0a
1f61e67
76fd32c
8961707
b1d1b82
0de652b
2a9e061
3a90226
aab3b87
7137094
27f517e
6f6737f
3e4539a
279c16b
462dca9
49cab56
573321b
b7d60db
0cec1f3
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,76 @@ | ||
stages: | ||
- test | ||
- benchmark | ||
- execute | ||
- upload | ||
|
||
|
||
# job_juwels_compute: | ||
# stage: execute | ||
# variables: | ||
# SCHEDULER_PARAMETERS: '--account=cstma --nodes=1 --partition=devel' | ||
# tags: | ||
# - juwels | ||
# - jacamar | ||
# - compute | ||
# - slurm | ||
# artifacts: | ||
# paths: | ||
# - test.file | ||
# script: | ||
# - echo $SYSTEMNAME | ||
# - touch test.file | ||
# after_script: | ||
# - hostname | ||
# - id | ||
|
||
|
||
variables: | ||
JUWELS_ACCOUNT: "cstma" | ||
|
||
|
||
test_JUWELS: | ||
stage: benchmark | ||
rules: | ||
- if: $CI_COMMIT_MESSAGE !~ /.*\[CI-no-benchmarks\]/ | ||
tags: | ||
- jacamar | ||
- juwels | ||
- login | ||
- shell | ||
artifacts: | ||
when: always | ||
paths: | ||
- benchmarks | ||
- sbatch.err | ||
- sbatch.out | ||
before_script: | ||
- mkdir -p benchmarks | ||
# load the latest Python module (currently 3.11) | ||
- module --force purge | ||
- module load Stages/2024 | ||
- module load GCC | ||
- module load OpenMPI | ||
- module load FFTW | ||
- module load mpi4py | ||
- module load SciPy-Stack | ||
- module load CuPy | ||
- pwd | ||
- ls -lah | ||
- pip install -e . | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do you need to There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm not sure, if we need Regarding If you want to, feel free to move the pip install and module load into the script. If I shall do that, feel free to ping me! |
||
- pip install pytest-benchmark | ||
script: | ||
# - touch benchmarks/output.json | ||
- echo $SYSTEMNAME | ||
- sbatch --wait etc/juwels_benchmark.sh | ||
- echo "Following Errors occured:" | ||
- cat sbatch.err | ||
- echo "Following was written to stdout:" | ||
- cat sbatch.out | ||
after_script: | ||
- ls -lh benchmarks | ||
|
||
|
||
#test_kit: | ||
# image: rcaspart/micromamba-cuda | ||
# stage: benchmark | ||
|
@@ -64,6 +132,9 @@ stages: | |
benchmark: | ||
image: mambaorg/micromamba | ||
stage: benchmark | ||
when: manual | ||
tags: | ||
- docker | ||
rules: | ||
- if: $CI_COMMIT_MESSAGE !~ /.*\[CI-no-benchmarks\]/ | ||
artifacts: | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
#!/bin/bash -x | ||
#SBATCH --account=cstma | ||
#SBATCH --nodes=1 | ||
#SBATCH --time=00:10:00 | ||
#SBATCH --partition=devel | ||
#SBATCH --output=sbatch.out | ||
#SBATCH --error=sbatch.err | ||
|
||
srun python -m pytest --continue-on-collection-errors -v pySDC/tests -m "benchmark" --benchmark-json=benchmarks/output.json |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we also have a directory where all job scripts can post their output? It would be neat to allow multiple job scripts. Not really needed, though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes sure we can have a directory for the outputs. Each job in Gitlab spawns in a separate directory. Therefore, multiple jobs (from Gitlab) won't put files in the same directory. If multiple tasks from slurm are spawned from a single Job in Gitlab, having this directory might make sense.