-
Notifications
You must be signed in to change notification settings - Fork 66
Fix omp reproducible #727
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?
Fix omp reproducible #727
Conversation
|
Currently running tests with 4 threads to see if we really are bit-reproducible. |
|
While this compiles with Using |
|
@dsidoren, could you have a look at this PR and issue? |
|
@dsidoren, does it run with or without being reproduciable? |
|
Relevant or redundant? 20fa8de |
- icb_step.F90: Change area_ib_tot from PRIVATE to REDUCTION(+:) for proper parallel accumulation (fixes ftn-7208 warnings at lines 574 and 798) - oce_ale_pressure_bv.F90: Change f_min from PRIVATE to FIRSTPRIVATE to preserve initialization value (fixes ftn-7208 warning at line 3037) - write_step_info.F90: Remove loc_deta from REDUCTION clause as its result is unused (fixes ftn-7276 warning at line 117)
|
I added the fixes from the cray ftn warnings here as well. Perhaps it helps. At least it should not break anything. |
Fix 'unterminated #else' error by correctly placing __openmp_reproducible check inside the ENABLE_OPENACC=false branch. The nested #ifndef was incorrectly placed inside the #else block, causing a preprocessor error.
Turning on the
-DOPENMP_REPRODUCIBLE=ONflag results in many compiler errors with gcc 13 on levante.Here are all the changes necessary to compile again.