News for hackers. Stuff that matters.
Re:Gathering Intel on Intel AVX-512 Transitions by ComputerGuru on Friday January 17, 2020 @04:15PM (#22079427)
The never-ending Skylake is/was a real problem. Intel was slowly adding features in a manner where it made sense to target last n generations but then all that came to a perpetual stop and suddenly we have this new extension that you can only really use on the very latest and most expensive, with virtually no backwards compatibility.

The instructions are sufficiently different from AVX2 that any appropriate use is not as simple as sticking it behind a gate and using a smaller block size, it basically requires a completely separate (re)write to properly take advantage of.

Re:Gathering Intel on Intel AVX-512 Transitions by BeeOnRope on Friday January 17, 2020 @05:07PM (#22079979)
> The instructions are sufficiently different from AVX2 that any appropriate use is not as simple as sticking it behind a gate and using a smaller block size, it basically requires a completely separate (re)write to properly take advantage of.

I'd say yeah, you often need a rewrite of the core loop to take full advantage, but you can still more or less write AVX-style code in AVX-512 if you want, and take advantage of the width increase.

The main difference I think for most code is the way the comparison operators compare into a mask register. It would have been nice if they had just extended the existing compare into SIMD reg (0/-1 result) instructions too, to ease porting.

Re:Gathering Intel on Intel AVX-512 Transitions by eyegor on Friday January 17, 2020 @07:39PM (#22081257)
> it basically requires a completely separate (re)write to properly take advantage of.

Why? At a higher level of abstraction, you can dispatch simd instructions at the max width available. At least, that's how I work with vectorized code. Still see gains on avx512.