[REQUEST] Support multiple GPU for transcoding

Plex only uses a single GPU in multi-GPU systems.

I would like to see an option to use multiple GPU’s. Either in round-robin fashion or with fallback to next GPU when the first one has exhausted available GPU memory.

I would like to see this too. This would add more flexibility to stay within budget.

1 Like

I would like to see this implemented as well. I had created a duplicate request, and was then notified that this post is the most visible/voted upon.

To get some clarification (and to introduce my specific version of this feature)

Currently we have the options below:

  • Use Hardware Acceleration when available
  • Use Hardware Accelerated Video Encoding
  • Maximum simultaneous video transcodes (1-20, Unlimited)

I would like the Plex Dev-Gods to add to that with an option for Multiple GPUs.

Perhaps include the ability for Plex Media Server to scan/enumerate available GPUs, and then allocate those to HW Acceleration Resource Availability chart?

Intel iGPU (QS): GPU ID: 0,1,2,3
Nvidia GPU ID: 4,5,6,7

The next thing to include with this would be a GPU Stream Limit per device per Type?

Stream Limitation:
Intel iGPU(QS): Max Streams per device: x
Nvidia: Max Streams per device: x

(This would let those with non hacked consumer cards specify 2x streams easily, and those of us with workstation/compute/inference cards use the max HD streams available for that card model)

Most likely will need to overhaul/modify or even outright create a new Stream Scheduler so the Plex Media Server can pair streams with available resources.

This entire concept would most likely be the fastest way to scale PMS internally without getting into something like Unicorn Transcoder and other projects like that.

Thanks again Dev-Gods :smiley:

1 Like

Just wanted to add an additional scenario.

I have a newer build here, intel 12th gen plus a p2200. I’m getting a bit better results on the quicksync so have defaulted to that.

I would like to be able to select the second GPU for ‘background’ tasks. ie, mobile download transcoding, thumbnail generation, and so on.

Is there a technical reason why this can’t be implemented or just that not many people would make use of it? Would be good to see what Plex say on this as I haven’t seen one single reply to any of the posts about it.

This would be particularly useful for HDR tone mapping. I’ve got an 11th gen Intel CPU with iGPU and quick sync, as well as an nvidia GPU. Plex can see both, and for SDR content the iGPU appears to be the best choice. But for HDR with tone mapping enabled, I’m falling back to software transcoding. My nvidia GPU can handle HDR tone mapping and transcoding better, but it’s just sitting there.

You could do ARC, iGPU and nVidia, personally I know a lot of folks just say “this is good enough”, but I can tell you, Ive tested everything from the old 10XXs 6000 quadros, 4090/5090 and now Im on a blackwell, with me new server, playing original is as fast as transcoding but if I had two smaller cards, probably would have accomplished the same.