-
Notifications
You must be signed in to change notification settings - Fork 145
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
compiler bug: broken random number generator with cce on Derecho. #495
Comments
@mjs2369 just chatting to Jeff about this. DART/assimilation_code/modules/utilities/random_seq_mod.f90 Lines 415 to 419 in 502af78
and this should be the same across compilers. |
see #495 for discussion on cce compiler
see #495 for discussion on cce compiler
For the curious: gfortran, intel on my mac and derecho give this for k. 11 numbers seeded with 13: k= 3340206418 cce on derecho gives: |
Chatting to Marlee, we think this might be a compiler bug:
|
@mjs2369 Hi Marlee, did a bug report for this get sent to cray (by you or CISL help)? |
@hkershaw-brown I don't believe so. I have a request on for CISL help under "Support wait" where they said they were going to reach out to their contact for any input/fixes, but I haven't heard back from them. I just added another comment to the request to see if there are any updates. |
Update on this issue - CISL Support responded to my request after contacting HPE/Cray This bug was patched in the lastest release of CCE. CISL IT is working to get this installed once HPE has fixed more bugs that others have reported as well. Once a 16.x.x version has been added to the stack on Derecho, I will revisit this pull request to test and hopefully close it. In the mean time, we will need to keep using Intel to use the random number generator code and therefore perturb_from_single_instance on Derecho. |
no new version of CCE on Derecho as of Jan 2023. |
@c-merchant A new 🎉 cce compiler version cce/16.0.1 is now available on Derecho. Can you give your ran_unif test a spin on Derecho with this new compiler. For reference, here's your pull request with the random number test: #549 |
This bug is fixed in cce/16.0.1 now available on Derecho. |
🐛 Your bug may already be reported!
Describe the bug
The random number generator code in DART will
not compilewith cce on Derecho.Edit: the code compiles, but gives incorrect results
More specifically, the subroutines init_ran, ran_unif, ran_gauss, and ran_gamma are all incompatible with cce. I believe this is because they all make use of code from the GNU Scientific Library:
List the steps someone needs to take to reproduce the bug.
Run ./filter with any model with "perturb_from_single_instance = .true." in the namelist OR run ./test_gaussian or ./test_gamma in DART/developer_tests/random_seq/work.
What was the expected outcome?
The executables run successfully.
What actually happened?
An run-time error halts the execution
Error Message
Please provide any error messages.
ERROR FROM:
source : random_seq_mod.f90
routine: ran_gauss
message: if both x and y are -1, random number generator probably not initialized
message: ... x, y = -3510081565.7593699, -295496494.86667526
actual mean should be close to .50
Which model(s) are you working with?
All models, also the test_gaussian, test_random, and test_gamma developer tests in DART/developer_tests/random_seq/work.
Version of DART
Which version of DART are you using?
You can find the version using
git describe --tags
v10.7.3
Have you modified the DART code?
No
Build information
Please describe:
Derecho, cce
The text was updated successfully, but these errors were encountered: