-
Notifications
You must be signed in to change notification settings - Fork 0
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
Add Fortran Serialisation Framework #175
Conversation
* Parse granule using f2py * Revert icon4pygen rename * Parse derived types (collect type info in dependencies) * Fully parse variables and inject line numbers * Improve parsing tests
* Add basic deserialisation * Add deserialiser and tests * Add basic savepoints * Move f90 sources to testutils * Create maximum two savepoints per subroutine
* Add basic structure * Fix tests * Add codegen templates * Add more codegen * Generate code in correct location * Cleanup and add docstrings * Remove todo * Update fortran granule
* CLI created * Input parameter renaming, dependencies made optional * Update cli.py --------- Co-authored-by: Samuel <[email protected]>
Introduces fixes to the f2ser code generation template.
* Remove superflous methods * cleanup
* No dependency test created * Missing dependency test added * Added test for non existing granule input file * Add small fixes --------- Co-authored-by: samkellerhals <[email protected]>
Co-authored-by: samkellerhals <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some minor changes, also many things are open for discussion of course, since I am not sure my remarks make sense everywhere.
pyutils/src/icon4py/icon4pygen/bindings/codegen/render/field.py
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess we should put CI/CD in place for the Liskov serialization mode, so we do not break it when we change the dycore integration in ICON.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Accidentally re-opened review.
Alright, looks good! |
Description
Provide a flexible framework for serializing Fortran execution to improve testing and performance optimizations.
Currently we foresee two use cases:
See https://hackmd.io/tPnjCjfjTjy2XJfHtffv3w?both
This PR introduces
f2ser
: A Fortran Granule Interface Parser, which parses a given granule and generatesppser
serialisation statements for each variable in theinit
andrun
subroutines.Additions to to
liskov
, enabling the generation ofppser
serialisation statements using the--ppser
option.Build Integration
The changes in this PR https://github.com/C2SM/icon-exclaim/pull/159 are necessary for the liskov serialisation code to compile and run.