transcoding using V100 and INTEL Scalable CPUs with QSV

Hi, I’m not a developer, but run a company dedicated to digital video. I have several questions which I would love to hear opinions on;

  1. The new V100 is not listed in the NVENC and NVDEC Support Matrices. Has anyone tried HEVC 1080p encoding on a V100?

  2. We need to transcode several hundred channels from MPEG2 1080i to HEVC 1080p or to 720p with 3 representations for each. Has anybody quantified how many HEVC 1080p or 720p encodes can be accomplished per NVENC instance? and how many instances can be run on a V100? I understand from the NVENC matrix that the P100 supports 3 instances, and from the Encode Streaming Performance graph at https://developer.nvidia.com/nvidia-video-codec-sdk#NVENCPerf that a single instance of NVENC could encode 13 HEVC 4K streams on Pascal GPUs. If that is for 4K, would it be correct to interpolate that at 1080p we should be able to achieve 4x13 or 52 streams per NVENC?

  3. and following the above, would it be correct to assume that on a TESLA M60 we can run NVENC 4x while on a P100 the limit is 3X?

  4. How many instances of NVENC may be run on a V100?

Thank you all for your kind replies.

Hi Mmorales,

I am not part of NVIDIA team, following is based just on my experience.

  1. Have no knowledge about V100 :(

NVENC is hardware block present on GPU and paired with NVDEC block. This is newer technology than CUDA-based encoder. So number of CUDA cores is not a factor in encoding performance. This is awesome because transcoding solutions can use low-end quadro card and not pay for unused cuda cores :)

$9428.00 for Tesla P100 SXM2 16GB
$ 110.49 for NVIDIA Quadro P400 2 GB

I would advise you to use Quadro P400 for transcoding and use 4 cards in one motherboard.

GPU is ideal for your task as you can avoid I/O bottleneck in copying raw frames from system to GPU memory and back.

MPEG2 > GPU memory > NVDEC > DEINTERLACE > NVENC > system memory > storage/streaming server

Nowadays NVENC SDK comes with FFMPEG integration so you are free to do all kinds of benchmarks with single command-line. You can also test expensive cards at nvidia test lab :)

Only geforce cards have software limit to 2 NVENC sessions.

Kind regards,
Alex

Thank you Alex.

I need to transcend several hundred live TV channels. Do you have any idea how many MPEG2 to HEVC 1080p or 720p transcodes can be achieved with one NVENC instance on one of those cards? I also need to run several output representations on each channel for MPEG-DASH.

Meant to say transcode, not transcend which was done by my spellchecker. :-)

https://developer.nvidia.com/nvenc-application-note

https://developer.nvidia.com/nvdec-application-note

You are interested in “Pascal” table column.

For H.264 1920x1080 @388fps == 15 streams @25fps
For H.265 1920x1080 @259fps == 10 streams @25fps

The encoding values should be doubled if 2 encoder exists (see NVENC/chip https://developer.nvidia.com/video-encode-decode-gpu-support-matrix and should be the same for GTX cards with equivalent chips) and all values should be lowered if the chip is intentionally underclocked (20-30% to lower TDP).