LINUX.ORG.RU

GPU ферма для рендера

 


2

1

Интересует есть ли решения, которые позволят сделать рендер на ~20 парней, которые сидят и пилят себе анимашки в 3dsmax, например.

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

То есть некий серверный софт (желательно под онтопик, конечно же), который принимает на рендер фигню из (maya? blender? 3dsmax?) и отсылает обратно к клиенту.

Было бы идеально, если бы серверный софт шел в комплекте с плагином к клиентскому софту и весь процесс был автоматизирован.

Расскажите, кто что знает :)

Перемещено mono из talks

★★★★★

Ну начнём с того, что GPU должен поддерживать сам рендер. К таким относится, например, Lux Render, но для анимации он подходит далеко не любой (ибо физически точный и фотореалистичный). Cycles, как я понимаю, отдельно от Блендера не жилец. А вообще по рендер-фермам была запись где-то здесь.

MageasteR ★★★★★
()
Последнее исправление: MageasteR (всего исправлений: 1)
Ответ на: комментарий от tazhate

Поставь просто рендерилки разные и сделай доступ к ним по ssh, например. Тогда можно будет тупо зделоть кнопку, запускающую рендер, на рабочем столе аниматора.

abraziv_whiskey ★★★★★
()
Ответ на: комментарий от StrongDollar

ты прямо как биткоинер какой-то

Неее, просто отдел сидит в соседнем офисе, которому такая поделка нужна.
А биткоины да, можно будет помайнить чутка :)

tazhate ★★★★★
() автор топика

Нужно просто найти рендерер с поддержкой распределённости. Лет 7 назад в университете ролик рендерили полночи, задействовав три компьютерных класса, каждый комп рендерил свой кадр. Деталей не знаю, т.к. далёк от этой темы, просто мимо проходил и видел.

unC0Rr ★★★★★
()
2 апреля 2013 г.

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

Превая тема — Почему именно GPU?

Последнее время тема с рендером GPU крайне активно развивается и действительно тому есть причины. На простых тестах GPU рендер дает прирост производительности в десятки раз. Это и скорость производства и экономия на железе. Очень впечатляет. Поддержка GPU такими пакетами как Blender (Cycles рендер) впечатляет еще больше. И вот мы попытались пойти по этому пути. Все рабочие места были оборудованы GTX580-590, сейчас еще 600-я серия появилась на 1 машине. Сетевой рендер в этом случае настроить не проблема. Ребята пошли домой спать, а менеджер заданий считает кадрики и складывает аккуратно в нужном месте. С таким же успехом можно было бы собрать рендер-ферму, напичкать ее GPU и считать вообще круглосуточно. Всё вроде не плохо... До тех пор пока вы не столкнетесь с подводными камнями:

  • глобальные сцены, перегруженные количеством объектов и сеток (GPU ограничено памятью, глобальные сцены могут потребовать 8-30Гб оперативки)
  • закрытые пространства, вызывающие слишком большое количество переотражений. Если помножить это на количество источников света, то мы опускаемся до скорости CPU рендера или ниже

А таких сцен в нашей студии — большинство.

Однако мы очень активно используем GPU рендер, но только для открытых пространств или отдельных объектов подвешенных в пространстве (батончик сникерса, вертолетик, самолетик и пр.) Реально в проекте «К-62», GPU выручило ну просто не представляете КАК! Заказчик сидел рядом с художником, тыкал пальчиком, просил что-то изменить и мы это делали в реальном времени, быстро и ловко, без всяких перерендеров. Учитывая то что сроки были крайне малыми, а модель данная из автокада крайне неподходящая, быстрый рендер выручил. Заказчик даже начал нервничать. Ну вроде как работаем-работаем, а результата-нет... А потом быстро так за пару дней - а вот вам ваше всё. Но вот когда мы дошли до интерьера вертолета, то вывалились в длительное ожидание. В конечном итоге пришлось схитрить и использовать много статичных кадров.

Поэтому подитожу: Битва GPU vs CPU пока бессмысленна. Нужно понимать преимущества кождой системы и КАЖДУЮ систему использовать в зависимости от текущих задачь.

Следующее продолжение будет о системах распределениях задачь. Это завтра.

Seliverstoff
()

«Завтра» немного затянулось, извиняюсь за неоправданные ожидания. Аврал + День рождение супруги = гремучая смесь

Продолжаем о системах распределения. Их довольно много, пишу только про те, с которыми работал + бесплатность + кросплатформенность.

