After reading that FFMPEG devs have implemented AVX-512, I wanted
to know if my Gentoo build has this enabled.
FFMPEG is a bitch to build. It has DOZENS, if not HUNDREDS, of options.
My Xeon W has full AVX-512 and this is what my Gentoo build log shows:
x86 assembler nasm
MMX enabled yes
MMXEXT enabled yes
3DNow! enabled no
3DNow! extended enabled no
SSE enabled yes
SSSE3 enabled yes
AESNI enabled yes
AVX enabled yes
AVX2 enabled yes
AVX-512 enabled yes
AVX-512ICL enabled yes
Hoorah! I have full FFMPEG AVX-512 capability!
Does AVX-512 make a fucking difference? You can bet your sweet
ass that it fucking does.
Check the FFMPEG logos:
https://upload.wikimedia.org/wikipedia/commons/thumb/5/5f/FFmpeg_Logo_new.svg/1280px-FFmpeg_Logo_new.svg.pngThe green "zigzag" pattern at the left represents the ZIGZAG SCAN
that is ubiquitous in video processing.
Usually, video is processed with 8X8 blocks of data. These blocks
need to be scanned in a zigzag fashion and this will involve many instructions.
But a zigzag scan can be accomplished through simple byte permutation and
AVX-512 has the "vpermb" instruction which can permute 64 bytes in one fell swoop!
If the block data is not 8-bit then the bytes can be used as indices to
the actual, higher bit, video data.
Linus Torvalds has criticized Intel for bothering to implement AVX-512
but in this case Torvalds if full of fucking shit. AVX-512 is super!
Only Xeon W has full AVX-512. Intel is removing it from its Core processors.
What about AMD?
Ha, ha, ha, ha, ha, ha, ha, ha, ha, ha!
All the retards that buy AMD should know that AMD has phony AVX-512.
On AMD, data lanes are only 256 bytes and AVX-512 is implemented
via a "double pumping" method.
Only Intel (Xeon W) has true 512-bit AVX-512.
AMD is garbage. Intel is the fucking best.
Intel AVX-512 even gives GPUs a run for their money.
Unless one has an Intel AVX-512 machine then one is a retarded pauper.
Ha, ha, ha, ha, ha, ha, ha, ha, ha, ha!