WinML/OpenCL acceleration with multiple GPUs

Currently one has to choose between GPU or CPU acceleration. If more than one GPU is installed (e.g. Nvidia card and Intel onboard) only one could be used.

With WinML and OpenCL it should be possible to use more than one GPU and CPU cores in addition on one task. Alternatively PL could use GPUs and CPU cores on different images in parallel in export tasks.

So AI, denoise, and the like and export tasks could be speed up. Would be very useful if implemented. Please!

Don’t forget to vote.

Also, for these older related requests:

2 Likes

Architecturally it’s a lot simpler to have one GPU work on image processing and the other tasked with display (leaving more capacity for processing on the one doing the heavy lifting). There’s real limits to splitting GPU load. DaVinci Resolve spent enormous resources on multiple GPU for decades with limited success. Once GPU became more powerful, even Blackmagic announced that a single strong GPU works much better than trying to introduce a second GPU.

Why aren’t there any multi-GPU cards that already support this process at the hardware level? It’s just more complex than one might think.

I not think (now), its not provide real world improvement and not worth to invest (develop) it, but see below:

The weak points (as i think) of multiple GPU or more stronger GPU and CPU distribution:

  • PC need to handle enough PCie slot (for multiple GPU)
  • Enough PSU (like may 800W?) power for multiple GPU?
  • CPU can be bottleneck
  • Price, like 2x GPU price
  • Even budget GPU provide decent performance, see here: Budget GPU for PL
  • Even budget GPU can provide good AI masking performance, and decent Export performance
  • Powerful GPU provide great performance, export can be a few second per photo.
  • User base can be small. I guess not so much user want to export 1000’s of 100Mpix photos.
  • Real world advantage can be small. If we talk about percentage, difference may looks nice, for example, to say lets 100%. But in time, its mean may not 5 second one photo, but 2.5 second. Make not to much difference (for most of us).
  • In GPU and CPU distribution: CPU performance may 5-10 less, so may distribute between GPU and CPU may make less sense.
  • Export (performance) queue may not well balanced.
  • Export process already able multiple paralel export, what improve a bit of export performance (usually 3-4 is the ‘sweat point’)
  • Performance improvement may not linear (may just 1.5x or less)

I think in theory looks ‘simple’, but in real life i not see too much software do that. I only know a very few of them, example from Video editing: Flame (Autodesk) may use 2 GPU, however its need at minimum 64GB of of GPU (for single GPU, but 96-128GB is optimal), and not all operations accelerated (afaik). Diamond Film restoration able to use multiple GPU, mainly for render afaik.

However, can be great if we can choose between the processing for Editing (and AI mask) and Export. Example: GPU for Editing and CPU for exporting. It’s may helps for GPU VRAM <6GB. Of course, in the example Export the CPU export far slower vs GPU export, but may export times less important for some. Or if someone use few/less AI mask, than the opposite: CPU for Editing, GPU for export.

But yeah, may GPU and NPU distribution for different processes can be in the future a niche, but real world improvement is questionable at least.

There are some simple questions to answer:
Where are the resources for producing AI hardware being taken from, and where does the necessary energy come from?
Who is supplying sufficient electrical energy for a completely inefficient AI hardware environment? Who, as a result, receives less and more expensive energy?
Today’s AI systems are catastrophically inefficient in terms of energy consumption and are destroying the electrical infrastructure (and presumably not just that).
Anyone who thinks responsibly should incorporate these aspects into their reasoning and demand an efficiency improvement of at least a factor of 10.
In this regard, a reasonable demand would not be the use of another GPU, but rather a drastic optimization of the software in use in the short term.

2 Likes

I guess ‘drastic optimization’ cant happen.

Optimalization in this context seems the more training on the AI model area. However, the improvement is may just gradually, and may not about processing speed, but more about result quality. And of course, model may can’t bs shrinked to 1/2 of size.
In the case of PL, the ‘new model’ may also a not simple area, as result quality need to be same or better than exisiting. Example: if ChatGPT use another (version/type) of model, than the answers may improve a bit, but the tone/style of answers change. In PL, the result quality is need to be at least the same or better, not is ‘different style’

Of course, GPU / NPU driver improvements also happen in some level.

May ‘we’ underestimate the AI requirements. Not just in Memory, but also performance.

Edit: may worth to check this article : Agentic AI Hardware: How Much RAM, GPU, and Storage You Need. Storagereview is a good site. Its talk about local AI usage and requirements. Also link in there to: Best Laptops for Local AI 2026: Lab-Tested Rankings. Seems for local LLM even 8GB is near nothing. But yes, LLM not the same, as image manipulation, object (mask) detection. But may gives a hint.

1 Like

I add OpenVINO to my request.

The problem with multi-gpu configurations is that for efficient use, a homogeneous GPU config would be required. If the “built-in GPU” on the CPU has 1/10-th of the computational power of the dedicated GPU, how would you spread the job? Why would you want your batch export done only less than 10% quicker, with much larger probability of various bugs appearing? I’m quite happy with my batch exports done at about 3sec/ 45mpx image using RTX4070 and mixed DP3/XD3 denoising, and I would probably tolerate up to 10-15sec per image. I would much prefer stability over performance, when performance is satisfactory. BTW, currently I have i7-14700KF CPU (no built-in graphics unit) with RTX4070, and strangely enough I had no problems so far sharing the RTX by Windows and PhotoLab – probably because mostly different processing units on the card are involved.

One of hardware configurations suggested by BlackMagic for daVinci Resolve + Fusion was 256GB RAM with 3 x RTX5090 (paid license required). Surely it’s not for everyone, as each RTX5090 has max TDP 575W, so you would need a separate room with good cooling and remote keyboard/monitor access. A group of such servers is for team work on a movie (only few of them worldwide, I guess), certainly not for home use, which PhotoLab is targetting.

1 Like

I think its already use OpenVINO (Intel) as a provider.