Переезжаем на ГПУ рендеринг Volume 02 или майним потихонечку.

Приветсвутю тебя, мой юный Шахтер! Да, да! теперь все визуализаторы где то внутри себя немного копают:) Ведь наступил золотой век рендеринга. Наконец то ваш компьютер почти ничем не ограничен в росте мощности, теперь не нужно держать на балконе целую рендер ферму чтобы считать картинки, достаточно и одного хорошего компьютера. В этой статье я расскажу о реальном опыте переезда на ГПУ рендеринг со всеми возможными проблемами и подводными камнями. Добро пожаловать под кат…

Исходными данными было наличие около 10 видеокарт 1070 различных форм и моделей и 15 рендер нод на процессорах Xeon, поддержка которых в рабочем состоянии превратилась в ад, поэтому было решено срочно избавиться от этого мусора и состряпать рендер ферму на ГПУ. Недолго думая была куплена майнерская Asrock H110 PRO BTC+ материнская плата с поддержкой 13 PCI-e слотов для видеокарт

и собран живописный монстр на 10 видеокарт и 3 блока питания, которые синхронно запитывают их:

На данном лоте представлены 10 видеокарт в одной Windows системе, которые работают! При этом только 2 из них одинаковые, все остальные разные как по производителю, так и по модели, это сделано специально чтобы проверить стабильность работы такой системы. (Asus, Palit, Gigabyte, Nvidia, KFA )

На момент сборки вышла  версия windows 10 которая обеспечивала поддержку 10 видеокарт в системе, windows 7 технически поддерживает не больше 6 штук(и судя по всему мелкомягкие не собираются ничего с этим делать), после этого драйверы “лишних” видеокарт пишут ошибку и работать отказываются, как их не проси. Запуск любой системы сводится к запуску со всей этой горой железа и установке 1 видеодрайвера, а потом несколько перезагрузок вплоть до того момента, пока винда не поймет как над ней издеваются и не примет всё как есть (обеспечит драйверами все видеокарты) :)

Если вам подобное удастся то, рано радоваться, с этим всем ещё надо как то взлететь :) то есть начать суть процесса -  ̶М̶А̶Й̶Н̶И̶Н̶Г̶!̶  Рендеринг!Мы давно и сильно зависимы от Vray по многим причинам, поэтому будем рассматривать его и Redshift.Итак, как вы видели на картинке в шапке,  Вирей может рендерить 10 видеокартами одновременно(VrayRT CUDA 3.6 ) Но делает он это абсолютно бесполезно, рендеринг на 5х1080 видеокартах тестовый сцены с чайниками (HDR+2 VrayLight+motionBlur+DOF) занимает 6 минут, а 10х1080 - 9 минут. При рендере большим количеством видеокарт Врей сталкивается с большой проблемой распределения ресурсов процессора и памяти, что приводит к тотальному провалу рендертаймов, к тому же Windows 10 дополнительно жрет 20% процессора относительно рендеринга в 7ке. При этом Вирей грузит видео карты на 100% весь период времени, ощущение такое что вы на грузовике Прогресс пытаетесь стартовать к МКС. Куда девается вся мощность скорее всего знает только Дружко

По ощущениям эффективность рендеринга вирея линейна до 3х видеокарт в системе, после чего производительность резко падает… (тесты делались на разных материнских платах, количестве оперативной памяти и процессорах).Все ксеоны уже давно переехали к новому хозяину и я уже было думал броситься с балкона 26го этажа прямо в сугроб, но на выручку пришел священный REDSHIFT

При этом он ограничен 8ю картами прямо на программном уровне. Но как обычно нельзя просто так взять и решить все проблемы, в виндовс 10 по необъяснимым причинам больше 4х видеокарт редшифт запустить на рендеринг не мог и крашился с вероятностью 146% (Windows 10 официальный с сайта майкрософт, билд обеспечивающий поддержку 10 гпу). Конечно же прошло немало часов и попыток переустановки драйверов, версий 3д макса, редшифта, танцев с бубнами, но помогло только одно - установка Windows 7.

Пришлось отказаться от 4х видеокарт  и оставить в системе 6 штук, которые успешно запустились и начали считать всеми любимые чайники

