Skip to content

Commit

Permalink
Add benchmarks, remove default_perf_config_file
Browse files Browse the repository at this point in the history
  • Loading branch information
charleskawczynski committed May 14, 2024
1 parent 3fb75cf commit 232e7a2
Show file tree
Hide file tree
Showing 32 changed files with 340 additions and 58 deletions.
23 changes: 21 additions & 2 deletions .buildkite/gpu_pipeline/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ env:
SLURM_KILL_BAD_EXIT: 1
SLURM_GRES_FLAGS: "allow-task-sharing"
GPU_CONFIG_PATH: "config/gpu_configs/"
MODEL_CONFIG_PATH: "config/model_configs/"
CLIMAATMOS_GC_NSTEPS: 10

steps:
Expand Down Expand Up @@ -249,7 +250,7 @@ steps:
- >
nsys profile --trace=nvtx,mpi,cuda,osrt --output=gpu_aquaplanet_diagedmf/output_active/report
julia --threads=3 --color=yes --project=examples examples/hybrid/driver.jl
--config_file ${GPU_CONFIG_PATH}gpu_aquaplanet_diagedmf.yml
--config_file ${MODEL_CONFIG_PATH}aquaplanet_diagedmf.yml
--job_id gpu_aquaplanet_diagedmf
artifact_paths: "gpu_aquaplanet_diagedmf/output_active/*"
agents:
Expand All @@ -259,6 +260,15 @@ steps:
slurm_mem: 32G
slurm_exclusive:

- label: "gpu_aquaplanet_diagedmf_benchmark"
command: >
julia --color=yes --project=perf perf/benchmark.jl
--config_file ${MODEL_CONFIG_PATH}aquaplanet_diagedmf.yml
--job_id gpu_aquaplanet_diagedmf_benchmark
artifact_paths: "gpu_aquaplanet_diagedmf_benchmark/output_active/*"
agents:
slurm_gpus: 1

- group: "Prognostic EDMF GPU"
steps:

Expand All @@ -268,7 +278,7 @@ steps:
- >
nsys profile --trace=nvtx,mpi,cuda,osrt --output=gpu_aquaplanet_progedmf/output_active/report
julia --threads=3 --color=yes --project=examples examples/hybrid/driver.jl
--config_file ${GPU_CONFIG_PATH}gpu_aquaplanet_progedmf.yml
--config_file ${MODEL_CONFIG_PATH}aquaplanet_progedmf.yml
--job_id gpu_aquaplanet_progedmf
artifact_paths: "gpu_aquaplanet_progedmf/output_active/*"
agents:
Expand All @@ -277,3 +287,12 @@ steps:
slurm_ntasks: 1
slurm_mem: 32G
slurm_exclusive:

- label: "gpu_aquaplanet_progedmf_benchmark"
command: >
julia --color=yes --project=perf perf/benchmark.jl
--config_file ${MODEL_CONFIG_PATH}aquaplanet_progedmf.yml
--job_id gpu_aquaplanet_progedmf_benchmark
artifact_paths: "gpu_aquaplanet_progedmf_benchmark/output_active/*"
agents:
slurm_gpus: 1
11 changes: 7 additions & 4 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -845,7 +845,7 @@ steps:
slurm_gpus: 1
slurm_mem: 20G

- group: "GPU Performance"
- group: "Benchmarks"
steps:

- label: "Perf: GPU implicit baro wave wrt h_elem"
Expand Down Expand Up @@ -887,9 +887,6 @@ steps:
--job_id cpu_implicit_barowave
artifact_paths: "cpu_implicit_barowave/output_active/*"

- group: "Performance"
steps:

# Benchmarks
- label: ":computer: Benchmark: perf target (default)"
command: >
Expand Down Expand Up @@ -917,6 +914,9 @@ steps:
slurm_mem: 24GB
slurm_cpus_per_task: 8

- group: "Flame graphs"
steps:

- label: ":fire: Flame graph: perf target (default)"
command: >
julia --color=yes --project=perf perf/flame.jl
Expand Down Expand Up @@ -1019,6 +1019,9 @@ steps:
slurm_gpus: 1
gres: "gpu:p100:1"

- group: "Inference/Invalidations"
steps:

