AVX-512 still supported?


Message boards : Number crunching : AVX-512 still supported?

Message board moderation

To post messages, you must log in.
AuthorMessage
Alan St-Pierre

Send message
Joined: 14 Jan 17
Posts: 1
Credit: 3,172,028
RAC: 3
Message 8960 - Posted: 24 Apr 2025, 8:19:25 UTC
Hi,

I am updrading my main computer with a new Ryzen 7 9700X, witch supports AVX-512. I know that this project added AVX-512 some time ago for increased performances, however one member on the L'Alliance Francophone's forum said in a recent discussion that he saw somewhere that it has since been dropped for Asteroids@Home.

Is it true? And is there a way to know what instructions a task is using?
ID: 8960 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
ahorek's team
Volunteer developer
Volunteer tester

Send message
Joined: 1 Jan 13
Posts: 180
Credit: 16,012,946
RAC: 2,438
Message 8961 - Posted: 24 Apr 2025, 10:02:07 UTC - in response to Message 8960.  
No, it hasn’t been dropped. We’ve transitioned to a single universal binary that detects available instructions at runtime and selects the optimal one based on your CPU’s capabilities.

You can verify which version was used by checking the task details, for example:
https://asteroidsathome.net/boinc/result.php?resultid=572657726
Using AVX512 SIMD optimizations.
ID: 8961 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Piotr Skrodzewicz

Send message
Joined: 1 Nov 13
Posts: 1
Credit: 679,046
RAC: 1,527
Message 9370 - Posted: 13 Jan 2026, 18:48:23 UTC
Hi, anything changed? MY CPU is AVX512 compatible, but I can't see any indication of such instruction used. And the link provided post above is invalid.
ID: 9370 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
ahorek's team
Volunteer developer
Volunteer tester

Send message
Joined: 1 Jan 13
Posts: 180
Credit: 16,012,946
RAC: 2,438
Message 9371 - Posted: 13 Jan 2026, 19:12:20 UTC
Why do you think anything has changed? The selected instruction set is shown in the task output (CPU tasks)

for example, one of your recent tasks https://asteroidsathome.net/boinc/result.php?resultid=642365760

<core_client_version>8.2.8</core_client_version>
<![CDATA[
<stderr_txt>
BOINC client version 8.2.8
Application: period_search_10220_windows_x86_64__win10.exe
Version: 102.20.1.1
CPU: AMD Ryzen 7 9800X3D 8-Core Processor
RAM: 63.56 GB
Using AVX512 SIMD optimizations.
19:50:49 (9772): called boinc_finish(0)

</stderr_txt>
]]>
ID: 9371 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
fzs600

Send message
Joined: 18 Jun 12
Posts: 7
Credit: 10,121,084
RAC: 15,776
Message 9372 - Posted: 14 Jan 2026, 16:46:16 UTC - in response to Message 9370.  
Hi, anything changed? MY CPU is AVX512 compatible, but I can't see any indication of such instruction used. And the link provided post above is invalid.

If your processor supports AVX512, you will receive AVX512 WUs.
ID: 9372 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
ahorek's team
Volunteer developer
Volunteer tester

Send message
Joined: 1 Jan 13
Posts: 180
Credit: 16,012,946
RAC: 2,438
Message 9373 - Posted: 14 Jan 2026, 20:43:56 UTC
WUs are the same, the app itself decides which optimizations (SSE2, SSE3, AVX, FMA, AVX512, ASIMD) to use based on your CPU capabilities

A few years ago, multiple application variants (SSE2, AVX, etc.) were available, and BOINC selected the one it deemed fastest after running random tasks for a while. This approach had several shortcomings: work units can have very different runtimes, performance also depends on how tasks are executed (for example, with or without SMT, eco modes...). There are too many variables, so the benchmarks were often unreliable. As a consequence, many users ended up running slower applications. The feature detection by the app fixed the issue.

If you want to test/compare other optimizations, you can force the specific version using the app_info.xml
<cmdline>--optimization 6</cmdline> / AVX512
<cmdline>--optimization 5</cmdline> / FMA
<cmdline>--optimization 4</cmdline> / AVX
<cmdline>--optimization 3</cmdline> / SSE3
<cmdline>--optimization 2</cmdline> / SSE2
<cmdline>--optimization 1</cmdline> / C
But if your CPU supports AVX512, it is already used by default, so no manual enabling is required, and there are very few cases where a less optimal code path performs significantly better.
ID: 9373 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
tito

