[Interest] SIMD accelerated wrappers for relevant Qt container classes (QVector, ...) or QByteArray?
Allan Sandfeld Jensen
kde at carewolf.com
Tue May 9 22:49:53 CEST 2017
On Tuesday 09 May 2017, René J. V. Bertin wrote:
> Thiago Macieira wrote:
> > QString is already SIMD accelearated and has been since Qt 4.5.
> I'm perverse but not to the point that I'd consider using QString for math
> operations :)
> > If you want any inline operations to become SIMD accelerated, compile
> > your code with -O3.
> That'd only be as good as the compiler's auto-vectorisation, which rarely
> has a significant impact on anything but the simpler operations.
Anything you can write with SIMD arrays is simple enough that the compiler can
also auto-vectorize it as well. Just pretend the arrays you have are SIMD
arrays and write small simple loops that does the individual operations on
them, and they will be auto-vectorized
> Also, to get SIMD support and auto-vectorisation you need the correct
> -march CPU flag, no?
You would need that too with any SIMD-library. But at least on x64 SSE2 comes
for free, so some vectorization is always enabled. (same with amd64 and neon)
More information about the Interest