-
Notifications
You must be signed in to change notification settings - Fork 28
Decompose across panels #220
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
base: main
Are you sure you want to change the base?
Conversation
|
Ping @EdHone FYI |
|
This can pass science review. I already reviewed this on trac and all issues that I previously raised have been addressed. |
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 probably need to look more carefully at this, but from a very quick glance through, I can see a number of new routines, but there are no new unit tests. It adds new functionality (being able to partition over n*2 and n*3 partitions) - but none of that is tested in any rose-stem system tests. The new functionality will also need to be documented in the Core documentation.
|
It will also require a suitable test in mesh tools from a pre-partitioning point of view, for say a 2-partitions, 3-partitions |
Thanks Mike, there's only really one new routine for the get_nprocs but I'll add a unit test for it. Where is the core documentation located and are there any guides for updating them? The change is tested in the lfric_apps rose-stem system tests of the linked pull request so I thought that should be enough to cover the new functionality |
A system test in lfric_apps is good, though is insufficient. This change adds functionality to infrastructure and so should be tested within the infrastructure test suite, not an external repository. I also note that this is a linked ticket, however there is no link/reference to the actual linked ticket on the (either) PR request. The orange icons on this page take you to a linked PR page for core not apps, so you essentially have to navigate to lfric_apps and search for something that looks like its linked. Better to have an actual link on the core/lfric_app PRs. |
Sorry, I hadn't noticed there was a linked ticket with a system test - but as Ricky says, if we're adding functionality to Core, we shouldn't have to rely on a test in Apps, so it would be good to have a system test in one of the Core tests. The documentation is held in the |
…ic_core into decompose_across_panels
PR Summary
Sci/Tech Reviewer: @tommbendall
Code Reviewer: @christophermaynard
This is a port of the previous SRS ticket https://code.metoffice.gov.uk/trac/lfric/ticket/4699 & its related linked ticket https://code.metoffice.gov.uk/trac/lfric/ticket/4699 Both these tickets have already been science and code reviewed on the SRS and will go to the same reviewers here to check for any further issues.
In detail, the aim of this ticket is to modify the existing partitioning strategy so that it can partition multiple panels (either 3 sets of 2 or 2 sets of 3) into uniform rectangular domains. This will mean that the number of mpi ranks needs to only have a factor of 2 or 3 instead of 6 as a base requirement.
Using this option means that code that assumes all owned cells are on the same panel (we think only the extended mesh in the transport code) will not give the correct results here.
Code Quality Checklist
(Some checks are automatically carried out via the CI pipeline)
style guidelines
readability of the code
Testing
using this branch
acceptable (e.g. kgo changes)
tests, unit tests, etc.)
and have been allocated to an appropriate testing group (i.e. the
developer tests are for jobs which use a small amount of compute resource
and complete in a matter of minutes)
trac.log
Test Suite Results - lfric_core - core_decompose_across_panels/run1
Suite Information
Task Information
✅ succeeded tasks - 372
Security Considerations
Performance Impact
performance measurements have been conducted
AI Assistance and Attribution
of Generative AI tool name (e.g., Met Office Github Copilot Enterprise,
Github Copilot Personal, ChatGPT GPT-4, etc) and I have followed the
Simulation Systems AI policy
(including attribution labels)
Documentation
confirmed that it builds correctly
PSyclone Approval
interface, optimisation scripts, LFRic data structure code) then please
contact the
tooscollabdevteam@metoffice.gov.uk
Sci/Tech Review
Please alert the code reviewer via a tag when you have approved the SR
Code Review