Send message
Joined: 22 Jul 13
Posts: 15
Credit: 47,236,892
RAC: 42,261
Message 9413 - Posted: 1 Mar 2026, 16:10:08 UTC - in response to Message 9373.  
Here You mention about app_info in other topic it's app_config.
I would like to test something so what is proper one?
Also when changes takes place? When new WU starts or new WU has been downloaded?

<app_config>
<app_version>
<app_name>period_search</app_name>
<plan_class></plan_class>
<cmdline>--optimization 3</cmdline>
</app_version>
</app_config>
ID: 9413 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
ahorek's team
Volunteer developer
Volunteer tester

Send message
Joined: 1 Jan 13
Posts: 180
Credit: 16,012,946
RAC: 2,438
Message 9414 - Posted: 1 Mar 2026, 17:03:15 UTC
You have to use an anonymous platform

1/ go to your project's dir
c:\programdata\boinc\projects\asteroidsathome.net_boinc (windows)
/var/lib/boinc/projects/asteroidsathome.net_boinc (linux)
2/ copy/download a binary period_search_binary.exe
3/ in the same folder, create an app_info.xml
<app_info>
 <app>
    <name>period_search</name>
 </app>
 <file_info>
  <name>period_search_binary.exe</name>
  <executable/>
 </file_info>

<app_version>
    <app_name>period_search</app_name>
    <version_num>10220</version_num>
    <avg_ncpus>1.000000</avg_ncpus>
    <cmdline>--optimization 3</cmdline>
    <file_ref>
        <file_name>period_search_binary.exe</file_name>
        <main_program/>
    </file_ref>
</app_version>

</app_info>

4/ restart the BOINC client for the changes to take effect

In this example, the application will use SSE3 instead of AVX-512, but there’s little benefit in doing so, as it would only result in slower performance. Of course, you can't do the opposite by forcing AVX-512 on a CPU that doesn't support it.
ID: 9414 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
tito

Send message
Joined: 22 Jul 13
Posts: 15
Credit: 47,236,892
RAC: 42,261
Message 9415 - Posted: 1 Mar 2026, 17:57:48 UTC - in response to Message 9414.  
Thx - I will give it a try.
Reason is that I have CPU set to 100W and with AVX512 frequency drops to much comparing to other projects.
ID: 9415 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
ahorek's team
Volunteer developer
Volunteer tester

Send message
Joined: 1 Jan 13
Posts: 180
Credit: 16,012,946
RAC: 2,438
Message 9416 - Posted: 1 Mar 2026, 18:45:34 UTC
Clock speed isn’t the only factor. Dropping to a lower instruction set can reduce CPU load and help maintain higher frequencies, but it also lowers IPC. As a result, overall efficiency will likely suffer. Using a power limit is generally the better approach.
Early Intel CPUs with AVX-512 (like Skylake-W) struggled with AVX-512, as the increased power consumption and reduced clock speeds MAY outweigh the performance gains. However, this is not the case with Zen 4 / Zen 5.
In any case, feel free to test it yourself and see how it behaves on your system.
ID: 9416 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
tito

Send message
Joined: 22 Jul 13
Posts: 15
Credit: 47,236,892
RAC: 42,261
Message 9420 - Posted: 4 Mar 2026, 6:35:02 UTC
As You said. My CPU is 7950@100W and with SSE3 instructions frequency didn't rise, but WU times rised from ~ 2500sec to 3600sec (27 WU - 5 threads free).
So obvius RAC reduction here in Asteroids.
But same time my GPU crunch Einstein O4 WU and times with Asteroids SSE3 are better comparing to AVX512: 1500vs1750.
Thx for help.
Any problem for project if I stay with anonymous platform?
ID: 9420 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
ahorek's team
Volunteer developer
Volunteer tester

Send message
Joined: 1 Jan 13
Posts: 180
Credit: 16,012,946
RAC: 2,438
Message 9421 - Posted: 4 Mar 2026, 13:59:56 UTC - in response to Message 9420.  
You have a 100W power limit. If you run a single EaH task, one core can easily boost to its maximum clock speed. However, if you run 27 Asteroids tasks simultaneously, the CPU must lower its clock speeds (= performance) to remain within the total 100W power budget.
You can try running a GPU recalculation on Einstein O4 GPU. It might be slower, but it will also be less dependent on CPU performance.

> Any problem for project if I stay with anonymous platform?
It’s not a problem for the project, but if a new version is released that’s incompatible with the current work, you won’t get the update automatically.
ID: 9421 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote

Message boards : Number crunching : AVX-512 still supported?