Приветсвутю тебя, мой юный Шахтер! Да, да! теперь все визуализаторы где то внутри себя немного копают:) Ведь наступил золотой век рендеринга. Наконец то ваш компьютер почти ничем не ограничен в росте мощности, теперь не нужно держать на балконе целую рендер ферму чтобы считать картинки, достаточно и одного хорошего компьютера. В этой статье я расскажу о реальном опыте переезда на ГПУ рендеринг со всеми возможными проблемами и подводными камнями. Добро пожаловать под кат…
Исходными данными было наличие около 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$ в сутки пока не рендерят :)) Майнить ВЫГОДНО!