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

Enable optional stencils and modules in Liskov #358

Merged
merged 83 commits into from
May 15, 2024
Merged

Conversation

ninaburg
Copy link
Contributor

@ninaburg ninaburg commented Jan 22, 2024

This PR allows to integrate optional stencils using Liskov. The GT4Py stencils are ignored if their module e.g. advection is not specified explicitly at compilation. The motivation for this feature is that the performance of some modules (e.g. advection and graupel) is not yet satisfying but keeping them in a separate branch is a lot of overhead.

More specifically this PR:

  • adds a new argument parameter optional_module to the START STENCIL liskov directive to specify which optional module the stencil belongs to, e.g. optional_module=advection.
  • adds a new option --enable_optional_stencil to the liskov CLI to enable the optional stencils and specify which module. e.g. --enable_optional_stencil=advection. Corresponding PR in icon-exclaim adds the changes in the icon_liskov preprocessor command in configure and CMakelist.txt.

Nina Burgdorfer and others added 28 commits January 22, 2024 09:36
@huppd
Copy link
Contributor

huppd commented Feb 16, 2024

cscs-ci run default

@huppd
Copy link
Contributor

huppd commented Feb 16, 2024

launch jenkins spack

@huppd
Copy link
Contributor

huppd commented May 7, 2024

launch jenkins spack

@huppd
Copy link
Contributor

huppd commented May 7, 2024

cscs-ci run default

@huppd
Copy link
Contributor

huppd commented May 8, 2024

cscs-ci run default

@huppd
Copy link
Contributor

huppd commented May 13, 2024

cscs-ci run default

1 similar comment
@huppd
Copy link
Contributor

huppd commented May 13, 2024

cscs-ci run default

@huppd
Copy link
Contributor

huppd commented May 14, 2024

cscs-ci run default

@huppd
Copy link
Contributor

huppd commented May 14, 2024

cscs-ci run default

2 similar comments
@huppd
Copy link
Contributor

huppd commented May 15, 2024

cscs-ci run default

@huppd
Copy link
Contributor

huppd commented May 15, 2024

cscs-ci run default

@huppd
Copy link
Contributor

huppd commented May 15, 2024

cscs-ci run default

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.

@huppd
Copy link
Contributor

huppd commented May 15, 2024

cscs-ci run default

@huppd
Copy link
Contributor

huppd commented May 15, 2024

launch jenkins spack

@huppd
Copy link
Contributor

huppd commented May 15, 2024

launch jenkins icon

@huppd huppd merged commit b31446a into main May 15, 2024
5 of 6 checks passed
iomaganaris referenced this pull request in iomaganaris/icon4py Jun 18, 2024

This PR allows to integrate optional stencils using Liskov. The GT4Py stencils are ignored if their module e.g. advection is not specified explicitly at compilation. The motivation for this feature is that the performance of some modules (e.g. advection and graupel) is not yet satisfying but keeping them in a separate branch is a lot of overhead.

More specifically this PR:

    adds a new argument parameter optional_module to the START STENCIL liskov directive to specify which optional module the stencil belongs to, e.g. optional_module=advection.
    adds a new option --enable_optional_stencil to the liskov CLI to enable the optional stencils and specify which module. e.g. --enable_optional_stencil=advection. Corresponding PR in icon-exclaim adds the changes in the icon_liskov preprocessor command in configure and CMakelist.txt.

---------

Co-authored-by: Nina Burgdorfer <Nina.Burgdorfer@meteoswiss.ch>
Co-authored-by: samkellerhals <kellerhalssamuel@gmail.com>
Co-authored-by: Daniel Hupp <daniel.hupp@meteoswiss.ch>
Co-authored-by: Nicoletta Farabullini <41536517+nfarabullini@users.noreply.github.com>
@samkellerhals samkellerhals deleted the optional_modules_liskov branch December 20, 2024 08:40
OngChia pushed a commit that referenced this pull request Jan 14, 2025

This PR allows to integrate optional stencils using Liskov. The GT4Py stencils are ignored if their module e.g. advection is not specified explicitly at compilation. The motivation for this feature is that the performance of some modules (e.g. advection and graupel) is not yet satisfying but keeping them in a separate branch is a lot of overhead.

More specifically this PR:

    adds a new argument parameter optional_module to the START STENCIL liskov directive to specify which optional module the stencil belongs to, e.g. optional_module=advection.
    adds a new option --enable_optional_stencil to the liskov CLI to enable the optional stencils and specify which module. e.g. --enable_optional_stencil=advection. Corresponding PR in icon-exclaim adds the changes in the icon_liskov preprocessor command in configure and CMakelist.txt.

---------

Co-authored-by: Nina Burgdorfer <Nina.Burgdorfer@meteoswiss.ch>
Co-authored-by: samkellerhals <kellerhalssamuel@gmail.com>
Co-authored-by: Daniel Hupp <daniel.hupp@meteoswiss.ch>
Co-authored-by: Nicoletta Farabullini <41536517+nfarabullini@users.noreply.github.com>
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