You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A --strict build flag that passes compile options that enforce floating point consistency. This would be used for generating goldenfiles and on the runners.
These need to be documented for the relevant compilers. GCC, CCE, Intel, and NVHPC.
In practice, the compilers that seem to need many flags may actually not need so many, since one flag could automatically trigger the others.
The default is -Knoieee and the compiler does not provide special compilation semantics.
-K<flag>
ieee
Perform floating-point operations in strict conformance with the IEEE 754 standard.
Some optimizations are disabled, and on some systems a more accurate math library is
linked if -Kieee is used during the link step.
and
[no]fprelaxed[=option]
Perform certain floating point intrinsic functions using
relaxed precision.
@okBrianhttps://www.godbolt.org/ I've been playing with this and have not had much success... it suggests visibly different assembly for the two compilers (though perhaps consistent across compiler versions)... even when using special compiler flags.
A
--strict
build flag that passes compile options that enforce floating point consistency. This would be used for generating goldenfiles and on the runners.These need to be documented for the relevant compilers. GCC, CCE, Intel, and NVHPC.
In practice, the compilers that seem to need many flags may actually not need so many, since one flag could automatically trigger the others.
and
https://stackoverflow.com/questions/7295861/enabling-strict-floating-point-mode-in-gcc I gather
and from here https://docs.oracle.com/cd/E19059-01/stud.10/819-0492/3_options.html#75972 we have (update: this one doesn't work)
and from here https://gcc.gnu.org/wiki/FloatingPointMath
would have to add all these to be sure they all work on an x86 CPU for typical GNU compilers.
and
and
and
The text was updated successfully, but these errors were encountered: