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

[Py2f]: Cache Fortran pointers in dictionary #616

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

Conversation

samkellerhals
Copy link
Contributor

@samkellerhals samkellerhals commented Dec 2, 2024

Description

Unpacks pointers from Fortran only once and then caches them in a dictionary. This reduces overhead from repeatedly unpacking pointers at runtime, whilst the improvement is relatively small for diffusion ~5%, it may become more significant in cases where there are a lot of arrays passed to the embedded Python function.

@samkellerhals samkellerhals changed the title [Py2f]: Add field caching [Py2f]: Use FrozenProgram in diffusion and cache fields Dec 9, 2024
@samkellerhals samkellerhals changed the title [Py2f]: Use FrozenProgram in diffusion and cache fields [Py2f]: Cache fields Dec 11, 2024
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.

@samkellerhals samkellerhals changed the title [Py2f]: Cache fields [Py2f]: Cache Fortran pointers in dictionary Dec 11, 2024
@samkellerhals
Copy link
Contributor Author

cscs-ci run default

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.

1 participant