Hi Heinrich, > the appended file test.mod is examples/threads/clustering.mod with > appended line > > printf {t in T} "%d -> %d\n", t, pt[t]; > > Essentially the line prints out part of the generated problem. > > The output on x86-64 ends with: > > 49 -> 608 > 50 -> 334 > Model has been successfully processed > > The output on ARMv7 ends with: > > 49 -> 852 > 50 -> 472 > Model has been successfully processed > > How can it be that the generated model differs depending on the CPU > architecture?
I think this is due to round-off errors, because you are using floating-point computations in your model. Please conduct the following experiment: move the statement printf {t in T} "%d -> %d\n", t, pt[t]; immediately before 'minimize', i.e. make it the very first one. And then compare the output for both platforms. BTW, does ARMv7 use the same floating-point representation (including long double) as x86-64? > > If I run > printf {1..10000} "%16.15f\n", Uniform01(); > I get the same result on both architectures: > > 0.443241402972490 > Model has been successfully generated > > So it is not a problem in the random number generation. > > If I remove all variables and constraints from appended test.mod I also > get the same result on both architectures. > Best, Andrew Makhorin _______________________________________________ Bug-glpk mailing list Bug-glpk@gnu.org https://lists.gnu.org/mailman/listinfo/bug-glpk