Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 0e5926f

Browse files
committedFeb 5, 2025·
Make all steps in buildkite pipeline use reservation
Reduce flame graph: perf target (prognostic edmfx aquaplanet) memory to 32 GB, remove threaded benchmark and flame graph, and move calibration to its own pipeline.
1 parent 6373486 commit 0e5926f

File tree

2 files changed

+89
-47
lines changed

2 files changed

+89
-47
lines changed
 

‎.buildkite/pipeline.yml

+1-47
Original file line numberDiff line numberDiff line change
@@ -549,20 +549,6 @@ steps:
549549
agents:
550550
slurm_mem: 20GB
551551

552-
- group: "Calibration"
553-
steps:
554-
- label: "Calibration interface unit tests"
555-
command: julia --project=calibration/test calibration/test/interface.jl
556-
- label: "end to end test"
557-
command: julia --project=calibration/test calibration/test/e2e_test.jl
558-
agents:
559-
slurm_ntasks: 10
560-
slurm_cpus_per_task: 1
561-
slurm_mem: 96GB
562-
slurm_reservation: "false"
563-
slurm_time: "00:30:00"
564-
artifact_paths: "calibration_end_to_end_test/*"
565-
566552
- group: "Diagnostic EDMFX"
567553
steps:
568554

@@ -1047,16 +1033,6 @@ steps:
10471033
slurm_mem: 24GB
10481034
slurm_gpus: 1
10491035

1050-
- label: ":computer: Benchmark: CPU perf target (Threaded)"
1051-
command: >
1052-
julia --color=yes --threads 8 --project=.buildkite perf/benchmark.jl
1053-
--config_file $PERF_CONFIG_PATH/bm_perf_target_threaded.yml
1054-
--job_id bm_perf_target_threaded
1055-
agents:
1056-
slurm_mem: 24GB
1057-
slurm_cpus_per_task: 8
1058-
slurm_reservation: "false"
1059-
10601036
- label: ":computer: Benchmark: GPU diag edmf"
10611037
command: >
10621038
julia --color=yes --project=.buildkite perf/benchmark.jl
@@ -1117,29 +1093,7 @@ steps:
11171093
--job_id flame_perf_target_prognostic_edmfx_aquaplanet
11181094
artifact_paths: "flame_perf_target_prognostic_edmfx_aquaplanet/*"
11191095
agents:
1120-
slurm_mem: 48GB
1121-
slurm_reservation: "false"
1122-
1123-
- label: ":fire: Flame graph: perf target (frierson diffusion)"
1124-
command: >
1125-
julia --color=yes --project=.buildkite perf/flame.jl
1126-
--config_file $PERF_CONFIG_PATH/flame_perf_target_frierson.yml
1127-
--job_id flame_perf_target_frierson
1128-
artifact_paths: "flame_perf_target_frierson/*"
1129-
agents:
1130-
slurm_mem: 48GB
1131-
slurm_reservation: "false"
1132-
1133-
- label: ":fire: Flame graph: perf target (Threaded)"
1134-
command: >
1135-
julia --threads 8 --color=yes --project=.buildkite perf/flame.jl
1136-
--config_file $PERF_CONFIG_PATH/flame_perf_target_threaded.yml
1137-
--job_id flame_perf_target_threaded
1138-
artifact_paths: "flame_perf_target_threaded/*"
1139-
agents:
1140-
slurm_cpus_per_task: 8
1141-
slurm_mem: 24GB
1142-
slurm_reservation: "false"
1096+
slurm_mem: 32GB
11431097

11441098
- label: ":fire: Flame graph: perf target (Callbacks)"
11451099
command: >

‎calibration/test/pipeline.yml

