Abysmally bad performance of opencl_*_amd_win applications


Message boards : Number crunching : Abysmally bad performance of opencl_*_amd_win applications

Message board moderation

To post messages, you must log in.
AuthorMessage
Arivald Ha'gel

Send message
Joined: 30 Jul 14
Posts: 5
Credit: 8,396,378
RAC: 11,868
Message 9607 - Posted: 19 Jul 2026, 13:05:25 UTC

Last modified: 19 Jul 2026, 13:19:20 UTC
TLDR: OpenCL performance is 4 times lower than Zen4 Win10 application performance /W

I'm running Asteroids@Home using 2 application:
- GPU OpenCL (Since I have AMD 7900GRE card)
- I run **single** A@H GPU task that uses 100% of DP power of my GPU.
- GPU uses about 170W of power.
- Tasks give about 0.14-0.15 credits/s per GPU task in parallel execution.
- This gives 0.085 credits/100W

- CPU (Zen4)
- I run 16 A@H CPU tasks.
- CPU uses about 120W of power.
- Tasks give about 0.024-0.026 credits/s per CPU task in parallel execution.
- So about 0.4 credits/s for whole CPU (16 parallel tasks)
- This gives 0.3(3) credits/100W - so almost 4 times more credits/W.

Comparing OpenCL times to CPU times it seems like OpenCL implementation is broken.
- OpenCL uses 3GB of GPU RAM, CPU uses 13MB of RAM.
- OpenCL performance is about 4 times lower than Zen4 CPU performance.
- CUDA (i.e. cuda118_linux run on 4090D) gives 0.13 credits/100W, so while it's better, it's still way behind simple CPU tasks

Is this due to A@H not really compatible with GPU parallel processing style?
Perhaps some instruction optimizations that are available for CPU aren't still available for GPUs?
WTH is going on in here?

Right now executing OpenCL AMD tasks is a total waste of energy, while CUDA tasks only waste a little less energy vs (not newest, 1 generation old, Zen4 CPU) CPU tasks. Anyone?
ID: 9607 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
ahorek's team
Volunteer developer
Volunteer tester

Send message
Joined: 1 Jan 13
Posts: 225
Credit: 19,027,891
RAC: 68,378
Message 9608 - Posted: 19 Jul 2026, 14:36:45 UTC - in response to Message 9607.  
> Perhaps some instruction optimizations that are available for CPU aren't still available for GPUs?
CPU optimizations don't translate to GPUs because they operate differently. The app is heavily optimized for CPUs, with a particular focus on Zen 4/5.

> Is this due to A@H not really compatible with GPU parallel processing style?
Not all applications see huge gains from a GPU. That said, it's true that the GPU version isn't as optimized as the CPU version currently is.

We're working on new applications that will significantly improve GPU performance on both AMD and NVIDIA hardware - about 2–3× faster depending on the GPU type. However, I can't promise a release date.
ID: 9608 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Ian&Steve C.
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 23 Apr 21
Posts: 130
Credit: 147,998,559
RAC: 219,542
Message 9609 - Posted: 19 Jul 2026, 14:37:09 UTC - in response to Message 9607.  
the official applications are very not optimized.

but I have created several PRs that will improve that (maybe 2-3x faster than it is now). these changes have been accepted and merged, but the applications will still need to be rebuilt and added to the project which will undoubtedly take time.

I also have a custom HIP version of the application, which is even faster. and you can run this under Anonymous platform.

get it here: https://github.com/IanSteveC/ps_claude_opt/releases

there are Windows and Linux versions there, as well as custom CUDA apps which are even faster.

keep in mind that my apps become so fast that FP64 performance becomes the limiting factor, so cards with very high FP64 performance will do best. but high clock speed helps too. still on the AMD side, something like a Radeon VII will probably outperform your 7900GRE.

ID: 9609 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Arivald Ha'gel

Send message
Joined: 30 Jul 14
Posts: 5
Credit: 8,396,378
RAC: 11,868
Message 9610 - Posted: 19 Jul 2026, 14:55:23 UTC - in response to Message 9609.  

Last modified: 19 Jul 2026, 14:58:06 UTC
the official applications are very not optimized.

but I have created several PRs that will improve that (maybe 2-3x faster than it is now). these changes have been accepted and merged, but the applications will still need to be rebuilt and added to the project which will undoubtedly take time.

I also have a custom HIP version of the application, which is even faster. and you can run this under Anonymous platform.

