-
Notifications
You must be signed in to change notification settings - Fork 114
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 timer for outer RK loop for SSPRK33 #1686
Conversation
Review checklistThis checklist is meant to assist creators of PRs (to let them know what reviewers will typically look for) and reviewers (to guide them in a structured review process). Items do not need to be checked explicitly for a PR to be eligible for merging. Purpose and scope
Code quality
Documentation
Testing
Performance
Verification
Created with ❤️ by the Trixi.jl community. |
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.
Thanks
Tests will hopefully pass if #1684 is merged. |
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #1686 +/- ##
==========================================
+ Coverage 82.63% 83.37% +0.73%
==========================================
Files 425 425
Lines 34376 34395 +19
==========================================
+ Hits 28406 28674 +268
+ Misses 5970 5721 -249
Flags with carried forward coverage won't be shown. Click here to find out more.
☔ View full report in Codecov by Sentry. |
Head branch was pushed to by a user without write access
First, thanks for the work @DanielDoehring. I have an open question about these high allocations for the subcell limiting simulations. If I reproduce this issue correctly on my machine, "normal" elixirs also seem to have high allocation in the first run of a julia session. But for the next runs and tests of allocations they are on a normal level again.
For the subcell limiting simulations, after every simulation two allocation tests are needed to decrease the allocations.
Can this be a strange behavior of this test, or are the allocations of subcell limiting simulations just higher? With the latter, I would not understand why so much lower allocations are shown on the second attempt. In general, I understand that my simulation has more allocations since I need memory for the antidiffusive flux and all coefficients (and in this case the simulation needs about 4 times the time steps). But does this justify so much higher allocations? @ranocha And are we all fine with just increasing the maximum allowed number of allocations for subcell limiting simulations from 1,000 to 15,000? |
The additional allocations are due to the usage of the custom integrator. There seems still to be some type instability there. Compare for instance https://github.com/trixi-framework/Trixi.jl/blob/main/examples/tree_1d_dgsem/elixir_hypdiff_nonperiodic.jl which uses
without any measurement of the overall outer
thus we measure actually also the callback business among others. |
I think that was actually the reason why I deleted the timer
Okay, thanks:+1: |
I guess for comparison this makes sense (especially if you want to compare your SSPRK33 to the one of OrdinaryDiffEq) but I found it quite helpful in reporting this main loop timer since it would also detect e.g. allocations in the RK scheme, e.g. if you would have e.g. abstract float parameters of the method which would get promoted to float all the time (a completely made-up example that certainly has not and would not happen to me ... ) |
To be consistent with the other RK implementations we have, i.e.,
Trixi.jl/src/time_integration/methods_2N.jl
Line 142 in c2f0095
Trixi.jl/src/time_integration/methods_3Sstar.jl
Line 212 in c2f0095