[clean-list] Matrix timings
Sven-Bodo Scholz
sbs@informatik.uni-kiel.de
Fri, 2 Nov 2001 19:49:10 +0100
On Fri, Nov 02, 2001 at 05:57:26PM +0100, John van Groningen wrote:
> Sven-Bodo Scholz wrote:
> >...
> >Clean-solution: John's solution posted Nov 2000 (complete version at the end of this posting)
> >
> >all timings on a SUN UltraSPARC 450MHz:
> >
> >size Clean-time (s) SAC-time (s)
> >
> >300x300 0.8 0.3
> >1000x1000 63.5 33.4
> >...
>
> I have written a faster matrix multiplication in Clean. I have included the code at the end of the message.
Well done 8-)
But, if I understand your code correctly, what you do is to introduce blocking
in order to improve your cache behavior, right?
To keep it on fair grounds I did not enable our built-in blocking scheme.
If I do so (which requires a compiler option to be set rather than
rewriting my program), I obtain better results as well:
SUN UltraSPARC 450MHz( 1000x1000) : 33.4 s (compiler introduced blocking off)
SUN UltraSPARC 450MHz( 1000x1000) : 10.8 s (compiler introduced blocking on)
whereas you new version seems to require more than 30 secs right?
So, using blocking seems to be more beneficial for the SAC variant!?
Regards,
Sven-Bodo
--
Sven-Bodo Scholz University of Kiel
email: sbs@informatik.uni-kiel.de Department of Computer Science
http://www.informatik.uni-kiel.de/~sbs/ Herman-Rodewald-Strasse 3, 24118 Kiel
Phone: +49-431-880-4482 Germany