NVENC会话限制

时间:2016-12-12 03:16:28

标签: gpu nvenc

我正在使用NVIDIA GPU(NVENC)中的硬件编码器进行H264编码。 我得到了正确的输出,但我无法启动超过140个编码流。(一个流执行一个视频编码)

我得到的错误是" NV_ENC_OUT_OF_MEMORY"。错误发生时应用程序的内存使用量远低于可用总量: 600MB(320X240) 2.5GB(640×480) 6GB(1280X710) 在Quadro M5000中超过8GB。

对于比特流分配,NV_ENC_CREATE_BITSTREAM_BUFFER的大小超过单个帧大小,而memoryHeap类型为CACHED。

这是测试机配置: Debian Linux 8.5 英特尔至强E5 @ 2.60 GHz Nvidia Quadro M5000 CUDA 7.5,驱动程序352.39

任何有关解决方案的建议/方向都将受到赞赏。 谢谢你的时间。

1 个答案:

答案 0 :(得分:3)

NVENC在GPU中的离散硅IP内核(SIP)块上运行,而不是在GPU的着色器上运行。 该SIP块具有硬编码的限制(在固件中设置),以确保那些需要比人为限制更多的人购买特斯拉级硬件。

NVIDIA的营销攻势。

您可以在此处使用Keylase的nvidia修补程序来覆盖此限制:https://github.com/keylase/nvidia-patch

此外,请参见会话限制:https://developer.nvidia.com/video-encode-decode-gpu-support-matrix