|
Boost : |
Subject: Re: [boost] Going forward with Boost.SIMD
From: Evgeny Panasyuk (evgeny.panasyuk_at_[hidden])
Date: 2013-04-21 09:01:12
20.04.2013 3:37, Mathias Gaunard:
>> For instance, there is FMA instruction "d=a+b*c" - yes, your proposal
>> have appropriate fma function in <cmath>.
>> But imagine that some new architecture would have "double FMA"
>> instruction like: "f=a+b*c+d*e", or even more complex instruction: "2x2
>> matrix multiplication".
>
> It is relatively easy for compilers to transform a*b+c to fma(a,b,c)
> (even if the operations involved are SIMD intrinsics). As a matter of
> fact, compilers already do it.
And what is your point? Do you mean that we should rely on auto-vectorizer?
Quote from proposal:
"Autovectorizers have the ability to detect code fragments that can be
vectorized. This automatic process nds its limits when the user code is
not presenting a clear vectorizable pattern (i.e. complex data
dependencies, non-contiguous memory accesses, aliasing or control ows).
The SIMD code generation stays fragile and the resulting instruction
ow may be suboptimal compared to an explicit vectorization."
-- Evgeny Panasyuk
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk