Nvidia Capture SDK within VM with vGPU


I’m currently using Nvidia Video Codec SDK (nvenc) for my application with both:

  • bare metal servers with GPU
  • vmware VMs with GPU passthrough

My customers have bought some Telsa M60 in their VMware infrastructure and want to move from the passthrough solution to GRID vGPU and they are asking me if my application is compatible with vGPU.

So I’m asking you: is the Nvidia Video Codec SDK and especially nvenc is accessible from within a VM with vGPU?
Is there any difference in performances?

Thanks in advance for your answers.
Best regards,

Hi pafoury,

Video SDK is supported on vGPU. So your application using NVENC developed for passthrough mode will work with GRID vGPU. However, here are some performance considerations to be aware of.

vGPU does not manage/prioritize NVDEC and NVENC workloads across VMs. For 3D workloads, VM scheduler helps distribute the load and prevents one VM hogging all resources, however the scheduler doesn’t cover NVENC/NVDEC yet, so individual VMs may get more or less of the engine depending on workloads being run. vGPU stack provides isolation across VMs to some degree but not substantively different to what you’d get running multiple processes under a single OS.

This behavior may improve in the future releases of vGPU.

Ryan Park

Hi rypark,

Thanks for your answer.
It will help me a lot.

Best regards,