Utilizing CUDA cores with NVDEC

One of the biggest benefits of NVDEC is that it frees CUDA cores for doing other work. Although, what if I use a machine purely for real-time decoding multiple video streams, as many streams as possible. Is there a way to force Video Codec SDK utilize CUDA cores instead of NVDEC chip, just like it was before NVDEC.


NVIDIA Video Codec SDK supports nvdec hw engine based decode only. CUDA core based decoders are not supported in this SDK.


Thank you, Madgar! Is there any alternative solution you can recommend? Could ffmpeg+OpenCL acceleration be an option with comparable performance?

The OpenCL acceleration of FFMPEG (x264) is parallelising lookahead during encoding last time I checked. The other parts accelerated by OpenCL is scaling and video processing, not decoding… But it was a while back I checked, for the same reason as you describe.


Yes, you are right. There is no OpenCL decoding in FFMPEG. As of now, it seems there is no way to fully leverage GPU acceleration for video decoding in the cloud. I’ll investigate further, and post here if find anything.

When you say “before nvdec”, what time do you mean then?

Before they deprecated NVCUVID. There is an option cudaVideoCreate_PreferCUDA when creating a decoder, but that doesn’t seem to have an effect anymore.