Pull to refresh

Comments 21

Автор, давай вторую часть уже. Это у тебя рассчитана на немного другой круг читателей.
Пишу как раз, там скриншотов GDB много.
Но прогресс идёт семимильными шагами

Кстати о прогрессе.
Плач Ярославны
У НВидии на линуксе есть один застарелый и неприятный баг: когда система загружена (например, компиляция идет), экран частично или полностью перестает перерисовываться. Ну то есть вплоть до того, что вводишь в консоли ls, а результата не видишь. Но если сдвинуть окно — все моментально отрисовывается. Необновленное окно может висеть часами, т.е. это не задержка.
Багу уже много лет, его фиксили все — и нвидия, и разработчики гнома. Есть множество рецептов по его обходу, разной степени эзотеричности (от отключения power saving на видеокарте до каких-то непонятных ключиков в иксовых конфигах). Ни один не работает гарантированно. Обновление дров с сайта нвидии проблему не решает. Видеокарты, на которых баг вылазит — самые разные (от древней quadro до более-менее современных бюджетных). Линуксы, на которых баг вылазит, тоже разные: дебиан, ред хат энтерпрайзный, етц.

Так вот, интересно: починили уже или по-прежнему все очень печально?
Я примерно такой эффект видел на старом макбуке, на который установлен линукс, и по-моему там встроенная видеокарта intel. При работе в gnome-terminal не после каждого нажатия перерисовывается окно и иногда введённого текста не видно. Может это другая проблема, а может проблема в какой-нибудь прослойке: в иксах, в DRI. Насчёт nvidia не знаю ничего — на этих машинах иксы никогда не запускались.
Может это другая проблема, а может проблема в какой-нибудь прослойке: в иксах, в DRI.

Грузишь линукс с драйвером nvidia — грабли. Причем грабли возникают даже в текстовом режиме(!) при использовании frame buffer.
Грузишь тот же линукс с драйвером… эээ… как его бишь? nouveaux? — все прекрасно работает, но ни CUDA, ни OpenCL не доступны (что естественно).

Насчёт nvidia не знаю ничего — на этих машинах иксы никогда не запускались.

Погодите-ка. Как это не запускались? Разве для того, чтобы заработала CUDA, не нужны запущенные иксы?
Для работы OpenCL, например, иксы должны быть запущены обязательно.

Для CUDA не нужны иксы совсем, это точно. У Радеонов для OpenCL, вроде, нужны.
Весной пробовал nvenc (ffmpeg тогда его еще не умел) на Tesla K40 в сравнении с текущим на тот момент ffmpeg на 8 ядрах (-threads 8) Xeon E5-2600V2.
Если в один ролик за раз все было еще неплохо, то на двух оба варианта выдавали схожие числа. А на 3+ в параллель вариант на gpu сливал подчистую.
Так что или один-два потока на не самой дешевой gpu (~200к), или минимум 3-4-5 потоков на сильно более дешевых cpu (около 10к, если не ошибаюсь). При той же скорости каждого отдельного качества.

nvenc конвертился с пресетами NV_ENC_PRESET_LOW_LATENCY_DEFAULT, NV_ENC_PRESET_HQ и NV_ENC_PRESET_HP.
ffmpeg выдавал уже готовый готовый mp4 файл, в то время как nvenc выдавал только x264 поток, который еще нужно сохранить в mp4 контейнер.

Новый ffmpeg обязательно попробую, как руки дойдут.
Tesla K40 это Kepler. Для NVENC нецелесообразно пользоваться чем-то кроме новых Maxwell (GM20*). Я тестировал на Quadro K2000 с Kepler — скорость в разы меньше по сравнению даже с GTX 970.
А какая скорость выходит на Maxwell?
K40 выдавала около 600-700 кадров в секунду на целевом 240/360, но сваливалась до несерьезных 50-60 кадров для 720.
Нашел вот. Стоит попробовать :)
image

Попробовал, кстати, Grid K1: получилось достойно по скорости, но весьма печально по качеству. Но уже не сравнить с K40 — гораздо лучше.
На очереди еще Quadro M6000…
Отпишитесь, пожалуйста, как попробуете — очень интересно как оно.
Quadro M6000 вышла почти в 2 раза производительней, чем Grid K1. По показаниям nvidia-smi обе карточки были полностью загружены в энкодере. Grid K1, в свою очередь, примерно в 1.5-2 раза быстрее, чем на cpu уровня E5-2620v3.
Ну вот как раз и получается, что GTX 970 где-то рядом с M6000, притом что M6000 стоит больше в разы
А GTX 970 может обрабатывать сразу 40+ конвертаций?
Есть ограничение 2 сессии конвертации на систему, которое я снял во второй части своей статьи.

По производительности тут уже зависит от качества кодируемых потоков. Например, в моём юзкейсе процессор не успевает декодировать так много потоков (а диски читать и писать). В любом случае производительность/цена у GTX 970 получается самая высокая.
В моем случае очень важна высокая производительность во много потоков. Тесты гонял в ~45 параллельных потоков конвертации (качества 240p-1080p, из них 720-1080 примерно 20-30% общего числа). А так, вообще, еще в планах тесты на чем-то из семейства этой M6000, но попроще и подешевле).
можно брать любую GTX 970 карту или есть разница?
У меня все разные:
  • 4Gb <PCI-E> DDR-5 ZOTAC <GeForce GTX 970> (RTL) DualDVI+HDMI+DP+SLI
  • ASUS TURBO-GTX970-OC-4GD5 /GTX970,DVI*2,HDMI,DP,4G,D5


производители выставляют им немного разную частоту, в соответствии с этим есть несущественная разница. В остальном разницы нет. Количество видеопамяти некритично — на практике её расходуется в районе полугигабайта.
они однослотовые есть, или вы их в сервера не засовываете?
В microATX. Глубина стойки позволяет уложить два корпуса на одном уровне лёжа, 2 машины занимают где-то 3 юнита тогда.
Sign up to leave a comment.

Articles