+88
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
agents:
2+
queue: new-central
3+
slurm_mem: 8G
4+
modules: climacommon/2024_12_16
5+
env:
6+
JULIA_LOAD_PATH: "${JULIA_LOAD_PATH}:${BUILDKITE_BUILD_CHECKOUT_PATH}/.buildkite"
7+
OPENBLAS_NUM_THREADS: 1
8+
SLURM_KILL_BAD_EXIT: 1
9+
JULIA_NVTX_CALLBACKS: gc
10+
JULIA_MAX_NUM_PRECOMPILE_FILES: 100
11+
JULIA_DEPOT_PATH: "${BUILDKITE_BUILD_PATH}/${BUILDKITE_PIPELINE_SLUG}/depot/default"
12+
CONFIG_PATH: "config/model_configs"
13+
GPU_CONFIG_PATH: "config/gpu_configs"
14+
PERF_CONFIG_PATH: "config/perf_configs"
15+
MPI_CONFIG_PATH: "config/mpi_configs"
16+
17+
steps:
18+
- label: "init :computer:"
19+
key: "init_cpu_env"
20+
concurrency: 1
21+
concurrency_group: 'depot/climaatmos-ci'
22+
command:
23+
- "echo $$JULIA_DEPOT_PATH"
24+
25+
- echo "--- Instantiate project"
26+
- "julia --project -e 'using Pkg; Pkg.instantiate(;verbose=true)'"
27+
- "julia --project -e 'using Pkg; Pkg.precompile()'"
28+
- "julia --project -e 'using Pkg; Pkg.status()'"
29+
30+
- echo "--- Instantiate .buildkite"
31+
- "julia --project=.buildkite -e 'using Pkg; Pkg.instantiate(;verbose=true)'"
32+
- "julia --project=.buildkite -e 'using Pkg; Pkg.precompile()'"
33+
- "julia --project=.buildkite -e 'using CUDA; CUDA.precompile_runtime()'"
34+
- "julia --project=.buildkite -e 'using Pkg; Pkg.status()'"
35+
36+
- echo "--- Instantiate calibration/test"
37+
- "julia --project=calibration/test -e 'using Pkg; Pkg.develop(;path=\".\"); Pkg.instantiate(;verbose=true)'"
38+
- "julia --project=calibration/test -e 'using Pkg; Pkg.precompile()'"
39+
- "julia --project=calibration/test -e 'using Pkg; Pkg.status()'"
40+
41+
agents:
42+
slurm_cpus_per_task: 8
43+
slurm_gpus: 1
44+
env:
45+
JULIA_NUM_PRECOMPILE_TASKS: 8
46+
JULIA_MAX_NUM_PRECOMPILE_FILES: 50
47+
48+
- wait
49+
50+
- group: "Calibration"
51+
steps:
52+
- label: "Calibration interface unit tests"
53+
command: julia --project=calibration/test calibration/test/interface.jl
54+
- label: "end to end test"
55+
command: julia --project=calibration/test calibration/test/e2e_test.jl
56+
agents:
57+
slurm_ntasks: 10
58+
slurm_cpus_per_task: 1
59+
slurm_mem: 96GB
60+
slurm_reservation: "false"
61+
slurm_time: "00:30:00"
62+
artifact_paths: "calibration_end_to_end_test/*"
63+
64+
-group: "Benchmarks"
65+
- label: ":computer: Benchmark: CPU perf target (Threaded)"
66+
command: >
67+
julia --color=yes --threads 8 --project=.buildkite perf/benchmark.jl
68+
--config_file $PERF_CONFIG_PATH/bm_perf_target_threaded.yml
69+
--job_id bm_perf_target_threaded
70+
agents:
71+
slurm_mem: 24GB
72+
slurm_cpus_per_task: 8
73+
slurm_reservation: "false"
74+
75+
-group: "Flame Graphs"
76+
- label: ":fire: Flame graph: perf target (Threaded)"
77+
command: >
78+
julia --threads 8 --color=yes --project=.buildkite perf/flame.jl
79+
--config_file $PERF_CONFIG_PATH/flame_perf_target_threaded.yml
80+
--job_id flame_perf_target_threaded
81+
artifact_paths: "flame_perf_target_threaded/*"
82+
agents:
83+
slurm_cpus_per_task: 8
84+
slurm_mem: 24GB
85+
slurm_reservation: "false"
86+
87+
- wait: ~
88+
continue_on_failure: true

0 commit comments

Comments
 (0)
Please sign in to comment.