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.
Whomever wrote this article is just misleading everyone.
First of all, they did this for other kinds of similar instruction sets before, so this is nothing special. Second of all, they measure the speedup compared to a basic implementation that doesn't use any optimizations.
They did the same in the past for AVX-2, which is 67x faster in the test where avx-512 got the 94x speed increase. So it's not 94x faster now, it's 1.4x faster than the previous iteration using the older AVX-2 instruction set.
It's barely twice as fast as the implementation using SSE3 (40x faster than the slow version), an instruction set from 20 years ago....
So yeah, it's awesome that they did the same awesome work for AVX-512, but the 94x boost is just plain bullshit.... it's really sad that great work then gets worded in such a misleading way to form clickbait, rather than getting a proper informative article.....
As someone who has done some hand coding of AVX-512, I appreciate their willingness to take this on. Getting the input vectors setup correctly for the instructions can be a hassle, especially when the input dataset is not an even multiple of 64.
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.
When this comes to the BSD's, it will be interesting to see if there is a significant difference in multimedia. I bought Intel 11th gen over 10th for it's AVX-512.
Does the BSD's heavy emphasis on code correctness, that's when the quality and security of the code will be revealed. I will watch what the OpenBSD developers say when they try to port the new code for FFMpeg.
This sounds like any standard FOSS work flow. Why are they calling it hand written code? Is that just an affect of the normalized buy start up, use code, ruin code, spin ruined code's bugs as features, release to public without any tech aupport more than a cheap ai bot to handle ruined code crashes, throw out purchased company's asset and on to the next.
Or am I missing something I'm to IT dumb to understand?
The point isn't that it's handwritten code, it's handwritten assembly. All code is written by hand to some degree, but it's normally in a higher-level language and compiles down to machine code. Assembly is basically as close as you can get to the bare hardware in terms of control.