Skip to content

Conversation

@iomaganaris
Copy link
Collaborator

@iomaganaris iomaganaris commented Feb 5, 2026

This Pull Request includes scripts to benchmark and profile the dycore granule as well as one of the most time consuming GT4Py Programs of it, the vertically_implicit_solver_at_predictor_step.

We'll keep this PR open for interaction and keep it up-to-date with improvements.

The PR includes the following important files:

  • AMD_INTRODUCTION.md: Includes (hopefully) all the informations necessary to run the benchmark scripts for the dycore granule and the vertically_implicit_solver_at_predictor_step as well as an introduction on icon4py, GT4Py and DaCe. There are also some suggestions regarding how to view and understand the generated code
  • amd_scripts/install_icon4py_venv.sh: Script to install icon4py along with all the dependencies necessary to run the profilers
  • amd_scripts/benchmark_dycore.sh: Sbatch script for Beverin to run and time the GT4Py Programs of the dycore
  • amd_scripts/benchmark_solver.sh: Sbatch script for Beverin to benchark and profile the vertically_implicit_solver_at_predictor_step. Looking at the profiles of the kernels generated by this GT4Py program is the most interesting topic as it should improve the performance across most of the other dycore GT4Py Programs as well

Currently, based on #1018 which points to GT4Py/main (which will become GT4Py v1.1.4 in the next week).

@iomaganaris iomaganaris requested a review from havogt February 5, 2026 16:19
fi

# Install icon4py, gt4py, DaCe and other basic dependencies using uv
uv sync --extra all --python $(which python3.12)
Copy link
Contributor

Choose a reason for hiding this comment

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

I would not install all the extras but maybe we properly add cupy-rocm7 as an extra to avoid line 29. I can work on that.

@iomaganaris iomaganaris changed the base branch from main to update_dace_version February 6, 2026 15:38
--benchmark-warmup=on \
--benchmark-warmup-iterations=30 \
--backend=dace_gpu \
--grid=icon_benchmark_regional \
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
--grid=icon_benchmark_regional \
--grid=icon_benchmark_global \

Since global is our main target for now, maybe we can switch to that.

@github-actions
Copy link

github-actions bot commented Feb 9, 2026

Mandatory Tests

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

  • cscs-ci run default
  • cscs-ci run distributed

Optional Tests

To run benchmarks you can use:

  • cscs-ci run benchmark-bencher

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

  • cscs-ci run dace

To run test levels ignored by the default test suite (mostly simple datatest for static fields computations) you can use:

  • cscs-ci run extra

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.

3 participants