Skip to content

Use experimental GHEX async scheduling#938

Merged
havogt merged 5 commits intomainfrom
async_ghex
Nov 14, 2025
Merged

Use experimental GHEX async scheduling#938
havogt merged 5 commits intomainfrom
async_ghex

Conversation

@havogt
Copy link
Contributor

@havogt havogt commented Nov 10, 2025

Note: This version of GHEX avoids the sync in icon4py that is needed with GHEX v0.4.1, giving a huge boost in performance. The minimum version of ghex is set to 0.5, which is not currently released, but might become the version with the async scheduling feature.

@havogt havogt mentioned this pull request Nov 12, 2025
@egparedes
Copy link
Contributor

I would also update the minimum required version in common/pyproject.toml as done in #941

@msimberg
Copy link
Contributor

@havogt already knows, but just for the record for others: while we'll try to make a new tag/version of GHEX soon with ghex-org/GHEX#184 and ghex-org/GHEX#182, the changes from ghex-org/GHEX#186 (i.e. the async-mpi branch which is used in this PR) will not be in a a release for a while. I can of course make a tag if that makes things simpler?

@havogt
Copy link
Contributor Author

havogt commented Nov 13, 2025

I went for ghex >= 0.5, a version that doesn't exist on pypi. The reason is that the current change is not compatible (because of the missing sync) with any release. I.e. the user will get at least an error when trying to install from pypi.

Copy link
Contributor

@msimberg msimberg left a comment

Choose a reason for hiding this comment

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

Not much to say from my side. The version constraint looks sensible to me.

Copy link
Contributor

@halungge halungge left a comment

Choose a reason for hiding this comment

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

LGTM, thanks

@havogt
Copy link
Contributor Author

havogt commented Nov 13, 2025

cscs-ci run default

@github-actions
Copy link

Mandatory Tests

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

  • cscs-ci run default

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.

@havogt
Copy link
Contributor Author

havogt commented Nov 14, 2025

cscs-ci run default

@havogt
Copy link
Contributor Author

havogt commented Nov 14, 2025

blueline verified with mch_ch2

@havogt havogt merged commit b27a010 into main Nov 14, 2025
47 checks passed
@havogt havogt deleted the async_ghex branch November 14, 2025 17:07
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.

5 participants