Boost logo

Boost :

Subject: Re: [boost] [gsoc] boost.simd news from the front.
From: David A. Greene (greened_at_[hidden])
Date: 2011-06-14 17:38:35


Mathias Gaunard <mathias.gaunard_at_[hidden]> writes:

> We generate something along the lines of
>
> float tmp = 0.f;
> for(int i ....)
> tmp += d[i] + e[i];
>
> for(int i ...)
> f[i] = b[i] + 3 * c[i] + tmp;
>

Will NT2 fuse the loops to get rid of the temporary? Does it do
strip-mining or other such things (beyond that needed for
vectorization)? Does NT2 try to generate a loop nest with the
appropriate loops interchanged to improve performance?

Again, these are not criticisms, I'm simply trying to get a better grasp
of it.

I am really, really interested in this. Abstracting loops for HPC is a
really good idea, in my mind. It would be best if there was an option
to leave the resulting loops scalar in case the user wants to try to
have the compiler vectorize them.

                           -Dave


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