ai2cm / fv3net

explore the FV3 data for parameterization
MIT License
16 stars 3 forks source link

Rank divider for subdomain and leading dimension handling improvments. #2289

Closed frodre closed 1 year ago

frodre commented 1 year ago

Having the subdomain as a trailing dimension requires some special handling of the state outside of the RankDivider which has the core functionality of handling subdomains. This PR is an attempt to make the subdomain one of the leading dimensions that can be parallelized over naturally in any array multiplications reduce the overhead of special handling outside of RankDivider.

Currently this is in the form of an extra module for tests and a showcase of how it simplifies the train.py script. We can move whatever seems reasonable into domain.py after e2e testing. There was a lot of shape specific adjustments which had to be made to the tests. We might consider more granular tests with one integration test instead of the many integration tests, since it was a lot of work to update there.

Refactored public API:

Significant internal changes:

Coverage reports (updated automatically):