Subject: Re: [boost] [gsoc] boost.simd news from the front.
From: Joel falcou (joel.falcou_at_[hidden])
Date: 2011-06-10 19:34:40
On 10/06/11 18:05, David A. Greene wrote:
> For writing new code, I contend that a good compiler, with a few
> directives here and there, can accomplish the same result as this
> library and with less programmer effort.
I dont really think so, especially if you take your "portable" stuff in
> A simple example:
> void foo(float *a, float *b, int n)
> for (int i = 0; i< n; ++i)
> a[i] = b[i];
> This is not obviously parallel but with some simple help the user can
> get the compiler to vectorize it.
Seriously, are you kidding me ? This is a friggin for_all ...
You can not get more embarrasingly parallel.
> Another less simple case:
And this accumulate, they are like the most basic EP example you can get.
> This is much less obviously parallel, but good compilers can make it so
> if the user allows slightly different answers, which they often do.
Yeah and any brain dead developper can write the proper
boost::accumulate( simd::range(v), 0. )
to get it right.
So, who's the compiler's daddy here ?
> Can you explain why not? Assembly code in and of itself is not bad but
> it raises some maintainability questions. How many different
> implementations of a particular ISA will the library support?
Because it is C functions maybe :E
Currently we support all SSEx familly, all AMD specific stuff and
Altivec for PPC and Cell adn we have a protocol to extend that.
> 4 floats are available. That does not mean one always wants to use all
> of them. Heck, it's often the case one wants to use none of them.
Not usign all element in a SIMD vector is Doing It Wrong.
> I'm demonstrating what I mean by "performance portable." Substitute
> "GPU" with any CPU sufficiently different from the baseline.
I wish you read about what a "library scope" and "rationale" mean.
Are you complaining that Boost.MPI dont cover GPU too ?
> Intel and PGI.
Ok, what guys on non intel nor PGI supproted machine does ?
Cry blood ?
Someone is trolling someone hard here I suppose ...
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk