--- Comment #14 from jb at gcc dot gnu dot org 2008-02-26 21:15 ---
Closing as fixed. Timings for a small test program comparing matrix
multiplication done manually vs. libgfortran for real and complex.
Results without the committed patch (-O3 -funroll-loops, 1.6 GHz Pentium-M):
Manual
--- Comment #13 from jb at gcc dot gnu dot org 2008-02-25 19:28 ---
Subject: Bug 29549
Author: jb
Date: Mon Feb 25 19:27:28 2008
New Revision: 132638
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=132638
Log:
2008-02-25 Janne Blomqvist <[EMAIL PROTECTED]>
PR fortran/2
--- Comment #12 from jb at gcc dot gnu dot org 2008-02-25 19:21 ---
Subject: Bug 29549
Author: jb
Date: Mon Feb 25 19:20:48 2008
New Revision: 132636
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=132636
Log:
2008-02-25 Janne Blomqvist <[EMAIL PROTECTED]>
PR fortran/2
--- Comment #11 from jb at gcc dot gnu dot org 2008-02-19 19:33 ---
Patch here: http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00788.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29549
--- Comment #10 from jb at gcc dot gnu dot org 2008-02-16 22:33 ---
Actually, we could compile the entire libgfortran with -fcx-fortran-rules as
well:
Index: Makefile.am
===
--- Makefile.am (revision 132367)
+++ Makefile.am
--- Comment #9 from rguenth at gcc dot gnu dot org 2008-02-16 21:58 ---
Actually the middle-end parts are ok for 4.4 if you add proper documentation
for
the flag. But please post it once stage1 opens.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29549
--- Comment #8 from fxcoudert at gcc dot gnu dot org 2008-02-16 19:00
---
The Makefile.am part was messed up by my terminal:
Index: libgfortran/Makefile.am
===
--- libgfortran/Makefile.am (revision 132353)
+++ libgfor
--- Comment #7 from fxcoudert at gcc dot gnu dot org 2008-02-16 18:50
---
Thomas is right: -fcx-limited-range sets flag_complex_method to 0, but already
with flag_complex_method == 1 we have some rather good figures. Here are the
execution times of 300x300 matmul on my MacBook Pro (i386
--- Comment #6 from tkoenig at gcc dot gnu dot org 2008-02-10 22:47 ---
(In reply to comment #5)
> The big culprit seems to be -fcx-limited-range. The other flags enabled by
> -ffast-math help very little.
C has some strange rules for complex types, which are mandated by the
C standard
--- Comment #5 from jb at gcc dot gnu dot org 2008-02-10 19:19 ---
The big culprit seems to be -fcx-limited-range. The other flags enabled by
-ffast-math help very little.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29549
--- Comment #4 from jb at gcc dot gnu dot org 2006-11-04 22:16 ---
For the C version with 1d arrays, the benchmark results, with gfortran results
for comparison, are
Complex version:
-O3 funroll-loops -mfpmath=sse -msse2
1.32
above + fast-math
0.38
gfortran -O2:
0.32
Real versi
--- Comment #3 from jb at gcc dot gnu dot org 2006-11-04 21:24 ---
Well, redoing the C benchmark above to use 1d arrays and manual index
calculations, the results are now essentially the same as for the Fortran
version. And a commercial compiler produces about the same results for the
Fo
--- Comment #2 from jb at gcc dot gnu dot org 2006-11-04 20:34 ---
I did some experimenting, and it seems the C version of a trivial matrix
multiply program is much slower than the same program written in Fortran?
Switch the commented declarations and c[i][j] = 0 in the loop to get the
--- Comment #1 from jb at gcc dot gnu dot org 2006-11-04 14:15 ---
Confirmed.
I noticed it too when I was reviewing FX's external-blas patch. But the complex
version of matmul is generated from the same m4 sources as the real versions.
It might be that the middle- and/or back-end genera
14 matches
Mail list logo