Skip to content
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

Bencher Historical Baseline #666

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open

Bencher Historical Baseline #666

wants to merge 6 commits into from

Conversation

kotsaloscv
Copy link
Collaborator

@kotsaloscv kotsaloscv commented Feb 13, 2025

This pipeline runs every day at 21 (for the main branch), and pushes the benchmark results to Bencher cloud. In this way, we are creating a historical baseline such that we can compare every feature branch with this baseline.

All the parameters for bencher cloud are set in https://cicd-ext-mw.cscs.ch (currently I am pushing everything in a test project, while an icon4py-bencher project already exists and will be used once we merge this PR).

This link shows some graphs for this test bencher project.
Once we move to the icon4py, I will pin more meaningful graphs.

@kotsaloscv kotsaloscv self-assigned this Feb 13, 2025
@kotsaloscv
Copy link
Collaborator Author

cscs-ci run baseline

@kotsaloscv
Copy link
Collaborator Author

cscs-ci run baseline

@kotsaloscv kotsaloscv requested review from havogt and edopao February 14, 2025 07:42
@kotsaloscv
Copy link
Collaborator Author

@edopao is there any better way to get the name of gh200 other than doing this -> https://github.com/C2SM/icon4py/pull/666/files#diff-e429d7e54b26aa2173a0cc252f21c81f5fd0ce98430d2d35d6a2433b6cddfccfR93 ?

@kotsaloscv kotsaloscv changed the title Generate bencher baseline for main branch Bencher Historical Baseline Feb 14, 2025
@kotsaloscv
Copy link
Collaborator Author

cscs-ci run benchmark-bencher-baseline

@edopao
Copy link
Contributor

edopao commented Feb 14, 2025

@edopao is there any better way to get the name of gh200 other than doing this -> https://github.com/C2SM/icon4py/pull/666/files#diff-e429d7e54b26aa2173a0cc252f21c81f5fd0ce98430d2d35d6a2433b6cddfccfR93 ?

I don't know how to get "gh200", but you could get the vCluster name from the variable FIRECREST_SYSTEM, which would give us "santis" in this case.

--err \
--adapter python_pytest \
--file results.json \
"pytest --benchmark-json results.json -sv --benchmark-only --backend=$BACKEND --grid=$GRID ./model"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is -s to stream the stdout? If so I suggest to remove it, since this is a benchmark.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The above command is the same as the one called by nox -> https://github.com/C2SM/icon4py/blob/main/noxfile.py#L49

Although I am wondering if both should be removed.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think -v is fine to keep, it's about verbosity of pytest command itself. -s instead is maybe better to skip, in benchmark mode.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agree

Copy link

Mandatory Tests

Please make sure you run these tests via comment before you merge!

  • cscs-ci run default
  • launch jenkins spack

Optional Tests

To run benchmarks you can use:

  • cscs-ci run benchmark

To run tests and benchmarks with the DaCe backend you can use:

  • cscs-ci run dace

In case your change might affect downstream icon-exclaim, please consider running

  • launch jenkins icon

For more detailed information please look at CI in the EXCLAIM universe.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants