Skip to content

Commit

Permalink
Remove perf
Browse files Browse the repository at this point in the history
  • Loading branch information
Sbozzolo committed Nov 6, 2024
1 parent df47844 commit 497cf24
Show file tree
Hide file tree
Showing 10 changed files with 7 additions and 1,618 deletions.
1 change: 0 additions & 1 deletion .buildkite/hierarchies/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ env:
SLURM_KILL_BAD_EXIT: 1

CONFIG_PATH: "config/longrun_configs"
PERF_CONFIG_PATH: "config/perf_configs"

timeout_in_minutes: 1440

Expand Down
51 changes: 1 addition & 50 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ env:
SLURM_KILL_BAD_EXIT: 1

CONFIG_PATH: "config/ci_configs"
PERF_CONFIG_PATH: "config/perf_configs"

timeout_in_minutes: 240

Expand Down Expand Up @@ -42,8 +41,7 @@ steps:
- echo "--- Instantiate ClimaEarth env"
- "julia --project=experiments/ClimaEarth/ -e 'using Pkg; Pkg.develop(path=\".\")'"
- "julia --project=experiments/ClimaEarth/ -e 'using Pkg; Pkg.instantiate(;verbose=true)'"
# ProfileCanvas and JSON are used by the perf jobs
- "julia --project=experiments/ClimaEarth/ -e 'using Pkg; Pkg.add(\"MPI\"); Pkg.add(\"CUDA\"); Pkg.add(\"ProfileCanvas\"); Pkg.add(\"JSON\")'"
- "julia --project=experiments/ClimaEarth/ -e 'using Pkg; Pkg.add(\"MPI\"); Pkg.add(\"CUDA\");"
- "julia --project=experiments/ClimaEarth/ -e 'using Pkg; Pkg.precompile()'"
- "julia --project=experiments/ClimaEarth/ -e 'using Pkg; Pkg.status()'"

Expand Down Expand Up @@ -98,12 +96,6 @@ steps:
slurm_ntasks: 2
slurm_mem: 16GB

- label: "Perf flame graph diff tests"
command: "julia --color=yes --project=experiments/ClimaEarth/ perf/flame_test.jl --job_id flame_perf_target"
timeout_in_minutes: 5
agents:
slurm_mem: 16GB

- group: "GPU: unit tests and global bucket"
steps:
- label: "GPU runtests"
Expand Down Expand Up @@ -202,33 +194,6 @@ steps:

# ...


# PERFORMANCE

# slabplanet default: track unthreaded performance (alloc tests, flame graph, flame graph diff, build history)
- label: ":rocket: Slabplanet: default (unthreaded)"
key: "slabplanet_unthreaded"
command: "julia --color=yes --project=experiments/ClimaEarth/ experiments/ClimaEarth/run_amip.jl --config_file $CONFIG_PATH/default_unthreaded.yml --job_id default_unthreaded"
artifact_paths: "experiments/ClimaEarth/output/slabplanet/default_unthreaded/artifacts/*"
env:
FLAME_PLOT: ""
BUILD_HISTORY_HANDLE: ""
agents:
slurm_ntasks: 1
slurm_mem: 20GB

- label: ":rocket: Slabplanet: default (unthreaded) - flame graph and allocation tests"
command: "julia --color=yes --project=experiments/ClimaEarth perf/flame.jl --config_file $PERF_CONFIG_PATH/perf_default_unthreaded.yml --job_id perf_default_unthreaded"
artifact_paths: "perf/output/perf_default_unthreaded/*"
agents:
slurm_mem: 20GB

- label: ":rocket: Slabplanet: default (unthreaded) - flame graph diff"
command: "julia --color=yes --project=experiments/ClimaEarth perf/flame_diff.jl --config_file $PERF_CONFIG_PATH/perf_diff_default_unthreaded.yml --job_id perf_diff_default_unthreaded"
artifact_paths: "perf/output/perf_diff_default_unthreaded/*"
agents:
slurm_mem: 20GB

# < end Drivers for release

# CLIMACORE EXPERIMENTS
Expand Down Expand Up @@ -333,20 +298,6 @@ steps:
agents:
slurm_mem: 20GB

# PERFORMANCE RUNS: flame graphs + allocation tests

- label: ":rocket: flame graph and allocation tests: perf_coarse_single_ft64"
command: "julia --color=yes --project=experiments/ClimaEarth perf/flame.jl --config_file $PERF_CONFIG_PATH/perf_coarse_single_ft64.yml --job_id perf_coarse_single_ft64"
artifact_paths: "perf/output/perf_coarse_single_ft64/*"
agents:
slurm_mem: 20GB

- label: ":rocket: performance: flame graph diff: perf_diff_coarse_single_ft64"
command: "julia --color=yes --project=experiments/ClimaEarth perf/flame_diff.jl --config_file $PERF_CONFIG_PATH/perf_diff_coarse_single_ft64.yml --job_id perf_diff_coarse_single_ft64"
artifact_paths: "perf/output/perf_diff_coarse_single_ft64/*"
agents:
slurm_mem: 20GB

- group: "Hierarchy tests (1d)"
steps:
- label: ":construction: Dry Held Suarez"
Expand Down
2 changes: 0 additions & 2 deletions .dev/up_deps.jl
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,8 @@ files in all of our environments.
root = dirname(@__DIR__)
dirs = (
root,
joinpath(root, "artifacts"),
joinpath(root, "test"),
joinpath(root, ".dev"),
joinpath(root, "perf"),
joinpath(root, "docs"),
joinpath(root, "experiments/ClimaEarth"),
)
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ docs/src/generated/
# Experiments
!experiments/ClimaEarth/**/Manifest.toml
!experiments/ClimaCore/**/Manifest.toml
!perf/Manifest.toml

# Output
output/
Expand Down
6 changes: 6 additions & 0 deletions docs/src/performance.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Performance Analysis Tools

Until commit
[7a7e98](https://github.com/CliMA/ClimaCoupler.jl/tree/7a7e98db25fe740b6ff0e3eca1e028e876a8a09e),
ClimaCoupler provided included performance jobs. You can find them by following the link above.

Below is a short description.

`ClimaCoupler.jl` provides basic tools for analyzing performance:
1. **Flame graphs**: the `perf/flame.jl` script is run by Buildkite to produce flame graphs using [ProfileCanvas.jl](https://github.com/pfitzseb/ProfileCanvas.jl) in the `perf/output/` directory.
2. **Job walltime and allocation history**: use Buildkite to trigger the [`build_history`](https://github.com/CliMA/slurm-buildkite/blob/master/bin/build_history) script to output an interactive plot with the history of memory usage and time elapsed for each tracked job (default: current build and past builds of the `staging` branch over the past year). Use `key` to select which jobs to track. More documentation can be found in the [SLURM-Buildkite Wiki](https://github.com/CliMA/slurm-buildkite/wiki/Memory#plotting-memory-usage-over-time).
Expand Down
Loading

0 comments on commit 497cf24

Please sign in to comment.