Quadro p400 для чего
Профессиональные видеокарты против игровых — зачем нужна Nvidia Quadro?
Содержание
Содержание
Компании Nvidia и AMD выпускают не только геймерские и офисные видеокарты. Та же линейка Nvidia Tesla используется в суперкомпьютерах и мощных вычислительных системах, ориентированных на научные расчеты. А мы поговорим о профессиональных видеокартах для массовых пользователей — линейке Nvidia Quadro и аналогичных.
Зачем нужны профессиональные видеокарты
Все видеокарты выполняют общую задачу — отрисовывают на дисплее кадры, которые до этого подготавливает процессор. Графический чип получает исчерпывающую информацию о сцене: состав и расположение объектов относительно зрителя, цвет, уровень освещения, видимость и так далее. Пару десятилетий назад в играх была пиксельная графика, но сейчас для создания 3D- сцен используются объекты из множества полигонов.
Полигон — это плоскость в трехмерном пространстве. Как правило, в играх используются треугольные полигоны, на основе которых создают уже полноценные 3D-модели. Чем выше число этих треугольников, тем большую детализацию имеет выводимое изображение.
Именно поэтому в старых играх персонажи имеют угловатые формы — вычислительные мощности того времени позволяли оперировать лишь небольшим числом полигонов. По мере совершенствования видеокарт количество полигонов у моделей росло, персонажи становились более реалистичными, резкие углы сглаживались. Это можно хорошо заметить на примере различных ремастеров, например, Crash Bandicoot.
В среднем на одного персонажа приходится от 15 до 45 тысяч таких треугольников. Одним из рекордсменов в этой области является Нейтан Дрейк из Uncharted 4: A Thief’s End. В его модели более 80 тысяч полигонов.
А теперь представьте, что на экране несколько персонажей и еще различные объекты окружения. Игровым видеокартам приходится обрабатывать положение пары сотен тысяч полигонов, не говоря о наложении других эффектов.
Если говорить об игровой видеокарте, то ее задача — расположение всех полигонов в пространстве, прорисовка текстур, затенение, создание динамического освещения и сглаживание. В итоге мы видим на экране финальный кадр со всеми эффектами.
Профессиональные видеокарты чаще нужны для САПР, бизнес-приложений, визуализации, инженерных расчетах. Если вы занимаетесь моделированием и работаете в таких программах, как КОМПАС-3D, T-FLEX CAD, SOLIDWORKS, Autodesk 3ds Max и аналогичных, то предпочтительней именно профессиональная видеокарта.
Помимо этого, видеокарты NVIDIA Quadro используются при создании различных спецэффектов в фильмах.
Профессиональная видеокарта делает по сути тоже самое, что и игровая, но с небольшими нюансами. В узкоспециализированных 3D- моделях не нужно накладывать различные эффекты, которые делают графику фотореалистичной. При проектировании и разработке крайне важна точность, поскольку на основе созданных моделей обычно делают реальные вещи. Соответственно, число полигонов может в несколько раз превышать описанные ранее числа — до нескольких миллионов на сцену.
В чем отличия профессиональных и игровых видеокарт
Теперь давайте разберемся, чем конкретно профессиональные видеокарты отличаются от геймерских.
Больший объем видеопамяти. Для обработки огромного числа полигонов нужно много памяти. Для сравнения, видеокарта NVIDIA Quadro P6000 2016 года имеет 24 ГБ памяти. Если взять топовую геймерскую видеокарту на аналогичной архитектуре GTX 1080 Ti начала 2017-го, то у нее всего 11 ГБ памяти. Тенденция сохраняется и с текущим поколением: игровая RTX 3090 оснащается 24 ГБ, в то время ка профессиональная NVIDIA Quadro RTX 8000 имеет целых 48 ГБ.
Жесткая стандартизация. В геймерсих видеокартах существует нереференсные улучшенные модели от сторонних компаний — Asus, MSI, Palit и других. Профессиональные видеокарты выпускаются строго под контролем разработчиков и обычно не имеют нереференсных моделей. Это позволяет исключить ситуации, когда вмешательство вендора привело к неработоспособности устройства.
Использование ECC-памяти. Как мы сказали ранее, в профессиональных видеокартах определяющее значение имеет точность, и ошибки при расчетах недопустимы. В связи с этим используется специальная ECC-память, которая способна распознавать и исправлять спонтанные ошибки в битах. Однако память с коррекцией работает немного медленнее в сравнении с non-ECC, которая стоит на игровых видеокартах. Тесты энтузиастов показывают, что разница скорости между ECC и non-ECC в различных задачах не превышает 2 %.
Аппаратная поддержка OpenGL. Это программный интерфейс, используемый при написании различных приложений с 2D/3D графикой. Аппаратная поддержка ощутимо ускоряет вычисления, но ее реализация повышает стоимость продукта.
Специализированные драйверы и BIOS. Для профессиональной видеокарты нужен специальный драйвер. Он предлагает немного больше настроек, например, в панели Nvidia Control пользователи Quadro могут установить сглаживание граней объектов вплоть до 64Х, в то время как GeForce предлагает только 8X. Также спецдрайвер предоставляет более широкие возможности управления рабочими столами и их конфигурациями.
В установочный пакет драйверов для Quadro входит особое ПО — NVIDIA WMI (Windows Management Instrumentation) и специальный инструмент NVIDIA SMI для мониторинга. Для игровых GeForce GTX/RTX в стандартном пакете этого нет.
BIOS в Quadro разрабатывают непосредственно инженеры компании, а не специалисты сторонних брендов.
Сертификация от разработчиков ПО. В профессиональных моделях крайне важна корректная работа в узкоспециализированных программах без багов и зависаний, поэтому разработчики ПО проводят отдельную сертификацию.
Более длительный жизненный цикл. Обновление линеек геймерских видеокарт происходит в среднем один раз в 1,5-2 года. Профессиональные модели обновляются реже — раз в 2–4 года.
Специфика портов. В профессиональных моделях вы редко встретите HDMI и, тем более, VGA. В Nvidia Quadro последнего поколения используются порты DP1.4, а также Virtuallink. В более старых моделях присутствует DVI порт.
Цена. Рекомендованная цена Quadro RTX 8000 — 9 999 долларов. За топовую геймерскую RTX 3090 придется отдать 1499 доллара, что существенно дешевле.
Профессиональные карты имеют аппаратные и программные особенности, направленные на повышение производительности сугубо в специализированных приложениях для работы с 3D и 2D графикой, а также на общую стабильность и надежность.
Можно ли играть на профессиональных видеокартах?
Технически профессиональные модели имеют все то же, что и игровые: ядра CUDA, блоки растеризации, текстурные блоки, а новые Quadro RTX по аналогии с геймерскими RTX имеют и тензорные ядра. Именно поэтому вы без проблем сможете запустить игру на Quadro или аналогичных с комфортным FPS.
Проблема в том, что Quadro не ориентированы на отрисовку графических эффектов, которые актуальны для видеоигр. Именно поэтому при относительно равных параметрах профессиональные ускорители выдают меньший FPS. На этом сказывается и ориентация драйверов — для Quadro и аналогичных они просто не подогнаны под игры.
Несмотря на то, что профессиональные видеокарты могут показать неплохой результат в играх, с учетом их стоимости покупка будет актуальной только для узкоспециализированных задач.
Quadro p400 для чего
Созданный для работы с профессиональными приложениями, например, Autodesk AutoCAD, NVIDIA Quadro 400 GPU обеспечивает прирост производительности до 5 раз по сравнению с игровыми потребительскими видеокартами высокого класса. Также новое решение предлагает в 10 раз более быструю работу с ведущими приложениями для компьютерного проектирования и моделирования. 1
Рекомендованная розничная цена на Quadro 400 для России составит 189 долларов США, при этом графический процессор позволяет эффективно расходовать энергию, потребляя менее 35 Вт. Низкопрофильный дизайн дарит гибкость в использовании, позволяя установить новое решение от NVIDIA в любой рабочей станции, включая системы небольшого форм-фактора.
Процессор Quadro 400 оборудован 512 МБ памяти DDR3 и позволяет профессионалам взаимодействовать с широким спектром конструкций. Также он обеспечивает высокую графическую точность благодаря поддержке глубины цвета в 30 бит (10 бит на цветовой компонент) с динамическим диапазоном более миллиарда цветовых вариаций. Драйверы для Quadro 400 оптимизированы и сертифицированы для работы с ведущими профессиональными приложениями.
Дополнительные возможности нового процессора Quadro 400 включают:
Процессор NVIDIA Quadro 400 также поддерживает технологии NVIDIA 3D Vision™ и 3D Vision Pro, обеспечивающие кристально четкую визуализацию стереоскопического 3D для невероятно захватывающей работы с 3D на широком списке платформ от настольных рабочих станций до пространств для совместной работы.
Сконструировано, собрано и спроектировано NVIDIA в соответствии с высочайшими стандартами качества
Подобно всем прочим профессиональным видеокартам Quadro, решение Quadro 400 сконструировано, собрано и обеспечено гарантийной поддержкой NVIDIA, предлагая ведущую в отрасли производительность и надежность в работе с профессиональными приложениями. Компании-разработчики продолжают расширять список профессиональных приложений, сертифицированных для графических решений Quadro.
Доступность и цены
Решение Quadro 400 (рекомендованная розничная цена для США составляет 169 USD, для России – 189 USD) доступно уже сегодня для рабочих станций HP Z800, Z600 и Z400, а также для всех рабочих станций Fujitsu CELSIUS. На решениях Lenovo ThinkStation D20, C20, S20 и E30 оно будет доступно позднее. Также новое решение доступно от партнеров NVIDIA Quadro, включая PNY Technologies в Северной Америке и Европе, ELSA – в Японии и Leadtek – в Азиатско-Тихоокеанском регионе.
Более подробную информацию о профессиональных графических решениях NVIDIA Quadro можно найти здесь.
NVIDIA Quadro P400: технические характеристики и тесты
Описание
NVIDIA начала продажи Quadro P400 7 февраля 2017 по рекомендованной цене 119.99$. Это десктопная видеокарта на архитектуре Pascal и техпроцессе 14 нм, в первую очередь рассчитанная на дизайнеров. На ней установлено 2 Гб памяти GDDR5 на частоте 4.01 ГГц, и вкупе с 64-битным интерфейсом это создает пропускную способность 32.06 Гб/с.
С точки зрения совместимости это однослотовая карта, подключаемая по интерфейсу PCIe 3.0 x16. Длина референсной версии – 145 мм. Для подключения не требуется дополнительный кабель питания, а потребляемая мощность – 30 Вт.
Она обеспечивает слабую производительность в тестах и играх на уровне
от лидера, которым является NVIDIA GeForce RTX 3080 Ti.
Общая информация
Сведения о типе (для десктопов или ноутбуков) и архитектуре Quadro P400, а также о времени начала продаж и стоимости на тот момент.
Место в рейтинге производительности | 517 | |
Соотношение цена-качество | 4.50 | |
Архитектура | Pascal | |
Графический процессор | GP107 | |
Тип | Для рабочих станций | |
Дата выхода | 7 февраля 2017 (4 года назад) | |
Цена на момент выхода | 119.99$ | |
Цена сейчас | 356$ (3x) | из 10388 (Quadro GV100) |
Для получения индекса мы сравниваем характеристики видеокарт и их стоимость, учитывая стоимость других карт.
Характеристики
Общие параметры Quadro P400: количество шейдеров, частота видеоядра, техпроцесс, скорость текстурирования и вычислений. Они косвенным образом говорят о производительности Quadro P400, но для точной оценки необходимо рассматривать результаты бенчмарков и игровых тестов.
Количество потоковых процессоров | 256 | из 15360 (Radeon RX 7900 XT) |
Частота ядра | 1228 МГц | из 2233 (Playstation 5 GPU) |
Частота в режиме Boost | 1252 МГц | из 2903 (Radeon Pro W6600) |
Количество транзисторов | 3,300 млн | из 14400 (GeForce GTX 1080 SLI (мобильная)) |
Технологический процесс | 14 нм | из 5 (Apple M1 GPU) |
Энергопотребление (TDP) | 30 Вт | из 900 (Tesla S2050) |
Скорость текстурирования | 20.03 | из 779.2 (Radeon RX 6900 XTX) |
Производительность с плавающей точкой | 679.9 gflops | из 16384 (Radeon Pro Duo) |
Совместимость и размеры
Параметры, отвечающие за совместимость Quadro P400 с остальными компонентами компьютера. Пригодятся например при выборе конфигурации будущего компьютера или для апгрейда существующего. Для десктопных видеокарт это интерфейс и шина подключения (совместимость с материнской платой), физические размеры видеокарты (совместимость с материнской платой и корпусом), дополнительные разъемы питания (совместимость с блоком питания).
Интерфейс | PCIe 3.0 x16 |
Длина | 145 мм |
Дополнительные разъемы питания | нет |
Оперативная память
Тип памяти | GDDR5 | |
Максимальный объём памяти | 2 Гб | из 128 (Radeon Instinct MI250X) |
Ширина шины памяти | 64 бит | из 8192 (Radeon Instinct MI250X) |
Частота памяти | 4008 МГц | из 19500 (GeForce RTX 3090) |
Пропускная способность памяти | 32.06 Гб/с | из 14400 (Radeon R7 M260) |
Видеовыходы
Перечисляются имеющиеся на Quadro P400 видеоразъемы. Как правило, этот раздел актуален только для десктопных референсных видеокарт, так как для ноутбучных наличие тех или иных видеовыходов зависит от модели ноутбука.
Видеоразъемы | 3x mini-DisplayPort |
Поддержка API
Перечислены поддерживаемые Quadro P400 API, включая их версии.
DirectX | 12 (12_1) |
Шейдерная модель | 6.4 |
OpenGL | 4.6 |
OpenCL | 1.2 |
Vulkan | 1.2.131 |
CUDA | 6.1 |
Тесты в бенчмарках
Это результаты тестов Quadro P400 на производительность рендеринга в неигровых бенчмарках. Общий балл выставляется от 0 до 100, где 100 соответствует самой быстрой на данный момент видеокарте.
Общая производительность в тестах
Это наш суммарный рейтинг производительности. Мы регулярно улучшаем наши алгоритмы, но если вы обнаружите какие-то несоответствия, не стесняйтесь высказываться в разделе комментариев, мы обычно быстро устраняем проблемы.
Это очень распространенный бенчмарк, входящий в состав пакета Passmark PerformanceTest. Он дает видеокарте тщательную оценку, производя четыре отдельных теста для Direct3D версий 9, 10, 11 и 12 (последний по возможности делается в разрешении 4K), и еще несколько тестов, использующих DirectCompute.
Тесты в играх
FPS в популярных играх на Quadro P400, а также соответствие системным требованиям. Помните, что официальные требования разработчиков не всегда совпадают с данными реальных тестов.
Относительная производительность
Общая производительность Quadro P400 по сравнению с ближайшими конкурентами среди видеокарт для рабочих станций.
Конкурент от AMD
Мы полагаем, что ближайшим конкурентом Quadro P400 от компании AMD является FirePro W4100, которая в среднем на 5% медленнее и на 16 позиций ниже в нашем рейтинге.
Вот несколько ближайших конкурентов Quadro P400 от AMD:
Преимущества профессиональной графики NVIDIA Quadro при работе с САПР приложениями
Дмитрий Чехлов. Автор многочисленных публикаций, посвященных компьютерной графике и 3D-технологиям, автор книги «Визуализация в Autodesk Maya: mental ray renderer», художник по освещению и затенению, технический специалист в области компьютерной визуализации, Активист Autodesk Community, Autodesk Certified Professional, участник программ Autodesk Developer Network и NVIDIA Partner Network.
Поддержка высоких уровней сглаживания
Наше знакомство с возможностями профессиональной графики и сравнение с возможностями игровой графики мы начнем с поддержки высокого сглаживания краев геометрии и линий. В отличие от игровых приложений, где высокое качество сглаживания может увеличить время визуализации кадра в профессиональных приложениях решается иная задача – качество выводимого изображения. Чем выше качество сглаживания линий и краев геометрии, тем легче анализировать модель или чертеж, определять детали и элементы сборок, и многое другое. Наиболее часто используется метод multisampling antialiasing. Он достаточно прост и доступен в библиотеках всех графических API. Однако для повышения качества сглаживания и устранения «ступенчатости» в гранях и линиях может потребоваться применение не только базовых методик сглаживания, но также и расширенных алгоритмов, позволяющих улучшать качество изображения.
Драйверы профессиональных карт Quadro предоставляют возможность выбирать в панели управления высокий уровень сглаживания – до 64х. На практике это дает существенно лучшее восприятие множества линий и границ объектов в сцене. На игровых видеокартах GeForce такие уровни сглаживания просто недоступны. На рисунке ниже приведен скриншот NVIDIA Control Panel для графических ускорителей GeForce и Quadro с активным режимом сглаживания Override any application settings.
Здесь я хочу сделать небольшую ремарку. Поддержка сглаживания 64x может быть недоступна только в ряде некоторых графических ядер современных приложений. Многие разработчики стараются самостоятельно реализовать сглаживание линий и геометрии независимо от управления данной функцией со стороны драйвера.
Рис. 1-1. Драйвер GPU NVIDIA Quadro предоставляет возможность выбора более высокого качества сглаживания граней объектов и линий, по сравнению с драйвером для GPU NVIDIA GeForce.
В отличие от игровых графических ускорителей, в профессиональных ускорителях реализованы улучшенные методики обработки геометрии. Это позволяет значительно увеличить производительность в процессе воспроизведения анимации и загрузить в память все необходимые данные.[1]
Фильтрация текстурных карт играет важную роль, это актуально при работе над игровыми приложениями и при разработке аппаратных шейдеров, для Open GL или DirectX. Но для того, чтобы обрабатывать большое количество текстурных карт и реализовывать поддержку карт с высоким разрешением (до 16K), необходим другой подход при работе с графической памятью.
Использование графической памяти
Память графического ускорителя играет важную роль в обеспечении высокой производительности. Это один из ключевых показателей возможностей GPU. Такие возможности графических ядер, как кэширование геометрии и запись данных напрямую в графическую память, при достаточном объеме предоставляет гибкие возможности для воспроизведения анимации и интерактивного перемещения в сложных сценах без снижения производительности. Большие объемы памяти особенно важны в работе с GPU-ускоренными движками визуализации и такими технологиями, как Alembic, и интерактивными приложениями для презентационной визуализации (напр. Autodesk VRED).
Важной функцией при работе с памятью является её очистка для последующих задач или оптимальное использование для хранения данных. В профессиональных графических ускорителях память используется более равномерно, чем в игровых решениях. Это обусловлено максимально сбалансированной работой программного обеспечения и драйвера GPU, а также возможностям очистки памяти реализованной в нем.
В зависимости от проектов объем данных может варьироваться, а в ряде случаев может быть колоссален по определению, профессиональные карты традиционно оснащаются большим объемом памяти. Только среди профессиональных ускорителей есть возможность использовать до 24 Гб памяти, которые помогают работать с текстурами, моделями, данными любой сложности и хранить их, не опираясь на создание резервного кэша.
Мы провели тест на использование памяти профессиональными GPU. Основная его задача заключалась в отслеживании использования графической памяти в процессе моделирования трехмерной геометрии.
В процессе загрузки сцены и текстурных карт графическое ядро приложения старается полностью использовать память. В большинстве случаев 2 — 4 Гб графической памяти достаточно для работы над моделями средней сложности. С другой стороны, когда сцена содержит больше объектов и текстур, требования к объемам и возможностям памяти возрастают и могут потребоваться объемы в 8, 12 и более Гб, а так же повышаются требования к её рациональному использованию.
Рисунок ниже демонстрирует пример того, какой объем памяти используется при загрузке модели в пакете Autodesk Maya 2016. Так как в драйвере выбрано автоматическое распределение ресурсов GPU, графическое ядро программы отдало приоритет GPU с большим объемом памяти.
Рис. 2-1. Пример работы графического ядра приложения с GPU NVIDIA Quadro. И пример использования памяти при активизации режима отображения текстурных карт.
На диаграмме в Performance Monitor вы можете видеть, какой объем памяти требуется для хранения модели вагона. Поскольку отображение текстурных карт не активно, используется 1/3 объема графической памяти. Когда активизируется режим отображения текстурных карт, все используемые в сцене и в шейдерах модели текстуры будут загружены в память графического процессора. Но в отличие от игровых графических процессоров, память профессиональных графических процессоров используется более рационально. Когда данные не нужны, они будут выгружены из памяти и загружены обратно только тогда, когда это необходимо. Если же выполняется копирование геометрии и модели, нет необходимости в создании дубликатов данных в графической памяти, легче создать взаимосвязанные образцы и использовать их. Обратите внимание, что объем памяти немного меняется, увеличиваясь, а затем доходит до прежнего уровня. При этом, в сцене содержится больше объектов и экземпляров текстурных карт.
Рис. 2-2. Пример использования памяти при создании дубликатов геометрии и шейдеров с текстурами.
Оптимизация работы памяти на профессиональных графических ускорителях достигается за счет оптимизации графических ядер на основе расширений API OpenGL и Direct3D.
Управление рабочими столами
Одним из серьезных недостатков игровой графики является отсутствие функций для создания и управления рабочими столами. Обычно это решается с помощью реализованных в ОС функций или сторонних решений. Это накладывает множество ограничений. Но пользователи профессиональных ускорителей не имеют таких ограничений и могут использовать как функционал от NVIDIA, так и предоставляемые операционной системой функции. Таким образом, можно выполнять огромное количество комбинаций рабочих пространств на любой вкус. В отличие от игровых решений, профессиональные карты Quadro предоставляют инструменты для управления рабочими столами и их конфигурациями. nView Desktop Management входит в состав дистрибутива драйвера и программного обеспечения NVIDIA Quadro и предоставляет пользователям необходимый функционал для настройки рабочего пространства и распределения множества приложений между несколькими рабочими столами.
Рис. 3-1. Пример применения nView Desktop Management для управления тремя рабочими столами.
Рабочие столы могут быть разбиты с помощью сетки, в каждую ячейку которой может быть помещено окно всего приложения или его отдельный диалог. На практике это очень удобно, особенно при работе с многооконными приложениями, где требуется организовать множество диалогов или буферов кадров. На рисунке ниже приведен пример организации нескольких окон с помощью разбивки по сетке.
Рис. 3-2. Пример применения функции Guideline Editor для распределения диалоговых окон приложений.
Еще одна полезная функция — привязка к границам экрана. В отличие от стандартной реализации в операционных системах Windows и Linux. Благодаря инструментарию nView Desktop Management, вы можете настроить определение границ экрана и действие окон приложения в процессе операций с ними.
Рис. 3-3. Функции Windows Manager позволяют пользователю лучше управлять окнами приложений.
Инструменты мониторинга и конфигурации
Так как графические ускорители NVIDIA Quadro ориентированы на профессиональных и корпоративных пользователей, разработчики NVIDIA предусмотрели специальный набор инструментов NVIDIA WMI (Windows Management Instrumentation) и специальный инструмент NVIDIA SMI для мониторинга загруженности графических процессоров, памяти и контроля температурного режима. Инструментарий NVIDIA WMI входит в дистрибутив драйвера для NVIDIA Quadro и доступен наряду с nView Desktop Management. Рисунок 4-1 наглядно демонстрирует компоненты установки драйверов NVIDIA GeForce и NVIDIA Quadro.
Рис. 4-1. Компоненты установки драйверов GPU NVIDIA для линейки GeForce и линейки Quadro.
После установки драйвера с компонентами NVIDIA WMI, вы можете использовать все возможности мониторинга с помощью Microsoft Management Console и Performance Monitor. А если в ваши задачи входит администрирование нескольких удаленных компьютеров, подключение к ним и сбор данных произойдет гораздо быстрее, если использовать возможности локальной сети.
Рис. 4-2. Инструментарий Microsoft Management Console с оснасткой Performance Monitor и добавленными счетчиками NVIDIA GPU (NVIDIA WMI).
На рисунке выше приведен пример мониторинга производительности графических процессоров с помощью MMC, куда могут быть добавлены счетчики с помощью соответствующего диалога.
Также, в отличие от игровых видеокарт, в профессиональных GPU реализована возможность конфигурации под определенные задачи. Например, на одном из установленных в системе GPU вам необходимо выполнять только вычисления с помощью NVIDIA CUDA, а на другом/других, вам необходимо и вычислять и работать с графикой. Для распределения нагрузки вы можете использовать утилиту NVIDIA SMI, доступную как для Windows, так и Linux и выполнить соответствующую конфигурацию GPU. Данная утилита также доступна и для некоторых моделей игровых графических ускорителей, к ним относятся модели выпускаемые под брендом GTX Titan. Но функционал в данном случае будет сильно ограничен.
Рис. 4-3. Утилита NVIDIA SMI отображающая информацию о загрузке графических процессоров.
Конфигурация для работы с несколькими GPU
При возрастающем объеме данных, содержащихся в комплексных моделях, для достижения высокой скорости визуализации необходимо применение производительных GPU.
В драйвере NVIDIA Quadro доступна большая группа настроек — «Workstation», с помощью которой выполняется конфигурация GPU. При конфигурации вы можете выбирать, какой из доступных GPU будет использоваться для работы только с графикой, а какой для работы с графикой и вычислений. В драйвере для игровых графических ускорителей вы можете выбирать только графический процессор для вычислений в CUDA-приложениях. Что существенно ограничивает пользователя в конфигурации.
Рис. 5-1. Выбор GPU для визуализации виртуального пространства в OpenGL приложении, выбор GPU для вычислений в CUDA приложении и глобальная конфигурация параметров рабочей станции.
Рассмотрим наглядный пример настройки графических процессоров для распределения задач между вычислениями и визуализацией окон проекций на примере Autodesk 3ds Max и NVIDIA iray renderer. По умолчанию, 3ds Max и Iray используют все доступные графические процессоры. Обычно тот GPU, который используется операционной системой, будет не активен в Iray, а сам 3ds Max использует его для визуализации виртуального пространства. С другой стороны, если выполнить соответствующую конфигурацию драйвера, тот GPU, который не будет активен, не будет отображаться в списке доступных для визуализации в Iray устройств.
Рис. 5-2. Пример параметров NVIDIA Iray, когда все GPU могут быть использованы для вычислений и когда для вычислений может быть использованы устройства глобально определенные драйвером.
Рассматриваемое условие доступно для всех приложений, требующих распределения нагрузки между несколькими графическими процессорами. Это могут быть САПР, использующие графический процессор для ускорения вычислений и для визуализации, это могут быть мультидисплейные системы, когда множество дисплеев отображают информацию, а дополнительные графические процессоры выполняют вычисления в CUDA или OpenCL приложениях.
Несколько примеров реализации функций в САПР с GPU NVIDIA Quadro
В процессе исследования и написания данной статьи мною и моими коллегами было протестировано и изучено несколько известных и доступных пакетов САПР, использующих графическое ядро на основе библиотек Open GL, а так же их возможности, использующие технологии OpenCL и NVIDIA CUDA.
Основной упор мы делали на качестве изображения и производительности графического ядра при визуализации параметрической модели в виртуальном пространстве, использование ресурсов графических процессоров и выполнении вычислений общего назначения.
Производительность зависит не только от графики
Производительность такого программного обеспечения, как САПР, зависит от множества факторов. Результат выполняемых пользователем операций, вычисляется центральным процессором, а повторное вычисление всей модели может потребовать времени. Графические ускорители выполняют задачи связанные с визуализацией векторных данных параметрической модели, полученной в процессе вычислений с помощью центрального процессора и хранимой в оперативной памяти. С другой стороны, графический ускоритель может ускорить процесс вычислений в хорошо распараллеливаемых алгоритмах с помощью NVIDIA CUDA или OpenCL. Помимо этого, на протяжении нескольких лет компанией NVIDIA и её партнерами по консорциуму Khronos Group ведется разработка расширений для Open GL, позволяющих выполнять оптимизацию производительности приложений. Многие профессиональные графические приложения и их ядра начинают использовать возможности этих расширений для увеличения производительности.
Ключевая идея заключается в минимизации простоя в процессе вычислений, выполняемых на CPU и передаваемых GPU для визуализации. По своей сути, графический процессор не будет ожидать данные, которые к нему поступают после вычислений на CPU, и промежуток времени, в который GPU бездействует, будет заполнен определенными задачами, например вычислениями.
Рис. 6-1. Пример распределения задач между множеством потоков в процессе обработки сцены.
На рисунке 6-1 приведен пример профилирования сцены Autodesk Maya в процессе воспроизведения анимации. Каждый из голубых блоков — задачи, связанные с визуализацией силами Viewport 2.0, а каждый из блоков коричневого цвета — вычисление определенного элемента сцены с помощью CPU. В то время, когда выполняются вычисления в процессе трансформации и деформации объектов, графическое ядро программы выполняет визуализацию получаемых от CPU и данных. Из этого следует значительное повышение производительности в визуализации и вычислениях всей системы в целом. Когда мы снимаем с CPU лишние задачи по вычислениям, его возможности можно использовать для решения последовательных задач, но в то же время, хорошо распараллеливаемые и графические задачи выполняются на GPU. Таким образом, мы получаем прирост производительности графического ядра и приложения в целом.
КОМПАС-3D
Одним из удачных примеров реализации поддержки возможностей графических ускорителей и программного обеспечения NVIDIA Quadro является машиностроительная САПР — КОМПАС-3D. В отличие от конкурирующих решений, разработчики из компании АСКОН, совместно со специалистами компании NVIDIA, реализовали прямую поддержку функций драйвера NVIDIA Quadro.
Рис. 6-2. Пример отображения модели в виртуальном пространстве пакета КОМПАС-3D V16 на GPU NVIDIA GeForce и NVIDIA Quadro.
Рисунок 6-2 наглядно демонстрирует поддержку высокого уровня сглаживания, настраиваемого с помощью драйвера NVIDIA Quadro. При этом используемая плоскость отсечки также визуализируется с помощью графического ускорителя. В отличие от других решений, все параметры и контроль качества выполняется с помощью панели управления драйвером, а не через интерфейс приложения. В самом же приложении вы можете выбрать, будет ли использовано аппаратное ускорение или нет.
T-FLEX CAD
Еще один хороший пример использования технологий компании NVIDIA и возможностей профессиональной графики Quadro, является пакет T-FLEX CAD. Он также использует возможности спецификаций Open GL и драйвера NVIDIA Quadro, но обладает дополнительным функционалом — поддержкой визуализации трассировки лучей с использованием технологии NVIDIA OptiX.
В отличие от пакета КОМПАС-3D, пакет T-FLEX CAD обладает глобальными настройками графической подсистемы в самом приложении и предоставляет пользователю возможность управлять качеством сглаживания и выполнять базовую оптимизацию производительности.
Рис. 6-4. Пример визуализации с помощью NVIDIA OptiX в T-FLEX CAD.
Библиотека OptiX позволяет выполнять трассировку лучей в режиме реального времени и обеспечивает разработчиков необходимыми спецификациями для разработки шейдеров материалов и источников света, а также инструментами интеграции с API OpenGL и Direct3D.
Важным достоинством работы с такими приложениями как КОМПАС-3D и T-FLEX CAD является поддержка OpenGL, это важное условие при работе с Multi-GPU конфигурациями. Вы можете распределить каждое из приложений на выделенный GPU с помощью драйвера NVIDIA Quadro и выполнять все необходимые вычисления и работу со сценами в каждом из приложений. Это удобно, когда необходимо готовить проект в нескольких приложениях и передавать данные из одного приложения в другое.
SOLIDWORKS
Пакет SolidWorks предоставляет своим пользователям богатый функционал. Его графическое ядро также оптимизировано для работы с профессиональными графическими ускорителями. Одной из важнейших функций для создания высококачественных образов напрямую в SolidWorks является функционал, заложенный в RealView.
Рис. 6-5. С помощью SolidWorks RealView вы можете создавать высококачественные иллюстрации с помощью OpenGL и аппаратных шейдеров.
Графическое ядро SolidWorks позволяет формировать высококачественные образы с высокой детализацией и такими эффектами, как штриховка и контурные линии. Для увеличения реализма модели, вы можете активизировать вычисление эффекта Ambient Occlusion. Данный эффект отлично визуализируется современными профессиональными графическими ускорителями и может быть применен на сложных сборках с большим количеством деталей.
При использовании профессиональных ускорителей NVIDIA Quadro пользователям SolidWorks доступны все основные возможности графического ядра и высококачественного затенения.[2]
SOLIDWORKS Visualize
Для высококачественной визуализации изображений и анимации в пакет программ SolidWorks входят два продукта SolidWorks Visualize Standard и SolidWorks Visualize Professional. Эти продукты используют возможности ядра NVIDIA iRay для фотореалистичной визуализации создаваемых моделей.
Ядро NVIDIA iRay может работать в двух режимах, высококачественном фотореалистичном режиме (Unbiased mode) и в упрощенном режиме, основанном на простой трассировке лучей (Biased mode).
Рис. 6-6. Пакет SolidWorks Visualize позволяет выполнять фотореалистичную визуализацию изображений с применением возможностей графических ускорителей.
Благодаря поддержке возможностей распределения нагрузки в задачах между различными GPU высокую производительность в SolidWorks Visualize помогают обеспечивать multi-gpu конфигурации с NVIDIA Quadro и NVIDIA Tesla. Вы можете выполнять отображение сцены в OpenGL на графическом ускорителе NVIDIA Quadro, а визуализацию сцены с высоким качеством и реалистичными освещением и материалами можете выполнять силами специализированных вычислителей NVIDIA Tesla. Это помогает распределить нагрузку и добиться высокой производительности в интерактивной навигации. Все управление графическими ускорителями может быть осуществлено с помощью драйвера для NVIDIA Quadro и NVIDIA Tesla.
CATIA LiveRendering
Система интерактивной и фотореалистичной визуализации CATIA LiveRendering также основана на технологии NVIDIA iRay. С ее помощью вы можете выполнять визуализацию изображений и моделей, создаваемых с помощью системы CATIA и предоставлять полученные образы клиентам.
Рис. 6-7. Система визуализации CATIA LiveRendering на основе NVIDIA iRay.
Как и весь комплекс CATIA, решение LiveRendering является отдельным элементом, но интенсивно связанным со всей системой в целом. Для обеспечения высокой производительности и комфорта в работе с множеством приложений и решений комплекса, необходимо обратиться к профессиональным решениям, позволяющим выполнять визуализацию виртуального пространства и вычисления на GPU без перерасхода ресурсов.
Решение LiveRendering может быть использовано совместно с NVIDIA Quadro и программно-аппаратной платформой NVIDIA Quadro VCA, позволяя увеличивать производительность в работе над комплексными и сложными моделями.
Autodesk 3ds Max
Пакет Autodesk 3ds Max является одним из лидирующих инструментов для создания компьютерной графики и анимации, а так же для высококачественной визуализации. Приложение использует множество технологий для достижения оптимальной производительности как при визуализации сцен в видовых окнах проекций, так и в вычислениях общего назначения. Разработчики компании Autodesk, совместно с NVIDIA реализовали поддержку ключевых возможностей DirectX и поддержку современных графических процессоров, интеграцию NVIDIA PhysX и его компонентов, а также поддержку вычислений общего назначения для тесселяции геометрии с помощью OpenSubdiv.
Рис. 6-8. Autodesk 3ds Max 2016 с выбранным в качестве текущей системы визуализации NVIDIA Iray.
Компания NVIDIA ведет разработку комплексных решений для фотореалистичной визуализации и технологий, позволяющих использовать обширные возможности GPU для ускорения вычислений. Системы визуализации NVIDIA iRay, NVIDIA mental ray и язык описания материалов NVIDIA MDL, интегрированные в Autodesk 3ds Max, благодаря применению совместно с графическими ускорителями NVIDIA Quadro и NVIDIA Tesla, представляют комплексную платформу для визуализации в режиме Active Shade и окончательной высококачественной визуализации.
Пользователи V-Ray и Octane Renderer также по достоинству оценят возможности ускорения вычислений в процессе визуализации. В каждом из представленных ядер визуализации реализована поддержка Multi-GPU конфигураций систем. Программное обеспечение рабочих станций с несколькими GPU NVIDIA Quadro или NVIDIA Tesla может быть сконфигурировано для использования, одного, нескольких или всех графических процессоров, доступных в системе. А благодаря драйверу и программному обеспечению NVIDIA Quadro, пользователю предоставляется возможность оптимально использовать память графического процессора для хранения данных и вычислений.
Autodesk Maya
Система 3D моделирования и анимации Autodesk Maya по праву считается одним из лидирующих в индустрии M&E решений для создания высококачественной фотореалистичной анимации и визуальных эффектов. С помощью открытых форматов данных и мощнейшей системе макропрограммирования на основе Maya Embedded Language и Python, пакет получил признание среди многих профессиональных художников и технических директоров студий. Графическое ядро Maya может использовать одно из двух графических API – Open GL или DirectX, что позволяет использовать её как на платформе Windows, так и на платформах macOS и Linux.
Рис. 6-9. Графическое ядро Viewport 2.0 позволяет работать как со сложными моделями, так и текстурами с большим разрешением, а также предоставляет возможность использовать базовые методы затенения и визуализации.
Ядро Viewport 2.0 является многопоточным графическим ядром, использующим возможности систем с многоядерными процессорами и несколькими GPU (Multi-GPU). Графические ускорители NVIDIA Quadro и NVIDIA Tesla могут быть использованы для визуализации и работы с комплексными сценами, содержащими большое количество геометрии и текстуры в большом разрешении, а также обеспечивают высокое качество сглаживания и эффектов Bump Mapping, Tessellation и Ambient Occlusion.
Графические ускорители в Maya играют важную роль, они могут быть использованы не только для отображения виртуального пространства сцены, но и для ускорения работы ядра программы, обрабатывающего как геометрию и ее тесселяцию, так и деформеры, используемые для ускорения процессов вычислений трансформации геометрии в сцене.
На приведенном выше видео представлен пример использования GPU для ускорения обработки сцены в процессе воспроизведения анимации. Прирост скорости воспроизведения анимации обеспечивается оптимизацией деформеров и ядра программы для многопоточных вычислений. В процессе просмотра обратите внимание на изменяющееся значение Frame Rate, в зависимости от того, какой режим выбран DG, Serial, Serial + GPU Override, Parallel и Parallel + GPU Override.
Как и в случае с 3ds Max, пользователи могут использовать все возможности графических ускорителей для увеличения производительности в процессе визуализации с помощью таких движков визуализации, как NVIDIA mental ray, V-Ray, NVIDIA iRay for Maya, V-Ray RT, Octane Renderer и других.
Приложения Adobe Creative Cloud
Практически все ключевые приложения, входящие в пакет Adobe Creative Cloud предоставляют поддержку современных технологий, реализованных в графических ускорителях, линейки Quadro. Известный пакет Adobe Photoshop СС использует возможности графических ускорителей для того что-бы обеспечивать высокую производительность в визуализации холста и работу таких инструментов, как Hand tool, Rotate canvas tool, Zoom tool и обеспечивает визуализацию трехмерного пространства в процессе работы с 3D моделями.
Рис. 6-10. Графический ускоритель используется для увеличения производительности инструмента Rotate canvas в Adobe Photoshop CC.
Пользователи, использующие профессиональные дисплеи с поддержкой отображения цветов 10-bit канал (30-bit display), при использовании графических ускорителей NVIDIA Quadro могут использовать возможности данных GPU для отображения 30-bit цветов, что существенно увеличивает качество визуализации изображений, содержащих большое количество градиентов и требующих высокую точность цветопередачи. Это актуально, в процессе работы с научными и медицинскими изображениями, получаемыми с помощью компьютерной томографии и других высокоточных приборов.
Рис. 6-11. C NVIDIA Quadro, вы можете использовать все возможности графического ядра Adobe Photoshop CC.
Многие из фильтров в Adobe Photoshop поддерживают возможности вычислений с помощью GPU с применением Open CL. Такой подход позволяет значительно увеличить производительность в обработке изображений с большим разрешением и содержащими множество слоев.
Редактор векторной графики Adobe Illustrator CC включает в своем арсенале возможности для ускорения обработки и вычислений векторных форм, с помощью набора расширений NVIDIA Path Rendering доступных для OpenGL. Данный подход позволяет увеличить производительность обработки сложных векторных иллюстраций ядром Adobe Illustrator в несколько раз и обеспечивает высокое качество отображения векторных форм.
Индустрия кинематографа и современного телевидения уже давно перешагнула за рамки формата Full HD, современные фильмы снимаются с помощью камер, поддерживающих разрешения кадра 4K и 5K. Это накладывает определенные требования к рабочим станциям и возможностям графической подсистемы для обработки материала с таким разрешением и примененными к нему эффектами. Пакет нелинейного монтажа Adobe Premiere Pro CC использует возможности графических ускорителей для увеличения производительности воспроизведения видео, обработки эффектов и переходов.
Ядро Adobe Mercury Playback Engine предоставляет возможность использовать возможности GPU для ускорения вычислений. Пользователи могут использовать возможности данного ядра, не ограничиваясь только одним пакетом Premiere Pro, они доступны и в Adobe Photoshop CC и Adobe Media Encoder CC, когда вы выполняете сборку и экспорт видео.
При использовании GPU с большими объемами памяти, достигается значительное увеличение производительности в воспроизведении видео высокого разрешения с эффектами и масками в режиме реального времени.
Пакет Adobe After Effects CC также использует возможности GPU для ускорения вычислений. Помимо того, что в данном пакете используется OpenGL для отображения пространства композиции, так и для визуализации трехмерных композиций, освещения, 3D объектов и материалов, используются возможности библиотеки NVIDIA OptiX.