Рендеринг на GPU-сервере: сколько карт брать и как считать время

Рендер - задача, у которой есть неприятное свойство: она либо занимает машину целиком на часы, либо не идёт вовсе. Работать за компьютером во время просчёта невозможно, а дедлайн обычно приходится на тот момент, когда своей мощности не хватает. Отсюда и берётся аренда: карты нужны интенсивно, но не постоянно.

Разберём, чем просчёт на видеокарте отличается от процессорного, почему сцена обязана поместиться в видеопамять, как несколько карт сокращают время и в какой момент аренда становится выгоднее собственной фермы.

Процессорный рендер и рендер на видеокарте

Раньше просчётом занимался процессор, и многие проекты до сих пор так и считаются. Видеокарта выигрывает за счёт того, что рендер - идеально параллельная задача: кадр разбивается на части, и тысячи простых ядер считают их одновременно.

Практическая разница:

  • Скорость. На типовых сценах выигрыш измеряется разами, а не процентами.
  • Ограничение по памяти. У процессорного рендера в распоряжении вся оперативная память сервера. У карты только её собственная, и это главное ограничение.
  • Поддержка движком. Не всё считается на карте одинаково хорошо: часть эффектов и плагинов реализована только для процессора.

Общее устройство и разница между процессором и видеокартой разобраны в статье сервер с видеокартой.

Сцена обязана влезть в видеопамять

Это главное правило, и нарушение приводит к самой обидной ошибке: рендер стартует и падает почти в конце.

Видеопамять расходуется на геометрию, текстуры и вспомогательные данные. Больше всего обычно занимают текстуры высокого разрешения: сцена с сотней материалов по четыре тысячи пикселей съедает память быстрее, чем сложная геометрия.

Если сцена не помещается, вариантов немного:

  • уменьшить разрешение текстур, где это не видно в кадре;
  • разбить сцену и считать слоями;
  • включить режим, при котором часть данных берётся из оперативной памяти - работает, но заметно медленнее;
  • взять карту с большим объёмом.

Отсюда правило выбора: сначала смотрят на объём видеопамяти, потом на скорость карты. Быстрая карта, в которую сцена не влезла, бесполезна. Методика расчёта памяти под разные задачи разобрана в статье сколько видеопамяти нужно для нейросети - для рендера логика та же.

Сколько карт брать

как несколько карт сокращают время просчёта и почему это не работает для других задач.
как несколько карт сокращают время просчёта и почему это не работает для других задач.

У рендера есть свойство, которого нет у большинства нагрузок: он масштабируется почти линейно. Две карты считают анимацию примерно вдвое быстрее, четыре - вчетверо, потому что кадры независимы и раздаются картам параллельно.

Это принципиально отличает рендер от запуска языковых моделей, где вторая карта даёт совсем не двукратный прирост. Поэтому для рендера старшие конфигурации с несколькими картами имеют прямой смысл.

Практический подход к выбору:

Что считаетеСколько карт
Одиночные кадры, визуализацияОдна карта нужного объёма
Короткая анимация, дедлайн не горитОдна или две
Анимация с дедлайномСтолько, во сколько раз надо ускориться
Тяжёлая сцена, не влезающая в памятьСначала решить вопрос памяти, потом количество

Важная оговорка: память не складывается. Четыре карты по 48 ГБ не дают 192 ГБ под одну сцену - каждая карта считает свой кадр и держит сцену целиком у себя. Количество карт ускоряет, но не увеличивает максимальный размер сцены.

Как считать время и деньги

Считать нужно от часов просчёта, а не от цены карты.

1. Замерьте один кадр на арендованной карте в реальном качестве. 2. Умножьте на число кадров - получите время на одной карте. 3. Разделите на число карт - получите время на конфигурации. 4. Умножьте на почасовую ставку - получите стоимость просчёта.

Важно закладывать не только сам рендер: загрузка сцены, тестовые кадры и выгрузка результата тоже занимают оплаченное время. Обычно это плюс несколько десятков минут к расчёту.

Главное преимущество почасовой модели здесь очевиднее, чем где-либо: вы платите за часы просчёта, а не за простой фермы. Своя ферма между проектами стоит денег на электричество и обслуживание, а карты при этом не заняты. Расчёт точки, где покупка всё же выгоднее, разобран в статье купить видеокарту или арендовать GPU, а общая логика почасовой оплаты - в статье почасовая оплата.

Что подготовить до аренды

Час оплаченного времени, потраченный на выяснение, чего не хватает, - самая обидная статья расходов.

  • Соберите сцену со всеми зависимостями. Отсутствующие текстуры и внешние ссылки на файлы - причина номер один неудачных запусков.
  • Проверьте лицензии движка. Аренда сервера не включает лицензию на рендер-движок, её вы приносите свою.
  • Прогоните тестовый кадр локально в низком качестве, чтобы убедиться, что сцена цела.
  • Оцените объём файлов. Текстуры и готовые кадры занимают десятки, а то и сотни гигабайт. Диск берут с запасом, см. NVMe, SSD или HDD.
  • Продумайте, как забирать результат. Готовые кадры выгружают до удаления сервера, см. как передать файлы на сервер.

Частые ошибки

Берут карту по скорости, не проверив память. Сцена не влезает, и быстрая карта не помогает.

Ждут, что память сложится. Несколько карт ускоряют просчёт, но максимальный размер сцены не увеличивают.

Запускают финальный рендер без тестового кадра. Ошибка в материалах обнаруживается через шесть часов просчёта.

Забывают выгрузить результат. Удаление сервера уносит готовые кадры вместе с ним.

Считают только время рендера. Загрузка сцены и выгрузка кадров тоже оплачиваются.

Держат сервер включённым после просчёта. Тарификация идёт, пока машина существует.

Частые вопросы

Чем GPU-рендер лучше процессорного? Скоростью: рендер идеально параллелится, и тысячи ядер карты считают кадр в разы быстрее. Взамен сцена ограничена объёмом видеопамяти, а часть эффектов может не поддерживаться.

Что будет, если сцена не влезет в видеопамять? Рендер упадёт или переключится на медленный режим с использованием оперативной памяти. Поэтому объём памяти проверяют до запуска.

Складывается ли память нескольких карт? Нет. Каждая карта держит сцену целиком и считает свои кадры. Несколько карт ускоряют просчёт, но не увеличивают максимальный размер сцены.

Сколько карт брать под анимацию? Столько, во сколько раз нужно ускориться: рендер масштабируется почти линейно. Для одиночных кадров смысла в нескольких картах нет.

Как посчитать стоимость просчёта? Замерить время одного кадра, умножить на число кадров, разделить на число карт и умножить на почасовую ставку. Добавить время на загрузку сцены и выгрузку результата.

Входит ли лицензия рендер-движка в аренду? Нет. Провайдер предоставляет сервер с картами, лицензии на программы остаются вашими.

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


Нужны карты под просчёт? GPU-серверы для рендеринга на RTX 4090 с 48 ГБ - Blender, Octane, Redshift, V-Ray и DaVinci Resolve, от одной до четырёх карт, почасовая оплата от 149 руб. Платите за часы рендера, а не за простой фермы.