К моему ужасу редшифт посчитал их за 2 минуты и похоронил Vray окончательно. Казалось бы вот оно - Счастье! Но и это оказалось не всё, Редшифт в продакшен режиме показывал стабильную загрузку ГПУ на 45 процентов мощности какие бы настройки рендера ему не запихивали:

“Это какой то заговор!” - скажете вы, я лишь отвечу:

Нагрузить Redshift на 80-90 процентов можно включив Progressive режим рендеринга, который при этом не позволяет считать Render Elements нивкаком виде.

ФАКТЫ:

1 Разные видеокарты в одной системе работают абсолютно стабильно!

2 Вирей сильно зависит от Процессора во время рендера на ГПУ. На слабом CPU потери мощности рендеринга могут быть даже с 1 Видеокартой, Редшифт такой проблемы не имеет.

3 Майнерские материнки в целом подходят для рендеринга, но важно понимать что они ограничены моделями процессоров и количеством Оперативной памяти.

4 Операционка крайне важна и рассчитывать сейчас на стабильные решения не стоит, вероятно пройдет какое то время, прежде чем RS и остальные дотянуться до тестирования на новейших системах и залатают дыры в поддержке мульти ГПУ.

5 Специальные майнерские видеокарты не умеют рендерить (было куплено 3 штуки для проверки). Их драйвера сильно отличаются от тех на которых пишется CUDA рендереров и вероятность того что они будут рендерить правильно крайне мала(прецеденты были, но это ничтожно малый процент)

6 Нельзя покупать видеокарты с одним кулером, они улетят с вами на луну

7 Блоки питания от 1000 ВТ и обязательно с огромным количеством 6+2pin или 8pin PCI, иначе вам придется питать все несколькими, а это не супер надежно. (Идеальный вариант - серверный БП на 2400WT)

8 Старые материнские платы с 6-7 PCI слотами с большой вероятность не будут работать, потому что не рассчитаны именно на видеокарты в этих слотах и число линий не соовтествует требованиям, о чем вам с удовольствием скажет винда

Октан, центилеос, Фсторм и прочие не были представлены потому что их материаловедение не вписывается в наш пайплайн уж точно и предыдущие их тесты не выявили существенных преимуществ по скорости относительно RS и уж точно не стало удобнее чем Vray в плане работы с материалами и сценой.

Немного рендера с дофчиком и моушен блюром для расслабления глаз.

    Выводы:

На текущий момент идеального решения для работы с ГПУ не найдено, оптимальной рендер нодой является система из 6 видеокарт на Winows 7, вероятно очень скоро станет возможно работа редшифта с 8 видеокартами на Win10, но для этого нужно ждать новых релизов как одного, так и другого. Vray стабильно проигрывает в производительности, стабильности да и всём остальном. Забыть его не позволяет лишь широкая распространенность в той сфере в которой мы работаем (стоки и продажа 3д моделей).

PS: 35 видеокарт майнят около 100$ в сутки пока не рендерят :)) Майнить ВЫГОДНО!

Комментарии (59)

+1
omforce
У вас всегда есть что почитать. Спасибо !!!!
+1
Kelveen
как у редшифта дела с сценами которым требуется большое количество памяти например район экстерьерный или только унитазы рендерить??
0
niak_ris
да ему по барабану что рендерить, если надо он память берет из оперативки, это кстати единственный ГПУ рендер который так умеет.
+2
StunBreaker
а когда не надо что?? )) Если что - он всегда грузит оперативку..
и кстати не единственный, octane тоже так умеет - и называется это "Out of core"
p.s. кто же вам такой не хороший - посоветовал на обычных 1080 майнить? )
0
niak_ris
никто не майнит, это всё для рендера.
+1
StunBreaker
а материнка говорит - об обратном )
какой процессор то?
0
nkv3d
octane далеко так не умеет, хоть у них и заявлено, что у них честный "Out of core" личные тесты говорят об обратном.
Когда у меня стоял выбор между octane и Шифтом, octane слил именно по этому параметру. Хотя я тестил бетку октана, может купленная версия ведет себя иначе...Т.е. да, он грузит оперативку, но скорость проседает сильно и время загрузки сцены в оперативку дольше. чем у редшмфта.
P.S. для запуска редшифта очень важен объем видеопамяти и она тоже участвует, помимо обычной оперативки.
Например, если у вас очень тяжелая сцена, то рендер может не запуститься на компе с 32г оперативки и нвидиа1060 с 3г на борту, но запустится на таком же компе с 960видюхой с 4гигами, проверено опытным путем.
0
StunBreaker
"octane далеко так не умеет, хоть у них и заявлено"....
"Хотя я тестил бетку октана, может купленная версия ведет себя иначе."

