Open MarcoRavich opened 4 days ago
The only genuine risk of using an outdated microcodes version that I can think of is that RAM XMP profiles may not be as stable. The voltage issue only affects 13th and 14th gens (did you read the article you linked?), why are you excessively worried? Just FYI, don't expect that much gains from FFMPEG by enabling back AVX-512, only very specific tasks can benefit from it and the improvements are in the single-digit or low double-digits territory. You are more likely to encounter other bottlenecks in the pipeline that may render the AVX-512 gains negligible.
The only genuine risk of using an outdated microcodes version that I can think of is that RAM XMP profiles may not be as stable.
This shouldn't be a problem, since I've customized my DDR4-4000 RAM modules to obtain lower latency (= underclocked).
The voltage issue only affects 13th and 14th gens (did you read the article you linked?), why are you excessively worried?
Of course know it well (this summer I've tuned a friend's Z790 bios to avoid his i7-14700 degradation retaining CPU performances) so I'm not worried at all for this reason.
Just FYI, don't expect that much gains from FFMPEG by enabling back AVX-512, only very specific tasks can benefit from it and the improvements are in the single-digit or low double-digits territory. You are more likely to encounter other bottlenecks in the pipeline that may render the AVX-512 gains negligible.
Well, this scares me mutch more: making hardcore mods (to probably repeat for each bios upgrade) to gain negligible performances !
What pushes me to learn about this mod is a recent article (linked above too) anyway: FFmpeg devs boast of up to 94x performance boost after implementing handwritten AVX-512 assembly code
The developers have created an optimized code path using the AVX-512 instruction set to accelerate specific functions within the FFmpeg multimedia processing library. By leveraging AVX-512, they were able to achieve significant performance improvements — from three to 94 times faster — compared to standard implementations. AVX-512 enables processing large chunks of data in parallel using 512-bit registers, which can handle up to 16 single-precision FLOPS or 8 double-precision FLOPS in one operation. This optimization is ideal for compute-heavy tasks in general, but in the case of video and image processing in particular.
The benchmarking results show that the new handwritten AVX-512 code path performs considerably faster than other implementations, including baseline C code and lower SIMD instruction sets like AVX2 and SSE3. In some cases, the revamped AVX-512 codepath achieves a speedup of nearly 94 times over the baseline, highlighting the efficiency of hand-optimized assembly code for AVX-512.
This development is particularly valuable for users running on high-performance, AVX-512-capable hardware, enabling them to process media content far more efficiently.
...can a "professional" frequent FFMPEG-user ignore these?
This shouldn't be a problem, since I've customized my DDR4-4000 RAM modules to obtain lower latency (= underclocked).
Well, see that's exactly where the stability issues become a concern lol. I talked about XMP because I didn't assume you would be doing manual tuning, but earlier bios versions on a platform are often synonymous with worse memory support and more potential for memory instability. With an earlier bios, your kit may not run stable anymore at 4000 with certain timings or at all.
...can a "professional" frequent FFMPEG-user ignore these?
You ignored the article comments, did you? I quote: Note that this is a 64x speedup for a single function (a 8-tap motion compensation filter), and not a 64x speedup in video encoding. or Also note that this is 94% faster than pure C code, but between -3% and 60% faster than the AVX2 code path.
No actual meaningful ffmpeg feature is actually getting these speeds improvements for "professional" workloads... Else you would see people talk about it everywhere... You would have to be delusional to think AVX-512 is some magic that can multiply performance for free. Check some AVX-512 articles on Phoronix and you will see that the gains of CPUs with it on or off in the workloads that benefit the most from AVX-512 (usually not video encoding) are rarely more than 2x at best, on the latest implementations. I'm lazy to find the article again but iirc Phoronix reported that the SVT-AV1 encoder, which has quite a lot of AVX-512 codepaths would get up to 25% performance improvements with AVX-512 on with AMD's Zen 5, which has a much more refined implementation than any consumer Intel CPU to date, including 12th gen. AVX-512 wasn't officially in the specifications for Alder Lake for no reason... I think you should research the subject more, using multiple sources of information, instead of blindly believing that one article that doesn't even state what exactly is benefiting from a 94x performance boost... You're bound to be disappointed if you go with such expectations. Most stuff, especially on the older side, doesn't have any AVX-512 codepaths, in which case the performance improvements will be none.
A similar story happened a few days ago when apparently Intel Spotted A 3888.9% Performance Improvement In The Linux Kernel From One Line Of Code. You then dive deep into what actually happened and you realize this was only true for a very specific Xeon system with 4 sockets, 192GB of RAM, and there is actually no performance improvements for consumer CPUs. Don't just take stuff at face value, don't fall for clickbait news titles...
With an earlier bios, your kit may not run stable anymore at 4000 with certain timings or at all.
I have to try, of course. Anyway these (6th column) are my memory settings, actually: Downclock 4 x Ripjaws V F4-4000C18-8GVK
You would have to be delusional to think AVX-512 is some magic that can multiply performance for free.
Not "for free": it implies higher consumption and heat, AFAIK.
Check some AVX-512 articles on Phoronix and you will see that the gains of CPUs with it on or off in the workloads that benefit the most from AVX-512 (usually not video encoding) are rarely more than 2x at best, on the latest implementations.
Premising that x2 means 100% gain, I'm a Phoronix follower and read almost all FFMPEG-related news/tests, of course. Here's what I've found searching latest FFMPEG+avx-512 articles on: [23/02/11] FFmpeg Is Ripe For More AVX-512 Optimizations (PDF)
I think you should research the subject more, using multiple sources of information, instead of blindly believing that one article that doesn't even state what exactly is benefiting from a 94x performance boost...
Wait, wait: I don't "blindly" believe to anyone (not even you), otherwise don't you think I would have already applied the mod? Here the question is if "the juice is worth the squeeze"...
You're bound to be disappointed if you go with such expectations. Most stuff, especially on the older side, doesn't have any AVX-512 codepaths, in which case the performance improvements will be none.
I see, personally I'm not mutch interested in encoding or decoding boosting particularly, rather in speeding up the effects processing (e.g. needi deinterlace). Anyway I've understand I have to try myself (since the mod is btw reversible).
Thanks for hints.
Hi there, 1st of all thanks for this cool git.
Some times ago I discovered that my CPU - that don't have E-cores at all - holds AVX-512 and, since - as a content creator - I really need to take advantage of (for FFMPEG-workloads mainly), I'm going to unlock my motherboard to re-enable them using this method.
However, even if I understand that's needed, I'm still a bit "scared" about microcodes updates remove expecially for security reasons...
My question are:
Thanks in advance for all clarifications you can/will provide.