auto vectorization notes
Bruce Carneal
bcarneal at gmail.com
Sat Mar 28 06:56:14 UTC 2020
On Saturday, 28 March 2020 at 05:21:14 UTC, Crayo List wrote:
> On Monday, 23 March 2020 at 18:52:16 UTC, Bruce Carneal wrote:
>> [snip]
>> (on the downside you have to guard against compiler code-gen
>> performance regressions)
>>
>
> auto vectorization is bad because you never know if your code
> will get vectorized next time you make some change to it and
> recompile.
> Just use : https://ispc.github.io/
Yes, that's a downside, you have to measure your performance
sensitive code if you change it *or* change compilers or targets.
Explicit SIMD code, ispc or other, isn't as readable or
composable or vanilla portable but it certainly is performance
predictable.
I find SIMT code readability better than SIMD but a little worse
than auto-vectorizable kernels. Hugely better performance though
for less effort than SIMD if your platform supports it.
Is anyone actively using dcompute (SIMT enabler)? Unless I hear
bad things I'll try it down the road as neither going back to
CUDA nor "forward" to the SycL-verse appeals.
More information about the Digitalmars-d-learn
mailing list