[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