Stereo Tool
https://www.forums.stereotool.com/

Any plans for AVX512 usage?
https://www.forums.stereotool.com/viewtopic.php?t=34923
Page 1 of 1

Author:  ForSerious [ Tue Mar 25, 2025 8:59 pm ]
Post subject:  Any plans for AVX512 usage?

Not that we really need it—especially since I figured out the multi-threading. Now files are processing in a third of the time.
Anyway, I'm curious about AVX512 because I got a processor that's supposed to be good at running those instructions.

Author:  MrKlorox [ Sat Mar 29, 2025 2:50 am ]
Post subject:  Re: Any plans for AVX512 usage?

Hi. They've recently been testing a new compiler that supports AVX512 instructions. However, they're not getting the performance they are expecting, and worse in some cases.

They're currently out of the country and won't be back in the office until late April, so it likely won't be figured out for a little while yet. But it's on the list.

Author:  hvz [ Wed May 07, 2025 3:22 pm ]
Post subject:  Re: Any plans for AVX512 usage?

What MrKlorox wrote - we had to go back to an older compiler, because even with all the AVX instructions enabled the new one performed worse than the old one with SSE2 only!.

We're currently waiting for feedback about the performance (it should be back to how it was before we made the switch). If that's confirmed, we will enable AVX512 in some libraries that we're using - and we've already seen a performance improvement due to that (in fact, that was the reason why we initially didn't realize that the new compiler had issues; the library was so much faster that the total performance was still slightly better than before).

Aside from this, we have also discovered - oopsy - that the compiler that we're using spits out AVX instructions, but THEY ARE NEVER EXECUTED on AMD CPU's - they have always only used the SSE2 code.... So, we might need to create separate binaries for AMD. But, that's for later. We're still in the process of migrating everything to the new compiler and build structure, and making sure that everything still works.

By the way, enabling AVX512 for everything might be an option as well. But that will require going through a lot of calculations, because it means that a lot of numbers suddenly need to be multiples of 16 instead of 8, which could negatively impact performance for certain things. So it's not really trivial. And we have a lot of hand-written intrinsics code, I don't really want to spend too much time on manually creating separate code paths for AVX512... Maybe for some. But again, later.

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/