Преимущества использования GPU для ускорения рендеринга против «традиционного» CPU-подхода давно не нуждаются в рекламе — новые поколения видеокарт и движков для рендеринга порой позволяют получить в некоторых задачах временной выигрыш уже даже не разы, а на порядки.
Потребность в рендере видео с помощью GPU только обострилась при росте спроса на качество картинки 4К, тем более что хорошая GPU система дает дополнительные преимущества — такие как возможность посмотреть на промежуточных рендерах изменения сцены в реальном времени, оценить финальные рендеры и многое другое.
Мощная GPU система просто незаменима в случаях, когда приходится работать с «честным» мультисемпловым Depth of Field (DoF), шейдерами Motion Blur и другими «тяжелыми» эффектами и функциями, где даже мощнейшим и дорогущим процессорам Xeon с десятками ядер приходится биться над выводом каждого кадра по несколько часов. В то же время системы с одной (а желательно с несколькими GPU, что, впрочем, все равно дешевле 40-ядерного Xeon) рендерят тот же кадр за десятки, а то и всего за несколько минут.
Стоит ли говорить, что по мере роста популярности телевизоров и мониторов с картинкой 8К спрос на скоростной GPU-рендеринг будет только возрастать.
Видеокарты для GPU рендеринга: какой выбрать бренд
Все без исключения популярные GPU-движки для рендеринга — такие как Redshift, Octane, VRay, Cycles, успешно работают с видеокартами NVIDIA на базе вычислительных ядер CUDA. Про видеокарты AMD такое сказать нельзя, поскольку совместимая с ними технология OpenCl пока поддерживается только выборочно (V-Ray, Cycles).
Вычислительные ядра CUDA в GPU NVIDIA интересны тем, что они универсальны — то есть, их можно при необходимости «перенастроить» программным способом на любые задачи — игры, научные или графические расчеты, тренинг нейронных сетей, рендеринг или что-то еще.
Наконец, наиболее популярные GPU-движки Octane и Redshift и вовсе основаны на технологии CUDA, то есть, работают только с GPU NVIDIA. Преимущество такого подхода выражается в практически линейном росте скорости рендеринга при наращивании числа ядер CUDA.
Большинство популярного софта — такого как After Effects или Premiere Pro, поддерживают GPU и AMD, и Nvidia, но в последнем случае рендеринг, как правило, работает быстрее — сказывается более тщательный подход NVIDIA к этому вопросу.
Словом, выбор, конечно, есть, но гораздо практичнее все же выбирать не между брендами GPU, а между моделями видеокарт NVIDIA.
GPU для рендеринга: общие рекомендации
При выборе процессора для системы GPU-рендеринга необходимо обратить внимание на максимальные тактовые частоты ядер: чем они выше, тем быстрее происходит обмен данными с CPU по шинам PCIe материнской платы с видеокартой, на которую в данном случае перекладывается вся тяжесть процесса рендеринга.
Из этого также следует, что в случае конфигураций с несколькими GPU решающую роль при выборе процессора играет количество PCIe линий, поддерживаемое CPU. Максимальную производительность рендеринга покажет сервер, где выделен ресурс 16х PCIe 3.0 на каждую видеокарту. При выделении 8х линий PCIe на GPU ее производительность снижается, при х4 линиях катастрофически падает.
Время рендеринга напрямую зависит от объема видеопамяти (VRAM) каждой видеокарты. В частности, если вся сцена поместилась в видеопамять, определяющим фактором станет производительность GPU.
Если сцена полностью не помещается в видеопамять, рендер-движку придется задействовать под промежуточные данные оперативную память и в некоторых наиболее тяжелых случаях — даже выгружать их на накопитель в виде файла подкачки (swap file).
Так что в случае обработки сложных сцен с выгрузкой и подготовкой мешей для обработки с помощью GPU, загрузкой текстур с накопителя и подготовкой данных сцены и любыми другими процессами, дополнительно нагружающими и «тормозящими» CPU, время рендеринга может существенно увеличиться.
Дополнительно усугубить падение скорости рендеринга может несбалансированная конфигурация системы — например, жесткий диск с невысокими показателями ввода-вывода, слишком малый объем оперативной памяти или попросту медленный процессор.
При выборе конфигурации системы для GPU рендеринга в типичных случаях обычно ориентируются на объем оперативной памяти, в два раза превышающий VRAM. Нет особого смысла гнаться за RAM с пиковой тактовой частотой — она важна, но не критична в данном случае. Что гораздо важнее — обратить внимание на показатели латентности (задержек) оперативной памяти: модули RAM с CL14 будут быстрее чем с СL16.
Для большинства задач рендеринга, как правило, достаточно 32 ГБ ОЗУ, но в случае с сетками с высоким Poly, большим числом крупных текстур или, например, сложными сценами с сотнями и тысячами объектов есть смысл посмотреть на 64 ГБ ОЗУ. Для простых задач вполне достаточно 16 ГБ ОЗУ.
В отношении выбора накопителя для рендеринга стоит учитывать, что скорость его работы напрямую влияет на скорость загрузки и сохранения файлов сцены, текстур, активов и ссылок, скорость работы файла подкачки в случае переполнения оперативной памяти.
Так что в любом случае для рендер-системы лучшим выбором будет твердотельный накопитель, хотя бы на шине SATA, а в идеале — быстрый SSD с интерфейсом NVMe.
Выбор видеокарты
Базовая логика при выборе видеокарты для рендеринга очень проста: чем новее поколение GPU, чем больше вычислительных ядер и VRAM, тем лучше. Если совсем коротко, то минимальное время рендеринга обеспечит GPU с максимумом ядер CUDA и видеопамяти, ибо время GPU-рендеринга усредненного кадра почти линейно обратно пропорционально количеству CUDA ядер видеокарты.
На практике же, с учетом бюджета проекта, необходимо ориентироваться на оптимальный баланс цены и производительности для каждой ценовой категории.
Для конфигураций с несколькими видеокартами следует помнить еще одно критически важное правило: количество видеопамяти нескольких GPU в системе для рендеринга не суммируется! Более того, при рендеринге будет задействован наименьший объем VRAM из всех доступных в системе! Именно поэтому есть смысл останавливать свой выбор на мульти-GPU системах для рендеринга, где используются видеокарты одного класса или с одинаковым объемом VRAM.
Другой немаловажный нюанс о видеокартах NVIDIA: начиная с микроархитектуры Turing компания выпускает видеокарты RTX, в которых помимо привычных ядер CUDA есть тензорные ядра и ядра технологии трассировки лучей (рейтрейсинга — Ray Tracing, RT). В поколении Turing это карты класса GeForce RTX 20, в новейшем поколении архитектуры Ampere речь о линейке GeForce RTX 30.
Использование мощной RTX-видеокарты может значительно повлиять на скорость рендеринга, если рендер-движок эту технологию, и такие приложения сейчас уже не редкость — например, Octane или Redshift. В дополнение, тензорные ядра в GPU RTX даже в видеокартах для любительского рынка значительно ускоряют различные эффекты, например, сэмплинг с глубоким обучением нейронных сетей (DLSS, Deep Learning Super Sampling) для ускоренного улучшения качества картинки с помощью искусственного интеллекта.
В любом случае, видеокарты NVIDIA серии RTX даже без учета возможностей дополнительных ядер значительно превосходят по мощности решения предыдущих поколений.
В процессе выбора видеокарты придется оттолкнуться от каких-то данных — собственного опыта, рассказов профессионалов на профильных форумах, или бенчмарков, позволяющих примерно ранжировать видеокарты по производительности в каком-либо определенном приложении или синтетическом тестовом пакете.
В качестве примера приведем результаты тестирования рендеринга на выборочных видеокартах NVIDIA в пакете V-Ray 5 Benchmark (V-RAY GPU CUDA). Все данные есть в открытом доступе на сайте проекта, можно зайти, проверить данные и посмотреть другие тестовые конфигурации.
GPU | Результат в условных vrays (Score in vrays) |
1xRTX 3090 24576MB | 2 185 |
2xRTX 3090 24576MB | 3 752 |
4xRTX 3090 24576MB | 6 732 |
1xRTX 3080 10240MB | 1 821 |
2xRTX 3080 10240MB | 3 104 |
4xRTX 3080 10240MB | 5 413 |
1xTITAN RTX 24576MB | 847 |
2xTITAN RTX 24576MB | 1 907 |
1x RTX 2080 Ti 11264MB | 933 |
2x RTX 2080 Ti 11264MB | 1 902 |
4x RTX 2080 Ti 11264MB | 3 314 |
1xRTX 2080 SUPER 8192MB | 783 |
1xRTX 2080 8192MB | 861 |
1x GTX 1080 Ti 11264MB | 689 |
2xGTX 1080 Ti 11264MB | 1 250 |
4xGTX 1080 Ti 11264MB | 2 660 |
Безусловно, как и любой другой бенчмарк, этот тест не может быть руководством к действию для конфигурирования именно вашей GPU системы именно для ваших конкретных нужд. Тем не менее, с помощью подобных данных можно получить некоторое базовое понимание иерархии производительности GPU NVIDIA, и хотя бы «на глазок» определить возможности различных поколений и конфигураций видеокарт.
GPU-система для рендеринга: покупка VS аренда
В идеале хорошо
быть здоровым и богатым располагать неограниченным бюджетом: купить ферму для рендеринга с несколькими топовыми GPU, нанять самых дорогих специалистов в неограниченном количестве, а на сдачу самолет и студию с кофе и какао.
На практике — когда приходится разрываться между необходимостью привлечь парочку талантливых визуализаторов и желанием вбить деньги в мощное «железо», оптимальным сбалансированным решением может стать аренда выделенного GPU сервера.
Желание «иметь свое» понятно и логично, но давайте все же вооружимся калькулятором и посмотрим, где заканчивается выгода от обладания собственной GPU системой и подключается здравый смысл в пользу ее аренды.
GPU | Ядра CUDA | Тензорные ядра, поколение | Ядра RT, поколение | VRAM | Базовая тактовая частота | MSRP, NVIDIA Russia | MSRP, NVIDIA Netherlands |
RTX 3090 | 10 496 | 3 | 2 | 24 ГБ GDDR6X | 1,70 ГГц | От 136 990 руб. | 1549 |
RTX 3080 | 8 704 | 3 | 2 | 10 ГБ GDDR6X | 1,71 ГГц | От 63 490 руб. | 719 |
TITAN RTX | 4 608 | 2 | 1 | 24 ГБ GDDR6 | 1,365 ГГц | От 221 990 руб. | 2699 |
RTX 2080 Ti | 4 352 | 2 | 1 | 11 ГБ GDDR6 | 1,545 ГГц | От 119 990 руб. | 1259 |
RTX 2080 SUPER | 3 072 | 2 | 1 | 8 ГБ GDDR6 | 1,605 ГГц | От 56 990 руб. | 759 |
RTX 2080 | 2 944 | 2 | 1 | 8 ГБ GDDR6 | 1,515 ГГц | От 63 990 руб. | 849 |
GTX 1080 Ti | 3 584 | — | — | 11 ГБ GDDR5X | 1,410 ГГц | От 52 990 руб. | 699 |
Теперь самое интересное: в рознице этих карт по ценам, близким к рекомендованным, сейчас практически не найти. Спрос на GPU NVIDIA в разы превышает предложение.
Первая волна дефицита видеокарт нового семейства NVIDIA GeForce RTX 30, возникшая как за счет недостаточных объемов производства, так и за счет ажиотажного спроса со стороны геймеров и дата-сайентистов, возникла сразу же после официального анонса продаж — в сентябре 2020 года, при этом цены на все новинки на черном и вторичном рынках (на том же Amazon) немедленно превысили рекомендованные производителем в два-три раза.
Вторая волна ажиотажного спроса возникла уже в январе 2021 года — после внезапного взлета цены биткоина выше $30 тысяч. После того, как в очередь за производительными GPU пристроились еще и криптомайнеры, активировавшиеся после недолгой спячки, новая волна спроса продолжается до сих пор и носит гораздо более масштабный характер, поскольку из-за невероятного дефицита теперь с рынка практически «выметены» все более-менее производительные видеокарты NVIDIA — вплоть до GeForce 1070.
Так что в процессе оценки себестоимости собственной производительной GPU системы для рендеринга вряд ли стоит всерьез брать в расчет официальные рекомендованные цены, обнародованные NVIDIA, поскольку за видеокарту (или карты) точно придется переплатить.
Кроме того, в расходы на создание и эксплуатацию сбалансированной GPU системы для рендеринга также придется включить стоимость соответствующего CPU, материнской платы, оперативной памяти, накопителей, блока питания, систем охлаждения и подходящее для всего этого шасси, а также держать в уме немаленький ежемесячный счет за электричество. Так или иначе, но создание такой системы под соответствующее GPU в любом случае обойдется в несколько раз дороже покупки этой видеокарты.
Словом, далеко не всегда приобретение мощной системы оправдано масштабами и бюджетом небольших или разовых проектов. Впрочем, причины «вынести» цену GPU рендеринга за пределы собственной студии, как правило, долго искать не нужно: их всегда хватает.
Какие проблемы рендеринга решает аренда GPU сервера
Покупка высокопроизводительной видеокарты или даже нескольких GPU автоматически означает необходимость дорогостоящей модернизации всей вычислительной системы для линейного масштабирования мощностей. «Узкие места» при «механическом» наращивании GPU могут возникнуть где угодно — с недостатком оперативной памяти, слишком медленным CPU, тормозной СХД или слабым блоком питания. И это даже не затрагивая вопрос недешевой замены материнской платы, которая ко всему прочему должна поддерживать достаточное число линий PCI Eхpress под новые GPU.
- Предложения хостинг-провайдеров заведомо сбалансированы. Предлагая готовый Bare Metal сервер GPU, они сами озаботятся выбором специального серверного шкафа или стойки, обеспечат стабильную работу GPU и других компонентов системы — нужно лишь задать ее параметры в соответствии с требованиями проекта и бюджетом.
- Что именно дает приобретение дорогих мощных видеокарт для вашего проекта в целом. Да, рендеринг c GPU ускорится, но, может быть, разумнее потратиться на более мощный CPU или дополнительную RAM для ускорения работы всех приложений, а рендеринг отдать на «аутсорсинг»? С этой точки зрения аренда внешнего GPU сервера именно для сокращения времени рендеринга будет может быть менее затратным и мудрым решением.
- Дорогая система с новыми мощными GPU решит проблемы рендеринга, но вряд ли надолго. Дальнейшее масштабирование системы так или иначе приведет к необходимости стыковать несколько поколений видеокарт, биться с совместимостью поколений GPU, драйверами и лицензиями.
- Потребление GPU-ресурсов у внешнего провайдера всегда позволяет оперативно сократить или нарастить вычислительную мощь, просто поменяв ежемесячную тарификацию.
- Наконец, постоянный шум и тепловыделение мощных GPU, и это не мелочь. Парочка-тройка новейших видеокарт способны устроить парилку из средней руки студии всего за несколько часов. Совершенно незачем принимать такие «муки во имя искусства», если есть возможность разместить все это хозяйство в удаленном помещении, предназначенном для этих целей.
Аренда GPU сервера: типичные конфигурации
В таблице ниже приведены некоторые типичные конфигурации GPU серверов, предлагаемых сегодня хостинг-провайдерами, с указанием ориентировочных цен (на момент публикации).
GPU | CPU | RAM | HDD | Провайдер | Аренда, в месяц |
1хGTX 1070, 8 ГБ GDDR5 | 1хXeon E3 1230v5, 4×3,4 ГГц | 16 ГБ | 1 ТБ SATA 3 | Ikoula | 139 |
1xGTX2080Ti, 11 ГБ GDDR6 | 1хXeon E5–2699v4, 8×2,4 ГГц | 16 ГБ | 100 ГБ SSD | IQ HOST | 186 |
1хRTX 3080, 10 ГБ GDDR6X | 1хXeon E3–1240Lv5, 4×2x 2,1 ГГц | 32 ГБ | 480 ГБ SSD | Cherry Servers | 224 |
1хRTX3080, 10 ГБ GDDR6X | 1хRyzen 9 3900X, 12×3,8 ГГц | 32 ГБ | 480 ГБ NVMe SSD | HOSTKEY | 235 |
2хGTX1080Ti, 11 ГБ GDDR5 | 1хXeon E5–1630v4, 4×3,7 ГГц | 32 ГБ | 480 ГБ SSD | HOSTKEY | 265 |
Tesla T4, 16 ГБ GDDR6 | 1хXeon E-2236, 6×3,4 ГГц | 32 ГБ | 480 ГБ SSD | SELECTEL | 295 |
1хRTX3090, 24 ГБ GDDR6X | 1хRyzen 9 3900X, 12×3,8 ГГц | 64 ГБ | 512 ГБ NVMe SSD | HOSTKEY | 326 |
2x RTX3080, 10 ГБ GDDR6X | 1хXeon W-2223, 4×3,6 ГГц | 32 ГБ | 480 ГБ SSD | MajorHost | 399 |
1хRTX3090, 24 ГБ GDDR6X | 1хXeon E5–2609v4, 8×1,70 ГГц | 64 ГБ | 480 ГБ SSD | LeaderGPU | 599 |
2x RTX3090, 24 ГБ GDDR6X | 1хXeon W-2223, 4×3,6 ГГц | 32 ГБ | 480 ГБ SSD | MajorHost | 639 |
Tesla V100 16 ГБ GDDR6 | 1хXeon E5–2699v4, 8×2,4 ГГц | 45 ГБ | 400 ГБ SSD | OVHcloud | 799 |
Как видите, уже в базовой конфигурации предлагаемых в аренду GPU серверов учтены все рекомендации, приведенные выше для создания сбалансированной системы для GPU-рендеринга. Кроме того, в указанную цену, как правило, входит предустановка различного ПО, предоставление интернет-канала, техподдержка и ряд других сервисов. Как правило, хостинг-провайдеры с радостью идут навстречу заказчикам в вопросах изменения конфигураций с учетом их пожеланий.
Таблица с примерами предложений аренды GPU серверов в России.
GPU | CPU | RAM | HDD | Провайдер | Аренда, в месяц |
1хGTX1080, 8 ГБ GDDR5X | 1xXeon E5–2620v4, 8×2,1 ГГц | 16 ГБ | 240 ГБ SSD | NETRACK | 12 000 руб. |
1хGTX1080, 8 ГБ GDDR5X | 1xXeon E3–1230v5, 4×3,4 ГГц | 16 ГБ | 240 ГБ SSD | HOSTKEY | 12 300 руб. |
1хGTX1080, 8 ГБ GDDR5X | 2xXeon E5–2637v2, 4×3,5 ГГц | 32 ГБ | 2×120 ГБ SSD | BITWEB | 14 999 руб. |
2хGTX1080, 8 ГБ GDDR5X | 2xXeon E5–2620v4, 8×2,1 ГГц | 32 ГБ | 480 ГБ SSD | NETRACK | 20 000 руб. |
2хGTX1080, 8 ГБ GDDR5X | 2xXeon E5–1630v4, 4×3,7 ГГц | 32 ГБ | 480 ГБ SSD | HOSTKEY | 24 061 руб. |
2хGTX1080Ti, 11 ГБ GDDR5 | 1хXeon E3–1230v6, 4×3,5 ГГц | 32 ГБ | 480 ГБ SSD NVMe | HOSTKEY | 19 392 руб. |
2хGTX1080Ti, 11 ГБ GDDR5 | 2xXeon E5–2680v2, 10×2,8 ГГц | 64 ГБ | 240 ГБ SSD + 1 ТБ HDD | HOSTKEY | 29 537 руб. |
1xGTX2080Ti, 11 ГБ GDDR6 | 1хXeon E5–2699v4, 8×2,4 ГГц | 16 ГБ | 100 ГБ SSD | IQ HOST | 16 785 руб. |
1xGTX2080Ti, 11 ГБ GDDR6 | 1хXeon E-2124, 4×3,3 ГГц | 32 ГБ | 512 ГБ SSD | IT SOFT | 18 977 руб. |
1хRTX2080Ti, 11 ГБ GDDR6 | 2хXeon Silver 4214, 12×2,2 ГГц | 64 ГБ | 1920 ГБ SSD | iTi Racks | 51 550 руб. |
2xGTX2080Ti, 11 ГБ GDDR6 | 1хXeon E-2236, 6×3,4 ГГц | 64 ГБ | 512 ГБ SSD | IT SOFT | 27 525 руб. |
1хRTX3080, 10 ГБ GDDR6X | 1хRyzen 9 3900X, 12×3,8 ГГц | 32 ГБ | 480 ГБ SSD NVMe | HOSTKEY | 25 318 руб. |
2хRTX3080, 10 ГБ GDDR6X | 1хRyzen 9 3900X, 12×3,8 ГГц | 64 ГБ | 1 ТБ SSD NVMe | HOSTKEY | 50 187 руб. |
1хRTX3090, 24 ГБ GDDR6X | 1хRyzen 9 3900X, 12×3,8 ГГц | 64 ГБ | 512 ГБ SSD NVMe | HOSTKEY | 29 268 руб. |
2хRTX3090, 24 ГБ GDDR6X | 1хRyzen 9 3900X, 12×3,8 ГГц | 128 ГБ | 1 ТБ SSD NVMe | HOSTKEY | 61 050 руб. |
1хTesla K40, 12 ГБ GDDR5 | 2xXeon E5–2637v2, 4×3,5 ГГц | 32 ГБ | 2×120 ГБ SSD | BITWEB | 16 999 руб. |
Tesla T4, 16 ГБ GDDR6 | 1хXeon E-2236, 6×3,4 ГГц | 32 ГБ | 480 ГБ SSD | SELECTEL | 30 980 руб. |
Tesla T4, 16 ГБ GDDR6 | 1хXeon E-2288, 8×3,7 ГГц | 64 ГБ | 960 ГБ SSD | HOSTKEY | 38 590 руб. |
1хTesla T4, 16 ГБ GDDR6 | 2хXeon Silver 4214, 12×2,2 ГГц | 64 ГБ | 1920 ГБ SSD | iTi Racks | 47 550 руб. |
1хTesla V100, 32 ГБ HBM2 | 2хXeon Silver 4214, 12×2,2 ГГц | 64 ГБ | 1920 ГБ SSD | iTi Racks | 102 550 руб. |
1хTesla V100, 32 ГБ HBM2 | 2хXeon E5–2630v4, 10×2,2 ГГц | 64 ГБ | 480 ГБ SSD | SELECTEL | 114 480 руб. |
1хTesla A100, 40 ГБ HBM2 | 2хXeon Silver 4214, 12×2,2 ГГц | 128 ГБ | 960 ГБ SSD | HOSTKEY | 90 709 руб. |
1хTesla A100, 40 ГБ HBM2 | 2хXeon E5–2630v4, 10×2,2 ГГц | 64 ГБ | 480 ГБ SSD | SELECTEL | 119 480 руб. |
Выводы
Аренда профессионального CGI/VFX софта для 3D-моделирования и постпроизводства давно стала повсеместной реальностью. Каждый желающий может сегодня запросто арендовать самый лучший софт от Adobe, Autodesk, DaVinci, Octane, Redshift, Maxon, Chaos и других лидеров отрасли, который раньше был доступен только при приобретении дорогущей «пожизненной» лицензии. Нужно всего лишь оплатить его использование на время проекта.
Возможно, идея аренды GPU сервера для рендеринга пока не столь привычна, но по своей прикладной сути такой подход ничем не отличается от уже привычной аренды софта или любой другой (аппаратной) Hardware-инфраструктуры. Каждый может обеспечить себя на время проекта скоростным GPU-рендерингом за счет ежемесячных или еженедельных выплат, несравненно меньших, чем расходы на приобретение собственной системы сравнимого класса.
Словом, попробуйте посмотреть на схему аренды GPU сервера как на разумное перераспределение капитальных расходов (CAPEX) в пользу креативной составляющей вашего проектного бюджета. Иногда это гораздо выгоднее.
Что касается выбора конкретной модели GPU для системы рендеринга — неважно, при покупке ли или в аренду, помните главное: скорость рендеринга при равных условиях софта более всего зависит от объема VRAM и от поколения видеокарты: чем новее, тем лучше, в идеале — RTX3090, которая может предложить максимальный набор новейших ядер CUDA, RT и Tensor.
Для платформ с несколькими GPU также важно помнить, что видеопамять в такой системе рендеринга не суммируется, рабочая «отсечка» пойдет по видеокарте с наименьшим объемом VRAM. В такой ситуации наиболее разумно использовать одинаковые GPU или хотя бы с одинаковым объемом VRAM.