OMP vs NOOMP bit-comp fail at qsat call with CCE high #292
MichaelWhitall
started this conversation in
UM
Replies: 1 comment
-
An update; I had a vague recollection that this problem has happened before elsewhere, and turned out to be a Cray compiler issue associated with inlining subroutine calls. So I took a wild guess and added |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi folks,
One of my tickets is currently getting a "pink fail" in rose stem due CCE high NOOMP changing answers (only at the level of floating-point rounding error), but CCE high OMP preserving KGO exactly, so that the two have diverged. I've traced the change in answers for the NOOMP run to a call to
qsat
inpc2_bm_initiate.F90
, and have confirmed that all the inputs to that qsat call were identical between the OMP and NOOMP runs. Ticket (and link to the dev branch) are here:UM:#7407
The qsat call that is changing answers is the one now at L703 of pc2_bm_initiate.F90 (and strangely only that one, not the virtually identical one at L727).
Presumably this is happening because CCE has started making a different choice about how to optimise the affected qsat call depending on whether using OMP or not (I have heavily refactored the surrounding code in order to add new functionality under switches). I've heard of this happening before, but not sure how to fix it.
Does anyone know how to force CCE to make the same optimisation choices with and without OMP? Is there a compiler directive or something?
Cheers!
Mike
Beta Was this translation helpful? Give feedback.
All reactions