Распределенная визуализация с помощью NVIDIA Iray Server

Процесс визуализации требователен к производительности компьютеров. Любая современная система визуализации требует от рабочей станции CG-художника большой производительности и наличия нескольких CPU и GPU. Платформа Iray от компании NVIDIA не является исключением и рассматриваемое в данном обзоре решение предоставляет не только возможности для выполнения вычислений на локальной системе, а также может быть использовано вместе с серверным вариантом NVIDIA Iray. Это позволяет избежать зависимостей от конкретного программного обеспечения и выполнять вычисления с помощью серверной редакции ядра визуализации Iray.
Все иллюстрации в данной статье визуализировались на нескольких компьютерах с NVIDIA Iray Server, это позволило избежать излишней нагрузки на основную рабочую станцию и даже использовать мобильную рабочую станцию небольшой производительности.

Рис. 23. Общая диаграмма применения NVIDIA Iray Server.

Серверная редакция NVIDIA Iray Server может быть развернута на любом компьютере с операционными системами Windows и Linux. Сервер работает в качестве консольного приложения или службы, и управляется с помощью простого Web интерфейса. На рабочие станции пользователей может быть установлен NVIDIA Iray Plug-in для 3ds Max, Maya, Revit и Rhino, а с помощью инструментов отправки заданий или удаленной визуализации, все вычисления будут выполняться с помощью NVIDIA Iray Server установленным на одном или нескольких узлах.
Такой подход позволяет увеличить производительность вычислений и скорость работы дизайнеров, а так же обеспечивает возможность применения серверов с NVIDIA Iray Server в дата-центрах с серверами виртуализации. Где дизайнеры работают не с физическими рабочими станциями, а на виртуализированных рабочих станциях с поддержкой VDI и NVIDIA GRID.

Рис. 24. Отправка задания в очередь на Iray Server из Iray+ for 3ds Max.

В NVIDIA Iray+ for 3ds Max есть специальный инструмент Queue Server, который позволяет отправить сцену из 3ds Max в очередь на визуализацию с помощью NVIDIA Iray Server. Данный инструмент позволяет выполнять подключение к серверу, указывать имя пользователя и пароль, задавать имя заданию и выходному файлу, а также настраивать формат данных и цвета. Если вычисления выполняются на аппаратно-программном решении NVIDIA Quadro VCA можно установить специальный флажок, что позволит использовать специальные настройки потока данных доступные в NVIDIA Quadro VCA.
После установки и развертывания NVIDIA Iray Server вам станет доступна возможность выполнить его настройку с помощью простого и понятного Web интерфейса. Данный интерфейс позволяет управлять заданиями в очереди на визуализацию, обеспечивает контроль пользователями и аппаратными ресурсами.

Рис. 25. Страница входа в систему управления NVIDIA Iray Server.

Достоинством NVIDIA Iray Server является возможность создания нескольких пользователей для отправки заданий в очередь визуализации и возможность гибкого управления заданиями через простой интерфейс. Например, можно создать пользователя для каждого из дизайнеров и предоставить им возможность отправки заданий. Задания пользователя Revit могут быть назначены одному пользователю, а задания пользователя 3ds Max, другому. Администратор может переназначать задания в очереди и расставлять их в зависимости от важности. Каждый пользователь может определить приоритет задания. Чем выше приоритет, тем быстрее будет выполнено задание в очереди.


Рис. 26. Страницы Queue и Results с текущими и выполненными заданиями очереди визуализации.

Любому пользователю может быть назначена роль администратора, но важно помнить, что несколько администраторов могут по своему усмотрению распределять задания. Для обеспечения централизованного управления лучше обойтись одним, максимум двумя администраторами.

Рис. 27. Параметры и ресурсы NVIDIA Iray Server.