# Inference
- label: ":rocket: JET n-failures (inference)"
command: >
Expand Down
16 changes: 0 additions & 16 deletions config/default_configs/default_perf.yml

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ z_max: 55000.0
z_elem: 63
dz_bottom: 30.0
dz_top: 3000.0
moist: equil
surface_setup: DefaultMoninObukhov
moist: equil
surface_setup: DefaultMoninObukhov
rad: allskywithclear
idealized_insolation: false
dt_rad: 1hours
Expand All @@ -18,14 +18,14 @@ implicit_sgs_advection: true
approximate_linear_solve_iters: 2
max_newton_iters_ode: 3
prognostic_tke: true
edmfx_upwinding: first_order
edmfx_entr_model: "Generalized"
edmfx_detr_model: "Generalized"
edmfx_upwinding: first_order
edmfx_entr_model: "Generalized"
edmfx_detr_model: "Generalized"
edmfx_nh_pressure: true
edmfx_filter: true
edmfx_sgs_mass_flux: true
edmfx_sgs_diffusive_flux: true
precip_model: 0M
dt: 10secs
t_end: 3hours
dt: 10secs
t_end: 3hours
toml: [toml/prognostic_edmfx.toml]
16 changes: 16 additions & 0 deletions config/perf_configs/bm_perf_target.yml
Original file line number Diff line number Diff line change
@@ -1 +1,17 @@
moist: "equil"
apply_limiter: true
z_elem: 25
dt: "1secs"
surface_setup: "DefaultExchangeCoefficients"
t_end: "10secs"
vert_diff: "true"
implicit_diffusion: true
approximate_linear_solve_iters: 2
h_elem: 12
forcing: "held_suarez"
precip_model: "0M"
dt_save_to_sol: "Inf"
rad: "allskywithclear"
warn_allocations_diagnostics: true
log_progress: false
perf_summary: true
16 changes: 16 additions & 0 deletions config/perf_configs/bm_perf_target_threaded.yml
Original file line number Diff line number Diff line change
@@ -1 +1,17 @@
moist: "equil"
apply_limiter: true
z_elem: 25
dt: "1secs"
surface_setup: "DefaultExchangeCoefficients"
t_end: "10secs"
vert_diff: "true"
implicit_diffusion: true
approximate_linear_solve_iters: 2
h_elem: 12
forcing: "held_suarez"
precip_model: "0M"
dt_save_to_sol: "Inf"
rad: "allskywithclear"
warn_allocations_diagnostics: true
log_progress: false
perf_summary: true
16 changes: 16 additions & 0 deletions config/perf_configs/checkbounds.yml
Original file line number Diff line number Diff line change
@@ -1 +1,17 @@
moist: "equil"
apply_limiter: true
z_elem: 25
dt: "1secs"
surface_setup: "DefaultExchangeCoefficients"
t_end: "10secs"
vert_diff: "true"
implicit_diffusion: true
approximate_linear_solve_iters: 2
h_elem: 12
forcing: "held_suarez"
precip_model: "0M"
dt_save_to_sol: "Inf"
rad: "allskywithclear"
warn_allocations_diagnostics: true
log_progress: false
dt: "1secs"
17 changes: 14 additions & 3 deletions config/perf_configs/cpu_implicit_barowave.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
h_elem: 12
initial_condition: "DryBaroclinicWave"
t_end: "1mins"
moist: "equil"
apply_limiter: true
z_elem: 25
dt: "1secs"
surface_setup: "DefaultExchangeCoefficients"
vert_diff: "true"
implicit_diffusion: true
approximate_linear_solve_iters: 2
h_elem: 12
forcing: "held_suarez"
precip_model: "0M"
dt_save_to_sol: "Inf"
rad: "allskywithclear"
warn_allocations_diagnostics: true
log_progress: false
initial_condition: "DryBaroclinicWave"
t_end: "1mins"
18 changes: 14 additions & 4 deletions config/perf_configs/flame_gpu_implicit_barowave_moist.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,20 @@
moist: "equil"
z_elem: 25
dt: "1secs"
surface_setup: "DefaultExchangeCoefficients"
t_end: "10secs"
vert_diff: "true"
implicit_diffusion: true
approximate_linear_solve_iters: 2
h_elem: 12
forcing: "held_suarez"
precip_model: "0M"
dt_save_to_sol: "Inf"
warn_allocations_diagnostics: true
log_progress: false
apply_limiter: false
precip_model: "0M"
h_elem: 12
initial_condition: "MoistBaroclinicWave"
t_end: "1mins"
z_elem: 25
dt: "1secs"
dt_save_to_sol: "Inf"
rad: ~
moist: "equil"
16 changes: 16 additions & 0 deletions config/perf_configs/flame_perf_diagnostics.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
moist: "equil"
apply_limiter: true
z_elem: 25
dt: "1secs"
surface_setup: "DefaultExchangeCoefficients"
t_end: "10secs"
vert_diff: "true"
implicit_diffusion: true
approximate_linear_solve_iters: 2
h_elem: 12
forcing: "held_suarez"
precip_model: "0M"
dt_save_to_sol: "Inf"
rad: "allskywithclear"
warn_allocations_diagnostics: true
log_progress: false
diagnostics:
- reduction_time: "average"
short_name: "ua"
Expand Down
16 changes: 16 additions & 0 deletions config/perf_configs/flame_perf_gw.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
moist: "equil"
apply_limiter: true
z_elem: 25
dt: "1secs"
surface_setup: "DefaultExchangeCoefficients"
t_end: "10secs"
vert_diff: "true"
implicit_diffusion: true
approximate_linear_solve_iters: 2
h_elem: 12
forcing: "held_suarez"
precip_model: "0M"
dt_save_to_sol: "Inf"
rad: "allskywithclear"
warn_allocations_diagnostics: true
log_progress: false
dz_bottom: 300.0
rayleigh_sponge: true
toml:
Expand Down
17 changes: 16 additions & 1 deletion config/perf_configs/flame_perf_target.yml
Original file line number Diff line number Diff line change
@@ -1 +1,16 @@
dt: "1secs"
moist: "equil"
apply_limiter: true
z_elem: 25
dt: "1secs"
surface_setup: "DefaultExchangeCoefficients"
t_end: "10secs"
vert_diff: "true"
implicit_diffusion: true
approximate_linear_solve_iters: 2
h_elem: 12
forcing: "held_suarez"
precip_model: "0M"
dt_save_to_sol: "Inf"
rad: "allskywithclear"
warn_allocations_diagnostics: true
log_progress: false
16 changes: 16 additions & 0 deletions config/perf_configs/flame_perf_target_callbacks.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
moist: "equil"
apply_limiter: true
z_elem: 25
dt: "1secs"
surface_setup: "DefaultExchangeCoefficients"
t_end: "10secs"
vert_diff: "true"
implicit_diffusion: true
approximate_linear_solve_iters: 2
h_elem: 12
forcing: "held_suarez"
precip_model: "0M"
dt_save_to_sol: "Inf"
rad: "allskywithclear"
warn_allocations_diagnostics: true
log_progress: false
dt_save_state_to_disk: "1secs"
dt_rad: "1secs"
dt_cloud_fraction: "1secs"
16 changes: 16 additions & 0 deletions config/perf_configs/flame_perf_target_diagnostic_edmfx.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
moist: "equil"
apply_limiter: true
z_elem: 25
dt: "1secs"
surface_setup: "DefaultExchangeCoefficients"
t_end: "10secs"
vert_diff: "true"
implicit_diffusion: true
approximate_linear_solve_iters: 2
h_elem: 12
forcing: "held_suarez"
precip_model: "0M"
dt_save_to_sol: "Inf"
rad: "allskywithclear"
warn_allocations_diagnostics: true
log_progress: false
dt_save_state_to_disk: "600secs"
vert_diff: "false"
turbconv: "diagnostic_edmfx"
Expand Down
16 changes: 16 additions & 0 deletions config/perf_configs/flame_perf_target_edmf.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
moist: "equil"
apply_limiter: true
z_elem: 25
dt: "1secs"
surface_setup: "DefaultExchangeCoefficients"
t_end: "10secs"
vert_diff: "true"
implicit_diffusion: true
approximate_linear_solve_iters: 2
h_elem: 12
forcing: "held_suarez"
precip_model: "0M"
dt_save_to_sol: "Inf"
rad: "allskywithclear"
warn_allocations_diagnostics: true
log_progress: false
rad: ~
apply_limiter: false
dt_save_state_to_disk: "10secs"
Expand Down
10 changes: 10 additions & 0 deletions config/perf_configs/flame_perf_target_frierson.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
apply_limiter: true
surface_setup: "DefaultExchangeCoefficients"
implicit_diffusion: true
approximate_linear_solve_iters: 2
h_elem: 12
forcing: "held_suarez"
dt_save_to_sol: "Inf"
rad: "allskywithclear"
warn_allocations_diagnostics: true
log_progress: false
vert_diff: "FriersonDiffusion"
pproximate_linear_solve_iters: 2
use_krylov_method: true
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
apply_limiter: true
z_elem: 25
approximate_linear_solve_iters: 2
h_elem: 12
forcing: "held_suarez"
dt_save_to_sol: "Inf"
warn_allocations_diagnostics: true
log_progress: false
surface_setup: DefaultExchangeCoefficients
rad: gray
vert_diff: "false"
Expand Down
Loading

0 comments on commit 232e7a2

Please sign in to comment.