get it here: https://github.com/IanSteveC/ps_claude_opt/releases

there are Windows and Linux versions there, as well as custom CUDA apps which are even faster.

keep in mind that my apps become so fast that FP64 performance becomes the limiting factor, so cards with very high FP64 performance will do best. but high clock speed helps too. still on the AMD side, something like a Radeon VII will probably outperform your 7900GRE.


Great job. I think I have also seen your E@H applications being run.
Still, I'd prefer not to use custom builds, even though I'm perfectly capable of doing so.

Do you know how long would it take for A@H team to rebuild/validate applications with your PR?
I don't know their workload, but I believe it's of somewhat high priority if they could increase their throughput significantly with just application substitution.

I'm also trying "Project Lasso" to properly maintain CPU affinity and will provide results soon'ish (probably a day or so to test 1core affinity and non-HT affinity results).

Would it be possible for you to estimate total performance gains of your builds?
ID: 9610 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Arivald Ha'gel

Send message
Joined: 30 Jul 14
Posts: 5
Credit: 8,396,378
RAC: 11,868
Message 9611 - Posted: 19 Jul 2026, 15:11:40 UTC - in response to Message 9608.  

Last modified: 19 Jul 2026, 15:12:49 UTC
> CPU optimizations don't translate to GPUs because they operate differently. The app is heavily optimized for CPUs, with a particular focus on Zen 4/5.

I do understand that GPU applications are totally different :)
I was referring to OpenCL release (1.0, 1.1, 2.0, 2.2, 2.2 etc) and CUDA runtimes/SDK versions - perhaps A@H is focused on max compatibility, instead of dropping oldest GPUs in favor of greater performance for everyone.

> Not all applications see huge gains from a GPU. That said, it's true that the GPU version isn't as optimized as the CPU version currently is.
> We're working on new applications that will significantly improve GPU performance on both AMD and NVIDIA hardware - about 2–3× faster depending on the GPU type. However, I can't promise a release date.

2-3x faster would be almost as good as CPU applications, but that amount of performance improvement IS significant.
Right now I aborted my GPU work for A@H, and restricted A@H to CPU only.
If GPU applications would be 3times faster (that would probably depend on how big of an improvement I'd have on my 7900GRE) I might consider GPU tasks.

Right now I plan to test "Project Lasso" extensively trying to max out my CPU performance.
I'll report on my findings.
ID: 9611 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
ahorek's team
Volunteer developer
Volunteer tester

Send message
Joined: 1 Jan 13
Posts: 225
Credit: 19,027,891
RAC: 68,378
Message 9612 - Posted: 19 Jul 2026, 16:02:31 UTC
Just building the app with OpenCL 2 or CUDA 13 doesn't result in any performance improvements. If the newer SDKs introduced useful features or delivered measurable performance gains, it would make sense to drop support for older GPUs. Unfortunately, there are no such benefits, so using the new APIs would only break compatibility with older GPUs without any advantage.

Performance improvements come from rewriting the code to better utilize the hardware through improved parallelization, cache utilization, etc.

You should see a significant performance boost on your 7900 GRE with Ian’s build, (around 100 seconds per work unit). For comparison, the H100 https://www.techpowerup.com/gpu-specs/h100-pcie-80-gb.c3899 completes a single WU in about 9 seconds (without MPS), thanks to its 25.61 TFLOPS of FP64 performance. Radeon VII should also perform well. Unfortunately, FP64 throughput is significantly constrained on most current consumer GPUs. Either way, the new apps should improve /W efficiency on all supported GPUs.
ID: 9612 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Arivald Ha'gel

Send message
Joined: 30 Jul 14
Posts: 5
Credit: 8,396,378
RAC: 11,868
Message 9613 - Posted: 19 Jul 2026, 18:35:21 UTC - in response to Message 9612.  

Last modified: 19 Jul 2026, 18:35:28 UTC
> Just building the app with OpenCL 2 or CUDA 13 doesn't result in any performance improvements. If the newer SDKs introduced useful features or delivered measurable performance gains, it would make sense to drop support for older GPUs. Unfortunately, there are no such benefits, so using the new APIs would only break compatibility with older GPUs without any advantage.

Understood.

> You should see a significant performance boost on your 7900 GRE with Ian’s build, (around 100 seconds per work unit).

That's like 4-6x performance improvement, which would bring my AMD GPUs ahead of CPU performance.
ID: 9613 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote

Message boards : Number crunching : Abysmally bad performance of opencl_*_amd_win applications