- этого мне хватило, дальше комментировать нечего даже..
0
nkv3d
Почему? Чем тест на бета версии отличается от теста на купленной версии? Кроме вотермарок и резалюшена, естественно.
Или есть какой-то другой способ тестирования продуктов под конкретную задачу, кроме как их сравнение?)))
0
StunBreaker
вам слова "бета версия" вообще ни о чем не говорят? )
Я честно не особо слежу как там дела у октана - фиолетово до них.. )

Но вроде как работает у людей, может фэйк мало ли...https://www.youtube.com/watch?v=ZvllG9FwuUY 
0
nkv3d
Упс, мой косяк) оговорочка вышла, я говорил про триал версиюХ)) (ту что на сайте) ну вечер воскресение, короче перепутал определенияХ))...
0
StunBreaker
)
0
Slazzo
Не единственный который умеет всасовать из оперативке, они все так делают так или иначе, врай в динамическим режиме например, но это не эффективно особенно когда не поддерживается пакетные лучи.

Статья интересно читается но ничего нового и советы по ГПУ стареют быстро, позволю сказать что бесполезный опыт.
П.С. Волта с новой архитектурой под стандарт с++ выглядит обещающий.
0
omforcemobile
Progressive sampler применяешь и пофиг что рендерить,хоть брутфорс на все отскоки )) просто железо должно вывозить, а по поводу майнинговых мамок я бы осторожно относился к таким девайсам )) по мне так лучше серверного железа для вычислений не найти ))
+3
StunBreaker
Progressive у RS - НИКОГДА не используется в рендеринге финальной картинки, ИНФА 200% от разрабов...

