-
Notifications
You must be signed in to change notification settings - Fork 116
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
Random123 behavior tests #2773
Random123 behavior tests #2773
Conversation
…y random123(1,2) )
✔️ ff25ae7 -> Azure artifacts URL |
This comment has been minimized.
This comment has been minimized.
✔️ e3befee -> Azure artifacts URL |
This comment has been minimized.
This comment has been minimized.
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #2773 +/- ##
==========================================
- Coverage 67.20% 67.20% -0.01%
==========================================
Files 564 565 +1
Lines 104246 104277 +31
==========================================
+ Hits 70060 70080 +20
- Misses 34186 34197 +11 ☔ View full report in Codecov by Sentry. |
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.
Nice!
I have few minor comments that we can address and we get this merged.
✔️ 2a588a2 -> Azure artifacts URL |
This comment has been minimized.
This comment has been minimized.
The test is not working with OpenACC/OpenMP, because it is exactly the failure mode of stateful RNGs in the parallel environment :) I can rewrite it properly, but the question is what exactly we should test, there are many options (e.g. there should be no duplicate values etc). |
The usage is always a separate stream for every physical element that needs a random stream. All those physical elements are potentially computed in parallel. So I think it is most realistic for your test to have a double loop where the outer loop represents time steps and the inner loop is over elements. i.e. something like
Every res element is statistically independent of all the other res elements in the interval 0 to 1 (I'm not sure 0.0 or 1.0 are part of that interval.) And res should be the same regardless of the degree of omp or acc parallelization. |
✔️ ffe0d2b -> Azure artifacts URL |
✔️ acd61d8 -> Azure artifacts URL |
✔️ 0e19aa1 -> Azure artifacts URL |
This comment has been minimized.
This comment has been minimized.
✔️ fd9bb33 -> Azure artifacts URL |
This comment has been minimized.
This comment has been minimized.
✔️ 69d9d5b -> Azure artifacts URL |
Quality Gate passedIssues Measures |
✔️ ea1930c -> Azure artifacts URL |
Included a smoke test to see if Random123 actually works (it is fully deterministic, so we should get exactly the same output for a particular set of parameters).
Probably should also include some functional tests to see if our distribution generators work too.