Отдельного внимания заслуживает управление аппаратными ресурсами. На данный момент никого не удивить наличием нескольких CPU и GPU в одной системе. А вот для того чтобы распределить ресурсы между различными приложениями и задачами необходим удобный и понятный инструмент. С помощью Web-интерфейса NVIDIA Iray Server вы можете выбрать, какой из установленных в рабочей станции или сервере графических процессоров будет выполнять вычисления, использовать CPU или нет, какой объем оперативной памяти и графической памяти доступен в системе и многое другое.
Если используется аппаратно-программное решение NVIDIA Quadro VCA, администратор может задать подключение к нему и выполнять перенаправление заданий очереди на сервер VCA. Что позволит использовать богатые вычислительные возможности 8 GPU NVIDIA Quadro M6000.
Все результаты визуализации могут быть загружены пользователем на локальный компьютер в виде архивов или отдельных файлов. Стоит отметить, что в процессе визуализации изображения обновляются, можно проследить изменения качества получаемого изображения и принять решение о том, удовлетворяет результат или нет.
Если необходимо быстро обновить задание на визуализацию и сделать новый вариант изображения. Можно воспользоваться простой функцией копирования задания очереди. Это значительно проще и быстрее, чем открывать сложную полноценную сцену в 3D редакторе и создавать новое задание.

Рис. 28. Пример создания копии задания очереди.

Каждой новой копии вы можете присвоить уникальное имя, приоритет, формат графического файла, разрешение и выбрать типы буферов кадра, для хранения информации об отдельных проходах. Если вы планируете использовать Light Path Expressions, диалог копирования задания позволяет добавить новые выражения, а так же определить их имя и тип файла.
В процессе подготовки иллюстраций к статье были использованы два компьютера с NVIDIA Iray Server. Финальные изображения визуализировались на компьютере с двумя GPU, а предварительные тестовые визуализации проводились в режиме ActiveShade с применением потокового режима визуализации NVIDIA Iray Server на другой удаленной системе.
Все компьютеры или серверы с NVIDIA Iray Server в единой локальной сети могут быть объединены в единый вычислительный кластер, что позволяет создавать масштабируемые системы для повышения производительности в визуализации образов. Когда несколько узлов с NVIDIA Iray Server объединены, в разделе ресурсов (Resources) будет отображена информация о том, что Iray Server работает в режиме кластера.

Тестирование производительности GPU в визуализации с NVIDIA Iray Server

В процессе исследования возможностей NVIDIA Iray Server я провел ряд тестов производительности графических ускорителей различных моделей. Тестирование проводилось на основе рабочих станций с графическими ускорителями NVIDIA Quadro производства компании PNY Technologies и процессорами Intel Xeon.

Тест заключается в определении максимального количества итераций (Iterations) вычисляемых с помощью CPU или GPU в процессе визуализации в заданный промежуток времени (продолжительность). Каждому тесту было отведено по 120 минут (7200 секунд), а максимальное количество итераций равно 20000. Чем больше итераций может выполнить элемент вычислительной системы, тем более производительным он является. Задание теста отправлялось с отдельной системы представленной мобильной рабочей станцией с Autodesk 3ds Max 2016 и NVIDIA Iray+ for 3ds Max.

Так как участвующие в первом и втором тестировании системы значительно отличаются по техническим характеристикам, я решил сконцентрировать максимум внимания на производительности графических процессоров и определить ее прирост в зависимости от архитектуры.

В тесте принимали участие три рабочих станции, 4 графических ускорителя линейки NVIDIA Quadro производства компании PNY Technologies и 1 графический ускоритель производства компании HP на основе мобильного графического чипа NVIDIA Quadro K3100M. Для чистоты эксперимента в тестах GPU мы отключали вычисления на CPU в глобальных параметрах ресурсов Iray Server. Это позволило получить чистый результат в скорости вычислений исключительно средствами графических ускорителей. Перед тем как мы рассмотрим результат тестирования производительности GPU в визуализации с помощью NVIDIA Iray Server, рекомендую познакомиться с характеристиками рабочих станций принявших участие в первом тесте, посвященном GPU на архитектуре NVIDIA Kepler:

