ffmpeg cuvid
Есть машина с 4 Titan X.
Пытаюсь кодировать видео на всех картах сразу (нужно пережать в меньшее разрешение).
ffmpeg -v info -y -hwaccel cuvid -hwaccel_device 2 -c:v:0 h264_cuvid -i /root/1.mkv -c:v:0 h264_nvenc -b:v:0 650000 -filter:v:0 scale_npp=-2:360 -f mp4 /dev/null
На каждую карту запускаем по два подобных процесса.
На двух картах картина вроде внятная:
nvidia-smi dmon -c 1
# gpu pwr gtemp mtemp sm mem enc dec mclk pclk
# Idx W C C % % % % MHz MHz
0 102 48 - 20 9 14 100 3304 1189
1 105 54 - 25 9 17 99 3304 1201
2 15 27 - 0 0 0 0 405 135
3 15 27 - 0 0 0 0 405 135
Упираемся в декодер и в общем-то все логично (пережимаем большое видео в маленькое и декодер напрягается больше энкодера).
Но если запустить процессы на 4х картах, то производительность проседат
nvidia-smi dmon
# gpu pwr gtemp mtemp sm mem enc dec mclk pclk
# Idx W C C % % % % MHz MHz
0 89 45 - 8 3 5 37 3304 1189
1 92 50 - 9 3 6 30 3304 1201
2 76 42 - 9 3 6 29 3304 1201
3 87 44 - 9 3 6 33 3304 1189
Причем суммарная производительность ниже, чем на двух картах.
Два CPU по 12 ядер, SSD диски. В atop ничего не показывает даже близко упирающегося в лимиты.
В чем может быть проблес?