Subject: Re: [boost] [gsoc] boost.simd news from the front.
From: David A. Greene (greened_at_[hidden])
Date: 2011-06-14 17:51:50
MaximYanchenko <MaximYanchenko_at_[hidden]> writes:
>> Does that seem like a reasonable use case?
> In theory, yes.
> In practice, the code can stop working when you change a compiler (sometimes
> just a new version of the same compiler)
Oh yes. We are not immune to introducing bugs. :)
> or something changes in the code around the loop, not mentioning the
> very usual case when somebody makes a simple and innocent-looking
> change to the loop code, and the auto-vectorizer silently switches
So "silently" sounds to me like a compiler bug. Most vectorizing
compilers have ways of telling the user exactly what they did or did not
do. In my opinion, a compiler that does not have this capability is of
little use to the HPC user. In that case, she should use boost.simd.
> I think explicitly using Boost.SIMD (or any other explicit solution like
> BLAS/MKL/whatever) is much more robust in practice.
For certain cases I would agree. But in most cases I would hope the
compiler would do just as good a job, if not better.
There are always counter-examples. :)