CUDA ENCODE- OPENENENCODESESSEXEX失败:不记忆



我在使用gpu(cuda)的FFMPEG视频编码中遇到了问题。

我有2x nvidia gtx 1050 ti

当我尝试执行多个并行编码时,问题就会出现。超过两个过程和FFMPEG死亡:

[h264_nvenc @ 0xcc1cc0] OpenEncodeSessionEx failed: out of memory (10)

问题是NVIDIA-SMI表明GPU上有很多可用的资源:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.66                 Driver Version: 384.66                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 105...  Off  | 00000000:41:00.0 Off |                  N/A |
| 40%   37C    P0    42W /  75W |    177MiB /  4038MiB |     30%      Default |
+-------------------------------+----------------------+----------------------+
|   1  GeForce GTX 105...  Off  | 00000000:42:00.0 Off |                  N/A |
| 40%   21C    P8    35W /  75W |     10MiB /  4038MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

第二个GPU似乎根本没有使用,并且第一个GPU在第一个gpu上剩下的内存越多,可以支持第三文件。

任何想法都会非常有帮助!

实际上您的卡是'不合格的'(就NVIDIA而言),并且仅支持2个同时的会话。您可以咨询https://developer.nvidia.com/video-encode-decode-decode-decode-gpu-support-matrix#encoder或下载nvenc SDK,该nvenc sdk包含具有合格和不合格的GPU的PDF。有一些用于禁用会话计数检查的驱动程序的补丁程序,您可以尝试https://github.com/keylase/nvidia-patch

  1. 由于没有关于如何应用编码上下文的代码,因此我无法说明为什么不使用第二个GPU。您是否在av_opt_set()或命令行参数中指定了它?
  2. 这里更重要的问题是,GeForce卡不能在一个系统中拥有超过2个编码会话。如果您需要更多

相关内容

  • 没有找到相关文章

最新更新