AVX-512 still supported?
Message boards :
Number crunching :
AVX-512 still supported?
Message board moderation
| Author | Message |
|---|---|
|
Send message Joined: 14 Jan 17 Posts: 1 Credit: 3,172,028 RAC: 295 |
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? |
|
Send message Joined: 1 Jan 13 Posts: 168 Credit: 15,505,376 RAC: 20,993 |
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. |
|
Send message Joined: 1 Nov 13 Posts: 1 Credit: 506,978 RAC: 3,496 |
|
|
Send message Joined: 1 Jan 13 Posts: 168 Credit: 15,505,376 RAC: 20,993 |
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> ]]> |
|
Send message Joined: 18 Jun 12 Posts: 7 Credit: 7,141,758 RAC: 63,844 |
|
|
Send message Joined: 1 Jan 13 Posts: 168 Credit: 15,505,376 RAC: 20,993 |
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. |
Message boards :
Number crunching :
AVX-512 still supported?