Unfortunately, due to the complexity and specialized nature of AVX-512, such optimizations are typically reserved for performance-critical applications and require expertise in low-level programming and processor microarchitecture.
Unfortunately, due to the complexity and specialized nature of AVX-512, such optimizations are typically reserved for performance-critical applications and require expertise in low-level programming and processor microarchitecture.
very nice.
ime can usually get a pretty good performance increase with handwritten asm where appropriate. great to see it’s getting some love/
some like to squabble over asm being outdated. i don’t know if its a coincidence, but i’ve never seen someone who’s good at writing assembly say that its never useful anymore.
Though you’d get the same speedup if you used SIMD intrinsics. This is just comparing non-SIMD to SIMD.
from the article it’s not clear what the performance boost is relative to intrinsics (its extremely unlikely to be anything close to 94x lol), its not even clear from the article if the avx2 implementation they benchmarked against was instrinsics or handwritten either. in some cases avx2 seems to slightly outperform avx-512 in their implementation
there’s also so many different ways to break a problem down that i’m not sure this is an ideal showcase, at least without more information.
to be fair to the presenters they may not be the ones making the specific flavour of hype that the article writers are.
There is no comparison between a handwritten-assembly and a C version of the same implementation here. The 94x speedup is the comparison between a non-SIMD C implementation and a SIMD assembly implementation.
To be fair, people who don’t find assembly useful probably wouldn’t get good at writing assembly
for sure, its quite reasonable to say “this tool isn’t useful for me”
its another thing to say “this tool isn’t useful for anyone”