Sent: Wednesday, November 13, 2024 at 8:11 PM From: "home user via users" users@lists.fedoraproject.org To: users@lists.fedoraproject.org Cc: "home user" mattisonw@comcast.net Subject: Re: gcc/gsl
On 11/13/24 11:32 AM, Patrick Dupre via users wrote:
Hello,
I am not sure this issue is entirely relevant on this mailing list. Maybe you could redirect me.
The same application (relatively heavy code), provides different values when it is run and compiled on 2 different machines. Both F40 (last update) gcc (GCC) 14.2.1 20240912 (Red Hat 14.2.1-3) One Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz The other one Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz Actually, this happens when I use the gsl library. gsl-devel-2.7.1-8.fc40.x86_64 for integration (gsl_integration_cquad). Before integration, the values are strictly identical. The same Makefile is used. Now, if I copy the code generated by the machine A on machine B, I get the same results as it had been run on machine A. The size of both codes are slightly different. I conclude that the issue is due to the compiler. Indeed, the difference in the generated values seems pretty constant, i.e., it seems proportional to the value itself: of the order 2.7e-8 (relative difference) i.e. a lot higher than the accuracy of the machine: < 1e-35.
Which one is the good one? Why this behavior? Can I solve the issue?
Thank for any help.
(just some thoughts)
It's been a long time, but I recall that some libraries are linked in during the build, and some (shared libraries?) are linked in at run time. Is the gsl identical (version, size, etc.) on both machines? Is the gsl linked during the build or at run time?
The final binary code is generated with the option -lgsl (dynamic )
Maybe try simple math programs (a square root, a trig function, and so on), same source code on both machines. If the answers are different, then it seems likely to be the gsl.
As I said, the maths are OK until the integration
Does the diff command confirm that source, makefile, and libraries are identical? (Copy from one machine to the other, then do the diff.)
The c code and the Makefile are strictly identical (cp -a) libraries are strictly identical
Does the diff command confirm that input data files are identical?
No input file (input parameters are in the c code).
-- _______________________________________________ users mailing list -- users@lists.fedoraproject.org To unsubscribe send an email to users-leave@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/users@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue