The Matrix to end all Matrix classes (Let's dream!) - BLADE 0.4Alpha

Don Clugston dac at nospam.com.au
Tue Nov 20 08:48:59 PST 2007


Craig Black wrote:
> "Don Clugston" <dac at nospam.com.au> wrote in message 
> news:fhv00l$13eq$1 at digitalmars.com...
>> For reference, here's the state of BLADE:
>> -------
> 
> Very very cool Don!  This obviously has huge potential.  Do you have any 
> plans to support GPU's or multicores?  Have you looked into SSE3 or SSE4 to 
> see if there are any new instructions that would be useful?

Yes. Although it seems to me that the GPU world is about to change radically -- 
using OpenGL looks like a horrible hack without long-term future. I'll wait 
until we get a decent API, I think.
I have been looking at SSE3, 4, and 5, but I don't even have a Core2 machine...

> Double precision support is the most important to me, but I am also 
> interested in single precision and extended precision.  To what degree are 
> they supported?  

Yes.

(b) generates X87, SSE, SSE2, or inline D code, depending on the complexity of 
the expression and the types involved.

I assume that SSE instructions can't be used for extended
> precision operations.

Yes. I don't think they're even worth doing when strided arrays are involved, 
except in special cases.

> 
> So there is only support for one dimensional arrays?  When will two 
> dimensional arrays be supported? 

Strided arrays are next, then 2D.

  Once two dimensional arrays are
> implemented, a simple test for the code generator would be to generate 
> optimized code for single precision multiplication of 3x3 or 4x4 matrices. 
> Optimal code for single precision 3x3 and 4x4 matrix multiplication is 
> widely available on the internet.
> 
> -Craig 
> 
> 



More information about the Digitalmars-d mailing list