All times are UTC+02:00




Post new topic  Reply to topic  [ 3 posts ] 
Author Message
PostPosted: Tue Mar 25, 2025 8:59 pm 
User avatar

Joined: Sat Aug 31, 2019 9:44 pm
Posts: 29
Location: VA USA
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.


Top
   
PostPosted: Sat Mar 29, 2025 2:50 am 
User avatar

Joined: Sun Dec 23, 2018 7:44 pm
Posts: 976
Location: Texas, USA
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.


Top
   
PostPosted: Wed May 07, 2025 3:22 pm 
Site Admin
User avatar

Joined: Mon Mar 17, 2008 1:40 am
Posts: 11418
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.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 3 posts ] 

All times are UTC+02:00


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited