-
Notifications
You must be signed in to change notification settings - Fork 45
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
FESOM2 data not fully reproducible on ollie #145
Comments
The issue is explained here: https://techdecoded.intel.io/resources/floating-point-reproducibility-in-intel-software-tools/ |
Should this also get changed in fesom1? |
@chrisdane i think this also could be changed in FESOM1.4, although i never checked FESOM1.4 on ollie with respect to that issue but also there the exp() funktion should kick in. But also keep in mind that it was an ollie specific problem, neither mistral or hlrn showed this behaviour, maybe they hid this option somewhere in the background. |
Fixed in #146 |
#146
Problem:
Solution from Natalja Rakowsky:
What happens from Natalja Rakowsky:
1.) IEEE legt sich bei transzendenten Funktionen nicht fest.
2.) Vektor-, Skalar- und alternativ etwas ungenauere, schnellere Implementierungen (mit -no-fast-transcendentals erlaubt) können drei verschiedene Ergebnisse liefern. In heutigen Systemen offenbar: Es ist nicht deterministisch, welcher Weg beschritten wird.
3.) Mit "-no-fast-transcendentials" legt man fest, dass immer die skalare Implementierung benutzt wird. Damit sind Schleifen mit exp, sin, cos,... nicht vektorisierbar und damit teils deutlich langsamer.
Intel hat seit Version 18 darum alternativ im Angebot, mit "-fimf-use-svml" exp + co immer deterministisch durch die Vektor-Implementierung zu ziehen. Das ist skalar kaum langsam, vektorisiert deutlich schneller, und sollte bitte, bitte auch deterministische Ergebnisse liefern.
The text was updated successfully, but these errors were encountered: