BZDEV: Re: blitz++ development

From: Joseph Weihs (joseph-w@Orbotech.Co.IL)
Date: Mon Jun 15 1998 - 03:06:18 EST


Todd Veldhuizen wrote:
>
> Hi Joseph, apologies for being slow in responding.
>
> > I have been following blitz++ for the last half year, and have put a lot
> > of thought into
> > possible extensions to it. I have done quite a lot of work at SWAR -
> > Simd within a register
> > aka MMX. I think there is a place for a SWAR version of dense arrays/
> > vectors in blitz++
> > which would have machine specific implementations for accelerated fixed
> > point and floating
> > point math. I would like to "stake out" this area of development...
>
> Sounds great. Have you done any experimenting along this line yet?
> I'm not overly familiar with SWAR stuff, except that I've poked through
> the MMX documentation.
>
> I suppose the easy way to do this would be to make e.g.
>
> class QuadInteger { ... };
>
> and then users could make Array<QuadInteger>; but this wouldn't
> be very nice for them! (Ideally the fact that it was SWAR would
> be hidden from the users, eh?)

right... we'd want something along the lines of

template <INTEGRAL>
class swar_type { ... };

swar_type<paramfloat<32>> x,y;
swar_type<paramint<16>> a,b;

            ^^ == Dr. Carlo Pescio's parametrized ints

The class swar_type would handle all the messy inline asm statements/
c-code
intrinsics for us, and would have to be platform specific and probably
compiler
specific for now.

Once we add the use of these types in blitz dense arrays, we're in the
clear from a portability point/ user knowing what exactly happening.
Obviously the user does have to know when to use SWAR types to get
the extra performance!

>
> Would the best way to do this to specialize the array expression
> evaluation kernels so that on appropriate architectures, SWAR
> capability could be used? How tough is this to do?
>

Once the kernels are patched to use "integral vector types", the pluging
in of any future SWAR architecture would be pain free....
 
> CHeers!
> Todd

-- 
Joseph Weihs    joseph-w@Orbotech.Co.IL
--------------------- blitz-dev list --------------------------------
* To subscribe/unsubscribe: mail to majordomo@oonumerics.org, with
"subscribe blitz-dev" or "unsubscribe blitz-dev" in the body of the message
* Blitz++ web page: http://oonumerics.org/blitz/



This archive was generated by hypermail 2b29 : Wed Feb 20 2002 - 04:30:04 EST