Hello Peter !

Every day is a day to learn something new !

Thank you for reply !

Indeed using this option I'm getting identical outputs.

With the modifications I did to GLPK 4.65 (one of then to allow eliminate "xassert" defining "-DNDEBUG") https://github.com/mingodad/GLPK

====

CFLAGS="-g -O3 -march=native -ffp-contract=off -DWITH_SPLAYTREE -DNDEBUG -flto" ./configure

====

Cheers !

On 17/7/20 18:04, Peter Cawley wrote:
Perhaps you are looking for -ffp-contract=off. With the default -ffp-contract=fast, GCC will make use of FMA instructions if the -march architecture supports them. FMA instructions are usually more accurate than separate multiply then add, but do not give bitwise identical results to a multiply followed by an add (because FMA has no rounding step between the multiply and the add).

On Fri, Jul 17, 2020 at 4:34 PM Domingo Alvarez Duarte <[email protected] <mailto:[email protected]>> wrote:

    Hello !

    Doing tests with GLPK I noticed that if I compile it with
    "-march=native
    -g -O2" on a computer with an "i7" processor the solution for several
    files change, the objective function result remain the same but other
    values varies from model to model.

    Example dist.mod:

    ====

          6 rlim[w96]    NU             3             0 3 -11283.2 #
    only -O2
    ====

          6 rlim[w96]    NU             3             0 3 -11283.1 #
    -O2 -march=native

    ====

    Example mfasp.mod:

    ====

          1 r[1,2]                      9             1   # only -O2
          2 r[2,3]                      2             1
    ====

          1 r[1,2]                      1             1   # -O2
    -march=native
          2 r[2,3]                     10             1
    ====


    Cheers !


Reply via email to