если мне не поверите, то вот цитата от Adrian(RS developer):
"Всегда используйте рендеринг бакет для окончательного рендеринга, прогрессивный режим требует некоторых ярлыков, чтобы отображать вещи быстрее, но он будет игнорировать все ваши настройки, он забивает образцы по-разному и заменяет все ваши основанные на точке методы, такие как IC / IPC, msSSS с любой эквивалент raytraced или не вычислять их вообще, IC, IPC заменяется BF, тогда как msSSS не вычисляется вообще. "
+1
niak_ris
спасибо, уже разобрался как грузить его на 90% в продакшен моде.
0
medvejo123
октан посчитает ваши чайники с таким количеством карт в PT секунд за 10
+6
niak_ris
как будто он волшебный, да ? речь о 4к с моушен блюром и дофом. Вероятно он вообще их не посчитает и убежит плакать в австралию к судьям.
+1
ViTcore
так это все ради доф и мб? такие вещи на посте делаются и достаточно качественно, кроме единичных ситуаций.
0
niak_ris
в анимации на куче пересекающихся объектах 2д доф очень плохо себя ведет.
+1
ViTcore
про deep слышали?
+1
niak_ris
нет уж спасибо) цель делать ролики, а не умирать ради них.
0
nkv3d
+1 deep по-моему оправдан только в случаи продакшена голливудского масштаба, ибо сильно тяжелые секвенции.
Хватает того, что обычные exr секвенции весят под сотни гигов...
0
StunBreaker
...ох уж эта диванная аналитика... )
0
nkv3d
Спорить не буду) у меня нет опыта работы с deep compositing в рабочих проектах, только диванное баловство;)
0
StunBreaker
deep вообще как правило имеет чёрно белый спектр, особо никаких проблем не возникает если его сохранять в 16 бит.. Иногда можно даже к 8 прибегнуть )
0
nkv3d
нет, вы путаете deep compositing с черно белым каналом глубины.
deep compositing поддерживается через exr 2.0 и формат deep image поддерживается не всеми рендерами.
а вы говорите по канал глубины Z...
кстати в 3dsmax в Redshift нет возможности сохранять deepimage в отличаи от Maya. в арнольде вроде можно... https://www.reddit.com/r/vfx/comments/1zpj9f/what_is_the_difference_between_a_deep_and_z_depth/ 
0
StunBreaker
да сорян.. наспех читал, не заметил что deep а не depth. :0 )
0
medvejo123
ты хоть раз его пробовал или просто так написал? не читал, но осуждаю, да?
0
omforcemobile
это смелое утверждение ) но проверять мы его не будем )))))
+3
Generasim
Спасибо за инфу! И полезно, и с позитивом))
+1
Jacot
ПриветСВУТЮ, niak_ris)))
0
makarkoff77
А что там с Fstorm?
+1
-NiK-
Всё прекрасно. Правда экстерьерами я не занимаюсь.
0
StunBreaker
без outcore с эстерьерами - там всё печально )
+4
-NiK-
Экстерьер экстерьеру рознь. Я хоть с ними и не работаю но делал кое-что в шторме. В память 1070ой влез без проблем с грамотным инстансированием. Карба чуть ли не каждые пару месяцев уменьшает жор памяти. Последний билд утверждает что жрет в 2 раза меньше октана.
Короче работать можно. А рэдшифт по моему омерзителен :) но это всего лишь мое скромное мнение.
Не могу я после короны и шторма видеть сотню крутилок и кнопок твикающих каждый аспект движка. Я уже разбалован и обратно забалываться не намерен :)
0
StunBreaker
да тут что есть то есть - каждому своё ) я хорошо в целом к FS отношусь.. но те экстерьеры которые делаем мы, никак не влазят в память ) речь идёт о комплексах зданий (про деревья и траву молчу), и бывает о посёлках =)))
0
nkv3d
Да?) а в галерее зомби, драконы и дроны :P
да ладно, верю;)...
0
StunBreaker
вы прикалываетесь так? я здесь вообще не размещаю работы из моей организации. ну как бы запрещено мне..
А тут только мои домашние баловства я размещаю. )
0
nkv3d
Домашние баловства зачетные!)
Зря запрещают, это печально(... А ссылки на работы организации в комментариях разрешаются?
0
makarkoff77
Причём тут экстерьер?
+1
-NiK-
Мы находимся на сайте где большая часть людей работает с архитектурой. Экстерьеры как правило жрут несравненно больше памяти, чем интерьеры. Вот при чем.
Возможно я неправильно интерпретировал ваш вопрос. Если вы имели в виду "какой сейчас юридический статус у fstorm?", то суд в РФ он выиграл и вероятней всего через пару месяцев ему дадут разблокировать сайт.
Как правильно понять вопрос "Что там с Fstorm"?
0
makarkoff77
Как все сложно...Безнадежно...
+1
-NiK-
У вас лимит на количество символов? Поэтому вы изъясняетесь парой слов, так, что их невозможно понять однозначно?
-1
makarkoff77
Просто не люблю майнеров.
0
kapitan_starodub
Дико извиняюсь. С телефона читал- случайно минусанул(
+5
sten
вместо 35 видеокарт лучше купить битки!
+2
CeBeP_2012
а сколько будет новых мемчиков и смищных шуток когда биток упадет, ммм
+3
sten
когда упадет, его сразу начнут скупать !! как сейчас курс 14500......
+8
StunBreaker
В общем вывод таков: (Я затрону только то что касается Red Shift)

Вы абсолютно не в теме данного блога.. Да RS - это не просто одна кнопка "сделать красиво".. тут нужно вникать..
Я дам вам несколько наводок:

Asrock H110 PRO BTC - там только один слот PCIx16, остальные x1..

8 - карт абсолютно нормально работают - и не надо ждать следующих релизов, нужно как минимум зайти на офф форум RS, и поискать ответы там...

Про Progressive - выше отписался, дублировать не буду..

по поводу загруженности видео карт - копать в Virtual Memory... так же можно попробовать поднять “ray reserved memory”

p.s. Октан и FStorm не вписался в пайп??? омг...
p.s.2 и где инфа о процессоре?? Я надеюсь вы не на пентиуме пытаетесь раскрыть 1080ки..

В общем пользы нет, только вводите в заблуждение себя и других - полная отсебятина.. )
+3
makarkoff77
По видяхе на чайник это мощно!
0
Kaiwas
только Cycles, только хардкор!

Там есть процедурные кирпичи. Их можно откладывать )
0
lishipu
Интересно, Дружко майнит ?
+1
RenderFarm
дичь какая то, собирать ГПУ ферму на майнерской мамке с PCI-e x1 слотами и рассуждать о чем то)) RS на нормальных PCI-e x8-x16 грузит 6 ядерный ЦПУ на 40-50%, а на майнерской мамке нет, странно, не? ))) 6 и более карт на вин 10 прекрасно работают и т.д. все перечислять долго.. "афтар жжОт" в общем) Хотя поправлюсь тупо на статичных картинках может такая мать и не сильно критично, но на анимации это труба...
+1
Vo1chik
Если за те же деньги собрать i9 7980XE или ThreadRipper 1950x он будет рендерить анимацию без фликов (что характерно для GPU рендеров) и намного быстрее. Хватит всем впаивать фермы на видяхах, которые даже сетевой рендер не поддерживают. Redshift крутой рендер, когда разговор идёт о крупных компания как Blizzard, они могут себе позволить доработать что то и использовать несколько рендеров для просчёта симуляций и для анимации Redshift. 10 GTX 1080 стоят околоа 6000$, за такие деньги можно 2 AMD ThreadRipper 1950x собрать .... 2 рабочие станции 2 рабочих местах компа на которых можно делать симуляцию, анимацию и любой workFlow ...
0
nkv3d
6 строчек бреда) я извиняюсь... Какие флики? redshift отлично поддерживает сетевой рендер, даже на 2х 970 можно рендерить нормальную анимацию и не надо быть Близардом для этого.
0
Vo1chik
2 строчки бреда)

