视频转码的最大 cuda 实例限制是多少?

视频转码的最大 cuda 实例限制是多少?

我在 Azure Nc6s_v3 虚拟机上设置了 Nvidia V100 卡。我设置了最新的 CUDA 驱动程序和 SDK。我从“Video_Codec_SDK_9.0.20”编译了示例程序,并使用 AppTrans 二进制文件验证了最大并行转码会话。我发现我可以运行 25 个并行转码实例(25 个解码,25 个编码),第 26 个实例将等待任何会话被取消初始化。

有人能解释一下为什么会有这种限制吗?

根据文章最大并发会话数没有限制。

我通过启用 Nvidia 插件(nvdec 和 nvh264enc)编译了 Gstreamer 框架。我在这里也看到了类似的行为。对于第 26 个并发转码会话,我收到以下错误:

ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstNvH264Enc:nvh264enc0: Could not initialize supporting library.
Additional debug info:
gstnvbaseenc.c(423): gst_nv_base_enc_open (): /GstPipeline:pipeline0/GstNvH264Enc:nvh264enc0:
Failed to create CUDA context, perhaps CUDA is not supported.
Setting pipeline to NULL ...
Freeing pipeline ...

提前致谢。

答案1

您似乎遇到了 Nvidia 在消费级 GPU 上强加的同步 NVENC 视频编码会话的人为最大数量。

有一个著名的补丁 Github nvidia-补丁

(我从未使用过此 Nvidia DLL 补丁并且不能保证它能起作用。)

相关内容