[Bug libfortran/51119] MATMUL slow for large matrices
jvdelisle at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Nov 8 00:55:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51119
--- Comment #34 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> ---
Created attachment 39987
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39987&action=edit
A test program
Just ran some tests comparing reference results and results using -Ofast.
-Ofast does reorder execution..
Using kind=8
DELTA = (reference - result) and looking at the ranges of minval and maxval
with several random matrices one sees (4 cases):
Using some smaller matrices. see attachment for test program.
delta minval delta maxval
-2.2204460492503131E-016 2.2204460492503131E-016
-4.4408920985006262E-016 4.4408920985006262E-016
-2.2204460492503131E-016 2.2204460492503131E-016
-4.4408920985006262E-016 2.2204460492503131E-016
So the wiggling one gets in the least significant bits may matter to some.
With larger arrays (error amplification):
1000 x 1000 -1.0231815394945443E-012 8.8107299234252423E-013
2000 x 2000 -2.7284841053187847E-012 2.6716406864579767E-012
Compiling the test program with -Ofast so that the reference method has the
same optimization as MATMUL, one gets.
2000 x 2000 0.0000000000000000 0.0000000000000000
Opinions welcome.
More information about the Gcc-bugs
mailing list