We are trying to add transcoding capacity to our servers by adding a second Nvidia Quadro K4000 card and I have some questions.
-- Physical Hardware --
OS: CentOS 6.6
MOBO: Supermicro X9DRE-TF+
Processor: Dual Xeon E5-2620 2.10GHz
Memory: 32GB RAM
Java: Java 8 (64-bit)
GPU/Acceleration: NVIDIA Quadro K4000 (x2)
#1: Are certain Nvidia drivers known to have reduced NVENC encoding performance with Wowza Streaming Engine?
When trying different Nvidia drivers, there seems to be a wide range of NVENC encoding performance as reported by the 'nvidia-smi' utility.
The older 340.46 driver consistently gives better performance (with WMS 4.1.1 and WMS 4.3.0).
At first, I thought the 'nvidia-smi' utility was misreporting the encoder load with newer drivers, but then I noticed entries in the Wowza access log pertaining to skipped frames when the encoder load hit 99% (the utility does not report loads > 99%).
We recommend using the latest NVIDIA drivers. In our testing using 4.3.0.02, we have found that the latest drivers (352.63) allow higher GPU utilization percentages than older drivers and a substantial performance improvement.
We have seen in some instances that the GPU utilization has been limited when using Wowza Streaming Engine in combination with the older NVIDIA 340 drivers. Meaning with some version combinations, GPU utilization was unable to reach near or 100% capacity but would be limited to a much lower utilization percentage. This appears to be solved by using the latest version of the NVIDIA driver (352.63) with Wowza Streaming Engine 4.3.0.02.