The Light Within - Elementalist Lux - League of Legends - вот продакшен видео где в волосах идут флики и в симуляции частиц тоже. Никто не спорит что можно накрутить любой рендер до идеального рендера, но сколько будет уходить на кадр на 2х 970 пол часа, тяжёлой сцены со сложной анимацией?

И дружочек почитай что такое ThreadRipper 1950x, цена у него 900$ на сегодняшний день, а мультикор рендер уступает только i9 7980XE ... 2x gtx 970 (650$) против Голиафа ...

Говоря о сетевом рендере я имел ввиду рендер 1ного кадра всеми ресурсами, а не распределённый рендер как в DeadLine.
0
nkv3d
Путаете фликкеринг с шумом от низкого сэмплинга, это разные вещи и происхождение у них разное. Ролик, о котором вы говорите посчитан в V-Ray и не думаю, что на gpu. Такие шумы могут вылезти на любом рендере(есть оно и в Arnold и в Mantra), gpu здесь ни при чем.
Ryzen еще не пробовал в деле, работаю на i7 lga2011-3, тут про мощности ничего не могу сказать...
А вот по ценам сравнение не корректное в том плане, что кроме процессора за 900$ вам придется вложиться в другие не менее дешевые детали, чья общая стоимость будет скорее всего переваливать за 2500 баксов.
В этом плане у видеокарт сильное преимущество. С финансовой точки зрения для небольшой конторы намного выгоднее проапгрейдить компы новыми видеокартами, чем купить новые компы...
"Говоря о сетевом рендере я имел ввиду рендер 1ного кадра всеми ресурсами" не понял, о чем вы?
0
Steeff
По шумам - кто-нибудь может подсказать, можно ли их убрать, не разбираясь в том, какой сэмплинг стоит повысить и не повышая их? В vray rt есть denoiser, который очень просто работает, в Iray (попробовал вчера, был бы ничего движок, но дико жрет память видеокарты, потому штука дохлая) тоже хороший денойзер. Попробавол редшифт на примитивах - ну результат какой-то быстрый, но чтоб можно было применить на интерьере нужно убрать шумы и конвертировать материалы. Просто смотрю на шумы и что-то мне подсказывает, что их можно сгладить без дополнительных сэмплов...