NVENC encoding in linux working on GPU but also using CPU
I have an issue that is driving me crazy and i need your views on this please.
The scenario is this:
I have an 8core, 16GB RAM Server running Linux CentOS 64 bit, Java 8u5, Wowza Streaming Engine 4.0.3 and the server kas an Nvidia Quadro K5000 kepler card in it.
I have installed the CentOS nvidia drivers and the card is recognised fine.
I am pushing 1 incoming stream to the wowza server and I configured it to transcode to 3 different streams. So, incoming stream is
testStream and transcoded streams are
testStream_2 , and
The problem is here, when i set the transcode profile to use NVENC, i can see wowza utilising the GPU (i see GPU and GPU MEM usage via nvidia-smi tool), and it also utilises the CPU at 30%. When i change the profiles to use Default (uses CPU transcoding only. Does not use the GPU), i can see that the GPU is no longer utilised but i am getting the same CPU utilisation.
is seems as if when set to NVENC or CUDA, the GPU is transcoding but the CPU is ALSO transcoding.
Isn't the whole point of transcoding with an expensive card like that to decrease CPU overhead and put the big number crunching on the GPU?