Jump to content
Cesbo Community
  • Announcements

    • RadioSintetica

      News!   12/10/17

      If you have any questions related to installation and purchase, please check our documentation https://cesbo.com/en/astra/docs/ and terms of service https://cesbo.com/en/terms/
      Also, we have an official Telegram chat: https://t.me/cesbo_en  you can ask any questions or share your experience with colleagues Если у вас возникли вопросы по установке и покупке, ознакомьтесь пожалуйста с документацией по адресу https://cesbo.com/ru/astra/docs/ и условиями использования https://cesbo.com/ru/terms/
      Так же, обращаю внимание, что у нас есть официальный Телеграмм чат: https://t.me/cesbo_astra в котором можно задать вопросы - или поделиться своим опытом с коллегами
Sign in to follow this  
loki

GeForce GTX 1080 vs NVIDIA GRID M40

Recommended Posts

GRID - это ПО. Наверное, Вы имеете ввиду Tesla M40.

С учетом того, что в линейке GeForce программно ограничено количество одновременных потоков до 2 и есть деньги на M40 - берите M40. 

Вот интересная статья о тестировании M60. 

 

UPD. Пардон, существует и GRID M40, но инфы о ней мало.

Share this post


Link to post
Share on other sites

По поводу GTX1070 могу сказать следующее. nvenc_h264 и nvenc_hevc(265) на ffmpeg 3.2 работают, но все транскодирование ограничено двумя потоками.

и не как на серии GTX 9xx с лицензионным ключем,

а с ограничением сюрфейсов с вываливанием ошибки failed: out of memory (10).

Что только не делал, даже ограничивал в исходниках ffmpeg в библиотеках кодеков nvenc

количество сюрфесов

ctx->nb_surfaces = FFMAX((num_mbs >= 8160) ? 8 : 12,

+ { "surfaces", "Number of concurrent surfaces", OFFSET(nb_surfaces),

AV_OPT_TYPE_INT, { .i64 = 8 }, 0, INT_MAX, VE },

 

ничего не помогает, вываливается с ограничением в два одновременных потока транскодирования.

Хотелось бы попробовать с опенцлом на радеоне...или найти решение для gtx 10xx от нвидии.

А пока жду пока приедет m4000

Share this post


Link to post
Share on other sites

 

Что только не делал, даже ограничивал в исходниках ffmpeg в библиотеках кодеков nvenc

количество сюрфесов

А зачем их там ограничивать??? Укажите в опциях nvenc_h264 -surfaces 4 (например) и все дела. Все уже придумано до нас :)

Share this post


Link to post
Share on other sites

По поводу GTX1070 могу сказать следующее. nvenc_h264 и nvenc_hevc(265) на ffmpeg 3.2 работают, но все транскодирование ограничено двумя потоками.

и не как на серии GTX 9xx с лицензионным ключем,

а с ограничением сюрфейсов с вываливанием ошибки failed: out of memory (10).

Что только не делал, даже ограничивал в исходниках ffmpeg в библиотеках кодеков nvenc

количество сюрфесов

