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

14eefc09efefa081193130440f7f88e5.png

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

ed428785699760480671281c79314920.png

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

351e35d349306136db1da55ab6fc6340.png

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

7199da008d369d0f79c043d83deda877.png

На момент сборки вышла версия 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% весь период времени, ощущение такое что вы на грузовике Прогресс пытаетесь стартовать к МКС. Куда девается вся мощность скорее всего знает только Дружко

b31615a62025a22961ea4618a396c352.png

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

c552a97dfb770fe59fbd4816affe399b.png

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

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

1d18f5deaaeda4a0e40896c9c32a0259.png

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

45ad50836aa74533d99184af9c0c3ba1.png

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

d0b7fa123241497fd02fc7cd88777e2a.png

Нагрузить 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 в плане работы с материалами и сценой.

8976844daaed4c93e55abb7df7ab0c74.png

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

Выводы:

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

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

b933d00c7fd5b6bbc186760176ccdb0a.png