-
Notifications
You must be signed in to change notification settings - Fork 109
Add hard coded patched for tests #942
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: master
Are you sure you want to change the base?
Add hard coded patched for tests #942
Conversation
…ote the 80s of each case to test values, following the suite of 70s be inheretived value. No particular reason for this other than to keep it away from interesting cases.
… how these patches are added. Will do that soon.
…reading up on patch types
… geometry. There is no way to handle that in the code currently, so I will be adding it in a future commit to resolve the final two examples
…, adn 15 in a future release
…erences to hard coded patches in the case documentaiton
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Explore these optional code suggestions:
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #942 +/- ##
==========================================
+ Coverage 43.76% 44.07% +0.30%
==========================================
Files 68 68
Lines 18378 18227 -151
Branches 2292 2289 -3
==========================================
- Hits 8044 8033 -11
+ Misses 8945 8829 -116
+ Partials 1389 1365 -24 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
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.
added several comments. also, some of these hardcoded examples are important. it would be useful to somehow check that you didn't break the case when you switched from analytical to hardcoded.
also probably won't merge this until analytical examples are added (but skipped in the test suite). Presumably, we only need a few of these.
…lchain to skip them so that they do not slow down the test suite.
Converted these iterators to integers.
User description
Description
The primary intent of this PR is to remove hardcoded patches from the test suite, preventing the need to recompile them and saving time during testing. In doing so, I also refactored the geometries because we had no existing support for creating hard-coded patches on any geometries other than line segments, rectangles, and cuboids. Now we can generate hard-coded patches on almost any geometries except for the airfoil geometries (I left a TODO about this) and the model (STL) geometry (this will require it's own dedicated refactor). I also changed every test that used analytic patches to use new hard coded patches, added comments to some code in the toolchain, and updated the docs to note that the old analytic geometry patches are deprecated. I left a print statement warning that those geometries are deprecated, and we should delete them after some time. For now, I had then call subroutines that recreated their original functionality.
TODO :: After this PR, we should go back and add the analytic patches as examples that will be skipped so that they are present for external reference.Type of change
Please delete options that are not relevant.
Scope
If you cannot check the above box, please split your PR into multiple PRs that each have a common goal.
How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Provide instructions so we can reproduce.
Please also list any relevant details for your test configuration
./mfc.sh test -j $(nproc)
)Test Configuration:
All of my testing was done locally on Ubuntu with the intel and non-intel compilers.
Checklist
docs/
)examples/
that demonstrate my new feature performing as expected.They run to completion and demonstrate "interesting physics"
./mfc.sh format
before committing my codeIf your code changes any code source files (anything in
src/simulation
)To make sure the code is performing as expected on GPU devices, I have:
nvtx
ranges so that they can be identified in profiles./mfc.sh run XXXX --gpu -t simulation --nsys
, and have attached the output file (.nsys-rep
) and plain text results to this PR./mfc.sh run XXXX --gpu -t simulation --rsys --hip-trace
, and have attached the output file and plain text results to this PR.PR Type
Enhancement, Tests
Description
Replace analytical patches with hardcoded patches for test optimization
Add hardcoded patch support to all geometry types
Deprecate old analytical patch geometries (7, 13, 15)
Update test cases to use new hardcoded patch system
Changes diagram
Changes walkthrough 📝
4 files
Add 1D hardcoded patch cases 180-181
Add 2D hardcoded patch cases 280-282
Add 3D hardcoded patch case 380
Integrate hardcoded patches into geometry functions
11 files
Replace analytical with hardcoded patch 180
Replace analytical with hardcoded patch 180
Replace analytical with hardcoded patch 180
Replace analytical with hardcoded patch 180
Replace analytical with hardcoded patch 180
Replace analytical with hardcoded patch 180
Replace analytical with hardcoded patch 181
Replace analytical with hardcoded patch 281
Replace analytical with hardcoded patch 280
Replace analytical with hardcoded patch 282
Replace analytical with hardcoded patch 380
2 files
Add comments to analytical patch generation
Update patch documentation and deprecation notes
1 files
Add Intel compiler CI workflow