Это практически идентичные по своим характеристикам рабочие станции, но с несколькими различиями. В рабочей станции HP Z1 Gen2 используется процессор Intel Xeon E3 третьего поколения, а в рабочей станции FORSITE 350D процессор Intel Xeon E3 второго поколения. В рабочей станции HP Z1 Gen2 установлено 32 Гб оперативной памяти и SSD накопитель большего объема по сравнению с соперником.
Рабочая станция от FORSITE обладает важным козырем, двумя GPU. Оба GPU могут быть использованы для вычислений в NVIDIA Iray Server и в любом другом CUDA приложении, это может обеспечить более высокую производительность системы. А по условиям нашего теста, чем больше итераций будет выполнено, тем производительнее система и используемые в ней компоненты.

Рис. 29. Результат тестирования CPU Intel Xeon и GPU NVIDIA Quadro.

Первое на что мы обратили внимание, – производительность центрального процессора. Третье поколение Intel Xeon E3 продемонстрировало достаточно хорошую производительность и обошло своего предшественника на 200 итераций. Это было достигнуто за счет более современной архитектуры процессора, на момент выпуска данной модели, и повышенной частоты. Но ядро визуализации NVIDIA Iray разрабатывается с учетом вычислений на GPU, поэтому мы уделили особое внимание производительности именно графических ускорителей. На приведенной выше диаграмме GPU выставлены по результатам тестирования и производительности.

Первый тест целиком посвящен графическим ускорителям на основе GPU архитектуры NVIDIA Kepler. Профессиональные графические ускорители PNY NVIDIA Quadro K4000 и HP NVIDIA Quadro K3100M практически идентичны по техническим характеристикам, это позволило достигнуть идентичного результата в проведенных тестах. Разница в 47 итераций незначительна и на итоговом результате визуализации это не так заметно. Но используя возможности Multi-GPU системы можно значительно увеличить производительность вычислений и добиться большей производительности. Так, при использовании двух GPU в системе от FORSITE в процессе тестирования удалось достичь лучшего качества и большей скорости визуализации по сравнению с системой с одним GPU.

Но развитие технологий не стоит на месте. Я обратился к своим старым партнерам из компании FORSITE для проведения второго теста, но на этот раз тестированию подверглись графические ускорители последнего поколения, на основе архитектуры NVIDIA Maxwell, производства компании PNY Technologies.

Во втором тесте была использована рабочая станция с процессором Intel Xeon E5 третьего поколения, 32 Гб памяти и двумя графическими ускорителями PNY NVIDIA Quadro M5000 и PNY NVIDIA Quadro M6000. На данный момент это самые производительные профессиональные GPU компании NVIDIA обладающие наибольшим объемом графической памяти GDDR5. Последние версии ядра визуализации NVIDIA Iray оптимизированы для вычислений на графических ускорителях линеек NVIDIA Quadro и NVIDIA Tesla, а также оптимизированы для графических чипов архитектуры NVIDIA Maxwell.

Результаты второго теста были поразительны. Такие задачи визуализации как трассировка лучей, отражение/смешивание света и визуализация глянцевых отражений выполнялась гораздо быстрее, а это позволило значительно повысить качество изображений теста. По сравнению с тестированием систем в первом тесте. Система во втором тесте продемонстрировала высокую скорость вычислений множества итераций, превосходя результаты предыдущего теста минимум в 2 раза. И это только один графический ускоритель. Наибольшей производительности удалось достичь с помощью применения двух графических ускорителей. Благодаря их совместной работе было достигнуто максимальное количество итераций, превышающее 12 тысяч, из условных 20 тысяч. Подчеркну, что все вычисления выполнялись исключительно силами GPU, функция вычислений на CPU была отключена в глобальных параметрах NVIDIA Iray Server.

Графические ускорители на основе архитектуры NVIDIA Maxwell продемонстрировали очень высокую производительность в вычислениях общего назначения, а также высокую эффективность в балансе нагрузки на ресурсы оборудования в процессе вычислений. В то время как в процессе выполнения CUDA приложений, GPU предыдущих поколений использовали максимум производительности чипа (100%), новая архитектура и новые версии драйвера позволяют балансировать производительность в зависимости от нагрузки. Например, в процессе визуализации сцен с множеством итераций GPU PNY NVIDIA Quadro M6000 работал в диапазоне от 80 до 98%. А это существенно помогает в экономии энергии и продлевает жизненный цикл оборудования в целом.

