Boost logo

Boost :

From: walter_at_[hidden]
Date: 2001-03-13 15:17:31


Hello,

David Abrahams wrote:

> Yes, and I have been wondering recently how much of a performance
boost is
> achieved through expression templates.

The boost is impressive (for me).

> After all, if matrices are big, the
> cost of operations should significantly outweigh the cost of runtime
> expression analysis.

Even if the matrices are small and the expressions are somewhat
complex, you will notice a certain difference.

> My very brief experience shows that at the very least, we should
consider
> complete documentation to justify an effort.

Hm. Who likes to write documentation? :-)

> The question remains whether
> there is any non-redundant code to be written.

I am undecided.

>> One important question at the beginning was, whether we should try
to
>> support rank-n tensors like Blitz++ and POOMA. We decided not to.
>
> What factors influenced that decision?
> In most of the work I anticipate doing, I won't need anything
bigger than
> rank 2.
> That might be reason enough to limit the scope.

I also do not know any common numerical procedure needing a rank 3
tensor.

> Check. Regarding the inner-/outer- product issue, I recall seeing a
post
> somewhere about simulating new operators (e.g. exponentiation) with
a
> notation like this:

> A *exp* B

Oops. I have to think about that.

>> This eventually involves the need to
>> incorporate a meta meta method like PETE to generate templates in
C++!
>
> We might consider hijacking PETE ourselves. That's why they wrote
it that
> way :-)

I am happy, that we even had no need to use the preprocessor until
now to get our expression template machinery working. Instead we are
using the Barton-Nackman trick extensively.

>> This is an interesting question: should a boost matrix library run
>> under MSVC for example?
>
> It's tempting to try since MSVC actually generates very good
machine code.

Yep. I was quite surprised, when I realized that.

> At the same time, I think its limited template capability put
serious
> expression template work beyond its reach.

Hm. I nevertheless hope, that our work is serious. ;-)

Kind regards

J. Walter


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk