【发布时间】:2020-01-21 14:01:52
【问题描述】:
我正在使用 Imageio,这是一个包裹 ffmpeg 的 python 库,通过 nvenc 进行硬件编码。我的问题是我无法启动超过 2 个会话(我使用的是非 Quadro GPU)。即使使用多个 GPU。我查看了 NVIDIA 的支持矩阵,他们说每个 gpu 只有 2 个会话,但似乎是每个系统。
例如,我在一个系统中有 2 个 GPU。我可以使用环境变量 CUDA_VISIBLE_DEVICES 或设置 ffmpeg 标志 -gpu 来选择 GPU。我已经使用 Nvidia-smi cli 验证了 gpu 的使用情况。我可以在单个 gpu 上进行 2 个编码会话。或者 1 个会话分别在 2 个单独的 gpus 上工作。但我无法让 2 个编码会话在 2 个 gpus 上工作。
更奇怪的是,如果我添加更多 gpus,我仍然卡在 2 个会话中。我无法在第三个 gpu 上启动第三个编码会话。无论 gpus 的数量如何,我总是停留在 2。有关如何解决此问题的任何想法?
【问题讨论】:
-
这是消除限制的工作补丁 github.com/keylase/nvidia-patch 它甚至可以与 Docker 一起使用。
标签: python ffmpeg python-imageio nvenc