|
| 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