По результатам проведенного тестирования я могу с большой уверенностью рекомендовать обновление графических ускорителей на современные модели. Если вы использовали GPU на основе архитектуры NVIDIA Fermi или одни из первых моделей на основе NVIDIA Kepler, можете смело присматриваться к современным GPU на основе архитектуры NVIDIA Maxwell. Можно заметить невооруженным взглядом значительный прирост производительности, как в графических вычислениях, так и в вычислениях общего назначения. Притом же это позволит использовать приложения, разработанные с учетом возможностей API NVIDIA CUDA версии 7, оптимизированного под последнюю архитектуру GPU.

Лицензирование NVIDIA Iray+ for 3ds Max

Система визуализации NVIDIA Iray+ лицензируется по модели подписки и доступна для приобретения, как частным пользователям, так и компаниям. При этом вы можете приобрести NVIDIA Iray+ напрямую с сайта корпорации NVIDIA. Разработчики оценивают NVIDIA Iray+ for 3ds Max в $295 USD/год. Что по карману большинству дизайнеров и специалистов по визуализации, желающим полностью использовать возможности платформы и решений от NVIDIA.

Лицензирование NVIDIA Iray Server

Серверная версия NVIDIA Iray находится в стадии интенсивной разработки и доступна по программе beta-тестирования для всех желающих. О доступности для коммерческого приобретения по электронной почте будет выслано специальное уведомление. С января 2016 года доступны версии для Windows и Linux. Вы можете установить на свои Render Nodes несколько экземпляров NVIIDA Iray Server и протестировать его совместно с NVIDIA Iray для 3ds Max, Maya, Revit и Rhino.

Итог

С момента появления архитектуры и технологии NVIDIA CUDA прошло почти десятилетие, за это время было создано множество разнообразных решений, как для вычислений физических моделей и научных исследований, так и для визуализации. Каждое новое поколение архитектур GPU повышает производительность в вычислениях и предоставляет множество возможностей для создания программного обеспечения для решения самых разнообразных задач.
Ядро визуализации NVIDIA Iray разрабатывается с 2008 года, и за прошедшее время было реализовано множество возможностей присущих высококачественному инструменту визуализации. А теперь он входит в портфель продуктов компании, куда включены все необходимые инструменты для профессионалов, позволяющие создавать высококачественную визуализацию образов и объединенные единой экосистемой. В список профессиональных решений входят такие решения и иниструменты, как GPU NVIDIA Quadro и NVIDIA Tesla, библиотеки для разработчиков NVIDIA CUDA и NVIDIA OptiX, NVIDIA DesignWorks, NVIDIA Iray и NVIDIA mental ray.
Система визуализации NVIDIA Iray+ for 3ds Max продемонстрировала хороший результат в управлении и в оптимизации рабочих процессов, когда не требуется использовать множество различных параметров, а можно обойтись управлением несколькими основными настройками. В современном мире визуализации для индустрии дизайна и проектирования это важное условие. Богатая библиотека материалов на основе гибкого и функционального языка NVIDIA Material Definition Language может быть сразу использована в рабочем конвейере пользователя, а возможность внесения правок позволяет экспериментировать с материалами любой сложности и передавать их в любое другое приложение, использующее NVIDIA Iray или поддерживающее NVIDIA MDL.
Возможности удаленной и распределенной визуализации по сети, доступные в Iray+ позволяют с легкостью выполнять визуализацию сцен без нагрузки на основную рабочую станцию. А поддержка NVIDIA Iray Server и платформы NVIDIA Quadro VCA предоставляет высокую скорость в процессе подготовки модели за счет режима удаленной визуализации и демонстрации визуализируемого изображения с высокой скоростью обновления.

Полезные ссылки:

NVIDIA Iray

NVIDIA mental ray

NVIDIA Material Definition Language

NVIDIA Quadro

NVIDIA Tesla

iray dev blog

Inside mental ray

Благодарим компании NVIDIA и FORSITE за предоставленные возможности познакомиться с перспективными разработками в инструментах визуализации и новейшим оборудованием для того чтобы провести необходимые тесты.

0
RENDER.RU