this post was submitted on 05 Nov 2024
301 points (96.9% liked)

Open Source

31396 readers
291 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 5 years ago
MODERATORS
 

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.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 39 points 3 weeks ago (1 children)

There is an issue, though: Intel disabled AVX-512 for its Core 12th, 13th, and 14th Generations of Core processors, leaving owners of these CPUs without them. On the other hand, AMD's Ryzen 9000-series CPUs feature a fully-enabled AVX-512 FPU so the owners of these processors can take advantage of the FFmpeg achievement.

Intel can't stop the L.

As for the claims and benchmarking, we need to see how much it actually improves. Because the 94x performance boost is compared to baseline when no AVX or SIMD is used (if I understand the blog post correctly). So I wonder how much the handwritten AVX-512 assembler code improves over an AVX-512 code written in C (or Rust maybe?). The exact hardware used to benchmark this is not disclosed either, unfortunately.

[–] [email protected] 5 points 3 weeks ago* (last edited 3 weeks ago) (1 children)

Someone else in the comments mentioned it is about 40% faster than the AVX-2 code and slightly more than twice as fast as the SSE3 code. That's still a nice boost, but hopefully no one was relying on the radically slow unoptimized baseline.

[–] [email protected] 1 points 3 weeks ago

But my question is, how much faster is it that its written in assembly rather than "high" level language like C or Rust. I mean if the AVX-512 code was written in C, would it be 40% faster than AVX-2?