DualCoder / vgpu_unlock

Unlock vGPU functionality for consumer grade GPUs.
MIT License
4.61k stars 430 forks source link

h264/HEVC Encode/Decode Support #31

Closed zack4485 closed 3 years ago

zack4485 commented 3 years ago

NVIDIA's documentation indicates most of the consumer GPUs don't support the same number of encoders/decoders nor unlimited encode/decode sessions...can you comment on whether this driver mod addresses that limitation in any way or are we still bound by that limitation? In other words, are the encoder/decoder differences actually in silicon or are they just product segmentation implemented in drivers?

The reason I ask is because I'm trying to ascertain whether hardware-accelerated VDI is actually feasible using this modification or if on lower-end hardware I'd be stuck with a single h264/HEVC encode session--thereby still imposing a 1:1 ratio between physical GPUs and VMs?

KrutavShah commented 3 years ago

NVENC/NVDEC are the encode and decode technologies for video on Nvidia graphics cards. VGPU supports both of these technologies just fine, as pointed out by their documentation. This is important for providing real-time remote desktops with good latency and quality. We tested 4 encode streams at once, and it seems to work out.

zack4485 commented 3 years ago

When you tested 4 encode streams simultaneously which GPU were you testing? For example Quadro P400 (and all consumer cards) are restricted to 3 encoder sessions whereas the Quadro P4000 allows unrestricted encoder sessions...

My question is whether this mod removes the limitation on simultaneous encoder streams or if those limits are still in place.

Getting 4 simultaneous encode sessions to work may not be an unexpected success if the physical GPU you used already supported unlimited sessions in the first place :-)

GTANAdam commented 3 years ago

@zack4485 You may find this useful

https://github.com/keylase/nvidia-patch

KrutavShah commented 3 years ago

We got 4 encode streams running simultaneously on one VM with a Quadro vGPU profile with handbrake. This is with a GTX 1080, a card that only supports 3 streams with unmodded drivers.