ctx->nb_surfaces = FFMAX((num_mbs >= 8160) ? 8 : 12,

+ { "surfaces", "Number of concurrent surfaces", OFFSET(nb_surfaces),

AV_OPT_TYPE_INT, { .i64 = 8 }, 0, INT_MAX, VE },

 

ничего не помогает, вываливается с ограничением в два одновременных потока транскодирования.

Хотелось бы попробовать с опенцлом на радеоне...или найти решение для gtx 10xx от нвидии.

А пока жду пока приедет m4000

а что, про лекарство драйвера на ограничение с хабра не работает ?

Share this post


Link to post
Share on other sites

GRID - это ПО. Наверное, Вы имеете ввиду Tesla M40.

С учетом того, что в линейке GeForce программно ограничено количество одновременных потоков до 2 и есть деньги на M40 - берите M40. 

Вот интересная статья о тестировании M60. 

 

UPD. Пардон, существует и GRID M40, но инфы о ней мало.

 

Нет, я имел введу эту карту - https://www.servethehome.com/nvidia-grid-m40-4x-maxwell-gpus-16gb-ram-cards/ 

 

ByRadar Dudeon December 15, 2016
 
Don't confuse the GRID M40 with the TESLA M40. The GRID M40 has 4 GPUs on one card. Apparently this card was designed for virtual machine graphics,

 

 

Share this post


Link to post
Share on other sites

а что, про лекарство драйвера на ограничение с хабра не работает ?

 

 

 
Работает:
 
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.39                 Driver Version: 375.39                    |
|-------------------------------+----------------------+----------------------+
| 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 1080    Off  | 0000:02:00.0     Off |                  N/A |
| 34%   51C    P2    54W / 180W |   3090MiB /  8114MiB |      4%      Default |
+-------------------------------+----------------------+----------------------+
 
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|    0     12556    C   ffmpeg8                                        385MiB |
|    0     12568    C   ffmpeg7                                        385MiB |
|    0     12600    C   ffmpeg6                                        385MiB |
|    0     12631    C   ffmpeg5                                        385MiB |
|    0     12663    C   ffmpeg4                                        385MiB |
|    0     12695    C   ffmpeg3                                        385MiB |
|    0     12727    C   ffmpeg2                                        385MiB |
|    0     12760    C   ffmpeg1                                        385MiB |
+-----------------------------------------------------------------------------+
 

Share this post


Link to post
Share on other sites

У меня например вышло снять лимит только с 367.35 ,

а  с 367.57(вылеченным как и 367.35)  вылезаает ошибка с нехваткой памяти ,

после установки библиотек CUDA7.5 автоматом ставится 367.57 ,

но потом приходится откатывать драйвер на 367.35 и применить лекарство. 

 

Можете поделится вылеченным 375.39 например ?

И нужно ли устанавливать значения сюрфейсов ? В 367.35 всё работает и без установки кол-ва сюрфейсов , единственный дискомфорт , что система после отката предлагает обновлять кучу библиотек.

 

Заранее спасибо.

Share this post


Link to post
Share on other sites

Сколько потоков получается декодировать/кодировать на GTX 1080? Довольны ли результатом? В продакшене используете?

Share this post


Link to post
Share on other sites

Так, в общем 1070 ушла и теперь прийдется заново ждать на тест. Чтобы попробовать обойти ограничение как советовали выше.

 

Пришла на тест m4000

Процессор правда слабоватый Intel® Core i5-3330 CPU @ 3.00GHz (load average  16.38)

Но потоков жмет много одновременно

 

Загрузка видеокарты Encoder: 42 %

при h264_nvenc и 30SD каналах (то есть с учетом того что канал использует 165 мегабайт памяти видеокарты, всего поместится в нее около 40-50SD каналов)

 

Да, тоже интересует, сколько можно будет на 8 гиговой 1070 или 1080 в h264 каналов сжать?

Share this post


Link to post
Share on other sites
+-----------------------------------------------------------------------------+

| NVIDIA-SMI 375.39                 Driver Version: 375.39                    |

|-------------------------------+----------------------+----------------------+

| 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 1080    Off  | 0000:02:00.0      On |                  N/A |

|  0%   55C    P2    61W / 240W |   5177MiB /  8112MiB |     23%      Default |

+-------------------------------+----------------------+----------------------+

 

+-----------------------------------------------------------------------------+

| Processes:                                                       GPU Memory |

|  GPU       PID  Type  Process name                               Usage      |

|=============================================================================|

|    0      1478    G   /usr/bin/X                                      97MiB |

|    0      4163    C   ffmpeg                                         122MiB |

|    0      4330    C   ffmpeg                                         122MiB |

|    0      4434    C   ffmpeg                                         122MiB |

|    0      4540    C   ffmpeg                                         122MiB |

|    0      4704    C   ffmpeg                                         122MiB |

|    0      4808    C   ffmpeg                                         122MiB |

|    0      4912    C   ffmpeg                                         119MiB |

|    0      5136    C   ffmpeg                                         119MiB |

|    0      5240    C   ffmpeg                                         119MiB |

|    0      5415    C   ffmpeg                                         119MiB |

|    0      5580    C   ffmpeg                                         119MiB |

|    0      5684    C   ffmpeg                                         119MiB |

|    0      5848    C   ffmpeg                                         119MiB |

|    0      5983    C   ffmpeg                                         119MiB |

|    0      6373    C   ffmpeg                                         122MiB |

|    0      6820    C   ffmpeg                                         122MiB |

Share this post


Link to post
Share on other sites

Вы Х выключите, и скажите сколько каналов поместилось. А утилизацию GPU  удобнее смотреть командой  nvidia-smi dmon -i (номер карты, в вашем случае  0)

Share this post


Link to post
Share on other sites

вопрос такой. а если установить две карты в один системник.

как указать для ffmpeg какую карту для чего использовать?

Share this post


Link to post
Share on other sites

-gpu (номер карты)

Кстати все ключи можно посмотреть командой ffmpeg -help encoder=nvenc

Вместо nvenc подставляете то что вам нужно.

Share this post


Link to post
Share on other sites

Подскажите, кто как делает деинтерлейс при декодировании на nvidia?

 


ffmpeg -hwaccel cuvid -c:v h264_cuvid -re -i "udp://239.103.0.1:4124?fifo_size=1000000&overrun_nonfatal=1" \
    -map 0:v -c:v h264_nvenc -preset slow -profile:v high -level 4.1 -rc cbr -cq 1 -bf 2 -g 150 -b:v 800k -deinterlace \
    -map 0:a -c:a aac -ac 2 -b:a 96k -strict experimental \
    -f mpegts "udp://239.110.0.1:4124&pkt_size=1316"

Impossible to convert between the formats supported by the filter 'graph 0 input from stream 0:0' and the filter 'auto_scaler_0'
Error opening filters!

Share this post


Link to post
Share on other sites

 

Подскажите, кто как делает деинтерлейс при декодировании на nvidia?

 

ffmpeg -hwaccel cuvid -c:v h264_cuvid -re -i "udp://239.103.0.1:4124?fifo_size=1000000&overrun_nonfatal=1" \
    -map 0:v -c:v h264_nvenc -preset slow -profile:v high -level 4.1 -rc cbr -cq 1 -bf 2 -g 150 -b:v 800k -deinterlace \
    -map 0:a -c:a aac -ac 2 -b:a 96k -strict experimental \
    -f mpegts "udp://239.110.0.1:4124&pkt_size=1316"

Impossible to convert between the formats supported by the filter 'graph 0 input from stream 0:0' and the filter 'auto_scaler_0'
Error opening filters!

Привет, можно попробовать так.

 

ffmpeg -hwaccel cuvid -c:v h264_cuvid -deint 2 -re -i "udp://239.103.0.1:4124?fifo_size=1000000&overrun_nonfatal=1" \

    -map 0:v -c:v h264_nvenc -preset slow -profile:v high -level 4.1 -rc cbr -cq 1 -bf 2 -g 150 -b:v 800k  \

    -map 0:a -c:a aac -ac 2 -b:a 96k -strict experimental \

    -f mpegts "udp://239.110.0.1:4124&pkt_size=1316"

Share this post


Link to post
Share on other sites

И yadif и -deint 2 дают ту же ошибку

 

Impossible to convert between the formats supported by the filter 'graph 0 input from stream 0:0' and the filter 'auto_scaler_0'
 

Share this post


Link to post
Share on other sites

да, абсолютно верно.

деинтерлейс идет на CPU.

найти бы возможность осуществлять деинтерлейс на nvidia

Share this post


Link to post
Share on other sites

Начиная с версии 3.1 ffmpeg добавили Nvidia CUVID H264(hevc) decoder. В нем есть встроенный деинтерлейс

 

ffmpeg -h decoder=h264_cuvid

 

Decoder h264_cuvid [Nvidia CUVID H264 decoder]:
General capabilities: delay
Threading capabilities: none
Supported pixel formats: cuda nv12
h264_cuvid AVOptions:
    -deint             <int>         .D.V.... Set deinterlacing mode (from 0 to 2) (default weave)
        weave                        .D.V.... Weave deinterlacing (do nothing)
        bob                          .D.V.... Bob deinterlacing
        adaptive                     .D.V.... Adaptive deinterlacing
    -gpu               <string>      .D.V.... GPU to be used for decoding

Можно указать какой использовать -deint adaptive например

 

 

 

Impossible to convert between the formats supported by the filter 'graph 0 input from stream 0:0' and the filter 'auto_scaler_0'

 

Проблема возникает когда используем hw acceleration при декодировании, просто данные попадают сразу декодера в энкодер. Те если нужно задействовать фильтр yadif, для начала нужно выгрузить все, далее применить фильтр и загрузить обратно в карту, примерно так -vf "hwdownload,yadif,hwupload_cuda"

Share this post


Link to post
Share on other sites

аналогичная ошибка даже после применения выгрузки-загрузки

Impossible to convert between the formats supported by the filter 'graph 0 input from stream 0:0' and the filter 'auto_scaler_0'

 

P.S. а вообще если бы Nvidia Quadro M4000 умела жать аудио (не перекладывая эту функцию на процессор) - было бы замечательно

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×