Начнем с самых неприхотливых и простых способов — социальные рендеры: RenderWEB (http://www.renderweb.org/) Это приложение для Facebook но на сайте системы вы можете использовать ее и без Facebook, просто в этом случае не сможете использовать пару мелочей (ваш ник системе будет неизвестен и вы не участвуете в статистике)

Как это работает. Вы заходите на страницу, жмете на кнопку «Хочу стать волонтером», браузер грузит Java аплет. Аплет загружает Blender (слегка порезанную версию) и после проверки установки грузит задание — blend файл одного из пользователей. Если вы не волонтер, а совсем наоборот — нуждаетесь в волонтерах (энтузиастах которые делятся своими мощностями), то вы на странице проекта грузите свой файл (есть требования по подготовке) и оформляете свой проект. После этого волонтеры подключатся к вам и будут рендерить ваши кадры. По завершению рендера, вы забираете архив файлов с сервера и пускаете в монтаж.

Нас это приложение однажды очень выручило. Не хватало мощностей и мы создали свой проект на RenderWEB, потом обзвонили всех друзей и попросили принять участие. Сроки были выполнены, заказчик остался доволен.

Минусы: Не всё и не всегда работает стабильно. Если проект имеет статус «совершенно секретно», то лучше отказаться от системы. Любой из ваших файлов может запросто стать достоянием общественности. Есть ограничения по длительности рендера, количеству кадров, размеру изображения.

Второй социальный рендер — renderfarm.fi Здесь принцип работы немного иной. Распределение задач действует через программу BOINC (http://boinc.berkeley.edu/) BOINC разрабатывалась специально для волонтеров которые готовы делиться мощностями. То есть в отличие от первого способа речь идет не о просчете конкретных кадров, а о просчете отдельно взятых задачь. По большому счету задачи могут быть любыми, от расчета термоядерного реактора, до нашего и вашего рендера. Устанавливаем BOINC, настраиваем его на работу с сервером renderfarm.fi — считаем. Если хотите сами посчитать, то регистрируетесь на сервере, заливаете сцену и ждете своей очереди.

С этой системой я изрядно «баловался», но до реальных проектов не дошло. Главный подвох — ждать своей очереди надо днями и неделями... Это для работы студии не подходит, максимум для личного творчества и экспериментов.

Пока про социалки сказать более нечего, можно перейти к другому. И начнем наверное с самого «прокаченного» и известного — Афанасий (http://cgru.sourceforge.net/afanasy/doc/render.html)

Продукт создан «отцами основателями» компьютерной графики в России. Основан на Python и базах PostgreSQL (по дефолту, можно и другие базы) Код открыт, документация присутствует, работает весьма интересно.

Как обычно в этих системах. Сервер раздает задачи, клиенты их выполняют. Афанасий поддерживает не только Blender, а еще целую кучу программ из мира компьютерной графики.

В целом произвел — самые положительные впечатления. Отказались по глупой причине. Надо было задействовать рендер сцен Vue xStream (быстро и много), а он их не поддерживает. Приручить его быстро под наши запросы оказалось не легко, переключились на то, что оказалось проще и гибче, хотя и не имеет многих шикарных функций Афанасия. Наверное самое главное преимущество Афанасия — замечательный мониторинг всех процессов. Видно все, про всех, обо всём. Это довольно важное преимущество.

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

Однако мы переключились на Backburner, оказалось, что он не так скромен, как кажется...

Не смотря на то, что это Autodesk — вы можете забрать различные версия (по годам и операционкам) с сайта разработчиков и вас не попросят что-то платить.

Изначально он разрабатывался для 3D MAX, но после «всеобщей глобализации», распространился на другие пакеты и пошел дальше чем просто win-приложение. Теперь он доступен для OSx и Linux.

Внешне выглядит просто: - клиент - менеджер - мониторинг

Есть один важный бонус — cmdjob, это консольное приложение, которое принимает задачи на рендер. И если вы как следует разберетесь с его командами и возможностями, то сможете без особого труда «скармливать» на рендер любые программы, любые последовательности и даже динамически вешать свои скрипты на каждый отдельно взятый кадр, в общем можно всё, хоть крестиком вышивать...

На этом и остановились. Генерируем файлы запуска, генерируем лист заданий со списком файлов, запускаем рендер и после этого мониторим процесс.

На сегодня всё Дальше обзор самих рендеров. Сайклсы всякие, рендерманы и прочие...

Seliverstoff
()
11 мая 2013 г.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.