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.




















Reply via email to