GPU Rendering Volume 03
Приветствую вас юные и старые любители быстро рендерить. ̶В̶А̶Ш̶И̶ Мои мучения закончены, я познал дзен в сборке рендер системы на ГПУ и готов поделиться всеми знаниями, которые я приобрел перепробовав всё что только можно и протестировав вживую нереальное количество сборок железа и ПО чтобы достичь максимальной производительности в минимально возможный бюджет. Если вы хотите узнать все детали в кратком изложении, то добро пожаловать к чтению дальше.
Вот такие ролики теперь считаются за 4 часа )
Много воды утекло с написания предыдущих двух частей, поэтому можно смело их не читать :)
Итак:
Самое главное, что нужно понимать, что любой компьютер в настоящее время ограничен количеством видеокарт, которые в него можно вставить и это 7 штук (больше можно, но это уже не будет иметь смысла для рендеринга, потери производительности будут больше чем 100%)
Чем больше видеокарт вы хотите вставить, тем дороже будет стоить система для такой конфигурации (материнская плата и процессор, а так же питание, оперативная память и т п). Поэтому вам важно сразу определиться с общим бюджетом и только потом выбирать Видеокарты и их количество.
Ограничение на количество видеокарт жёстко определяется количеством полноформатных 16x PCI-Express слотов и процессором! Есть такое понятие как PCI линии, у каждого процессора это число своё и именно отвечает в конечном счете за то, сколько видеокарт вы сможете использовать на полную мощность.
Нас интересуют только x16 PCI Express Slot.
Старый PCI слот уже устарел и его почти нигде нет, но нужно быть внимательным, чтобы случайно не купить материнку с не теми слотами.
Как вы можете помнить из предыдущей статьи - мы имеем возможность подключить видеокарту и через x1 Pci слот, но как выяснилось при тестировании - производительность видеокарты в этом слоте падает почти на 50%, потому что пропускная способность при таком подключении ограничена 1 PCI линией процессора.
Тут надо пояснить что х16 это и есть 16 линий PCI, это максимальная пропускная способность слота при обмене данными с процессором. Для майнинга достаточно и одной линии, а вот для рендеринга всё сложнее. Слот x16 может работать не только на максимуме, но так же в режиме x8 и x4, соответственно занимая меньше линий процессора. И тут уже надо понимать, что современные процессоры довольно ограничены в этом параметре, а именно
Последнее поколение i7-i9-Xeon - до 40 линий, чем младше процессор тем меньше линий. Во всех магазинах в расширенных характеристиках это число указано как PCI lines!
Последнее поколение AMD Ryzen ThreadRipper- до 60 линий(при этом важно понимать что такой процессор в системе определяется как 2!!!), простой райзен - 20 линий.
Таким образом поделив число линий процессора на 16 мы можем узнать сколько видеокарт в принципе можно поставить без потерь в производительности и для большинства ближайшее кратное число с остатком будет 32(для однопроцессорных систем), то есть больше 2х карт без потерь производительности вставить не удастся, и наиболее оптимальным и простым решением будет взять 2х1080ти и вставить в простейший intel с 40 линиями - это самый бюджетный вариант без потерь
Если вам всё таки нужно больше мощности, то тут уже придется идти на компромиссы:
Х16 = 100%
Х8 = 95%
Х4 = 85%
X1 = 50%
Как вы видите потери до х1 несущественные и можно ими пренебречь.
Если вам нужно 3 видеокарты, то вы ищите Intel процессор с 24 линиями, и материнскую плату с 3мя полноценными x16 слотами. Обязательно при этом нужно убедиться что материнская плата может работать в режиме 8-8-8, то есть на каждый слот вы получите по 8 лини процессора и потеряете всего 5% от мощности каждой видеокарты. Так же может быть что материнская плата рассчитана на режим 16-4-4. Такие подробности можно посмотреть только на сайте производителя в разделе спецификаций. Эти цифры довольно важны, если вы случайно купите материнску плату с 3мя х16 слотами и они будут поддерживать режим 16-8-0 - то третья карта с вероятностью в 99% так и не будет работать вообще.
Ещё более бюджетный вариант на 3 видеокарты это Amd Ryzen с 20 линиями PCI
Который работает в режиме 8-8-4 - главное чтобы материнская плата была именно в таком режиме. Процессор и материнка легко могут уложиться в 200$!!! У интела это будет минимум в 2 раза дороже. Собственно рендер ноды я в итоге собирал именно такие. 3х1080+амдРайзен. Причем топовый АМД процессор не нужен, достаточно 4х ядерного с частотой выше 4ггц. Частоста процессора влияет на второстепенные процессы типа загрузки сцены, текстур, триангуляции мешей и т п, поэтому более дешевые процессоры могу на ГПУ выдавать большую скорость рендера как это не смешно. У меня случайно под рукой валяется процессор xeon 44 ядерный с частотой 3.5 ггц стоимостью около 4 000$, так вот он ниразу не выиграл по времени у Ryzen за 100$
Надеюсь вам нескучно и хотя бы чуть чуть понятно:)) Дальше будет веселее
Предположим вы хотите 4 видеокарты. Тут уже системы будут работать в режиме 16-8-8-8 и исключительно на дорогих intel и дорогом Ryzen threadripper с 60 линиями в режиме 16-16-16-8, собственно вам просто нужно найти материнскую плату с 4 полноценными х16PCI и проверить на работоспособность в этом режиме.
Но!
Последний среднебюджетный вариант это 5 видеокарт, остальные варианты будут доступны уже только в серверном сегменте материнских плат. AMD пока в принципе не имеет решений для 5+ PCI express слотов в материнских платах, а у интела существуют серверные 1 процессорные и 2х процессорные варианты на 5-6-7 x16-PCI слотов, но тут уже для 1 процессорной системы с 40 линиями мы будем иметь возможность работы только 8-8-4-4-4-4-4 и т п. Для двух процессорной системы уже будет доступно 80 линий и там обещают работоспособность в режиме 16-8-16-8-16-8-16 или типа того, но найти и собрать такую систему это то ещё мероприятие )))
Слева - вариант для AMD на 5 видеокарт, справа интел 2х процессорный для 7 видеокарт.
Остается только одна проблема - теплоотведение, самый простой вариант реализации это использование специальных x16-x16 райзеров, которые достаточно сложно найти в реальном мире (только на заказ) при этом важно чтобы там было дополнительное питание, иначе ничего не заработает. Выглядит это чудо вот так :
А в сборе и того хуже ))
Важный момент для 4+ видеокарт вам потребуется уже не 2х канальный режим оперативной памяти, а 4х канальный, то есть обязательно нужно вставить 4 планки в нужные слоты материнской платы, иначе у вас будет вылетать рендер.
Ну и главное: ГПУ рендер нереально быстр, наконец то можно позволить себе такую роскошь как рендер 4к ролика за 1 ночь, а иногда и за несколько часов.