Search code examples
ffmpeggpunvidiatranscodingnvenc

ffmpeg nvenc GPU Memory Usage


I transcoding video on NVIDIA QUADRO K4200 in Ubuntu (ffmpeg version is 2.7.1, NVENC SDK 5.0.1). GPU Memory usage for one stream is 100 MB. Please see an output of nvidia-smi command: enter image description here

But when I run the same transcoding process with the same ffmpeg parameters on another computer with NVIDIA GTX 980 TI (ffmpeg version is 3.0, NVENC SDK 5.0.1) then GPU Memory usage for one stream is 170 MB. Please see the screenshot below: enter image description here

Why such a difference in memory usage? Can I decrease a GPU Memory usage on GTX 980 TI to 100MB for one transcode process as on QUADRO K4000?


Solution

  • Your answer:

    On Quadro and Tesla GPUs, the number of maximum simultaneous NVENC sessions is unlimited, and as such, these platforms will often incur lower driver overheads for the same work unit.

    It is also wise to consider that unlike NVCUVENC (with uses your CUDA cores to encode elementary video streams), NVENC is a dedicated hardware-based Silicon Intellectual Property core (SIP) , and if you're comparing across different driver and platform versions, all other factors remaining constant, your mileage will always vary.

    Thanks and regards,

    Brainiarc7.