Профессиональными графическими ускорителями NVIDIA Quadro я пользуюсь более 10 лет. Мне приходилось использовать самые разнообразные инструменты и возможности, реализованные в данных решениях, от простого отображения видовых окон проекций, до визуализации и вычислений на GPU с применением архитектуры NVIDIA CUDA. Довольно часто мне приходится отвечать на вопрос, в чем разница между игровой графикой и профессиональной. В этой статье я расскажу о преимуществах профессиональной графики при работе с профессиональными приложениями.
Речь пойдет не о производительности, а о поддержке специфических функций, востребованных в приложениях САПР и для создания мультимедийного контента. Я провел исследование возможностей графических ядер таких популярных САПР, как Autodesk Inventor, SolidWorks, T-Flex CAD, КОМПАС 3D, Autodesk Maya , Autodesk 3ds Max и CATIA. Так же данная статья включает демонстрацию и описание возможностей доступных только для профессиональных графических ускорителей, таких как инструментарий NVIDIA WMI, nView Desktop Management, технология NVIDIA Mosaic и поддержка Multi-GPU.
Все подробности, под катом.
Показаны сообщения с ярлыком Windows. Показать все сообщения
Показаны сообщения с ярлыком Windows. Показать все сообщения
понедельник, 27 марта 2017 г.
вторник, 2 февраля 2016 г.
Знакомство с NVIDIA Iray+ for 3ds Max
Около 5 лет назад я опубликовал обзор системы визуализации NVIDIA Iray в пакете расширений SAP для Autodesk 3ds Max 2011. Проект интеграции Iray в 3ds Max развивался и сейчас представляет собой мощный и гибкий инструмент для визуализации трехмерных сцен и анимации с возможностью применения GPU от компании NVIDIA и технологии NVIDIA CUDA для ускорения вычислений в процессах визуализации. Он реализован на концепции заложенной разработчиками Autodesk, а это накладывает определенные ограничения на реализации ряда важных функций самого ядра визуализации Iray и внедрение новых технологий. Ядро системы визуализации Iray разрабатывается усилиями NVIDIA, а с недавних пор на его основе компания самостоятельно создает свои собственные расширения для таких пакетов как Autodesk 3ds Max, Autodesk Maya, Autodesk Revit, Rhinoceros и специальную редакцию NVIDIA Iray Server, используемую для распределенных вычислений.
С помощью данной статьи вы познакомитесь с двумя решениями предлагаемыми компанией NVIDIA своим клиентам; модулем расширения NVIDIA Iray+ for 3ds Max и серверным решением NVIDIA Iray Server. Вы узнаете об основных возможностях Iray+ for 3ds Max, а так же сможете сравнить с реализацией ядра Iray поставляемого с 3ds Max по умолчанию и познакомитесь с поддержкой распределённых вычислений реализуемых с помощью NVIDIA Iray Server.
Немного о вычислениях на GPU
Одной из важнейших особенностей современных центральных процессоров является поддержка нескольких ядер, которые определяются операционной системой как логические процессоры. В большинстве задач данный подход позволяет добиться хорошей производительности, например в распараллеливаемых процессах, таких как визуализация.
Центральные процессоры в первую очередь ориентированы на выполнение последовательных алгоритмов, которые далеко не всегда могут хорошо выполняться в нескольких параллельных потоках, а следовательно, без соответствующей оптимизации производительность приложений с последовательными алгоритмами может значительно снижаться.
Этот предел, можно сказать, стал началом новой эры; эры многоядерных процессоров и параллельных вычислений, доступных обычному пользователю. Современные процессоры используют от 2 до 18 ядер, но это ощутимо меньше, по сравнению с множеством, хоть и упрощенных, но не менее производительных ядер графических процессоров. В отличие от центральных процессоров (CPU), в современных графических ускорителях (GPU), в зависимости от модели, доступно более 512 вычислительных ядер, а с помощью специализированных API можно получить высокий прирост скорости вычислений в хорошо распараллеливаемых задачах.
Рис. 1. Общая схема архитектур современных CPU и GPU.
Архитектура графических процессоров изначально разрабатывалась для параллельных вычислений, чем и является растеризация в процессе визуализации трехмерной графики. Это сыграло важную роль в дальнейшем развитии технологий вычислений общего назначения на GPU. Хоть частота графического процессора и может быть значительно ниже частоты центрального процессора, производительность в хорошо распараллеливаемых алгоритмах и задачах возрастает за счет повышения количества вычислительных ядер.
Каждое новое поколение архитектур графических процессоров увеличивает свою производительность раз в два или три года. На данный момент наиболее производительной архитектурой графических ускорителей NVIDIA является архитектура Maxwell, а уже в 2016 году будет анонсирована архитектура следующего поколения, получившая имя Pascal.
Рис. 2. Производительность архитектур GPU NVIDIA в тесте SGEMM / W.
На сегодняшний момент доступно три основных API для разработки приложений с поддержкой вычислений на GPU. К ним относятся NVIDIA CUDA, OpenCL и DirectCompute. Каждый из них позволяет реализовать большинство параллельных алгоритмов и использовать вычислительные возможности графических процессоров для вычислений. Но наиболее функциональным является API NVIDIA CUDA позволяющее задействовать все возможности GPU линеек GeForce, Quadro и Tesla. Каждая новая версия NVIDIA CUDA предоставляет разработчикам все больше и больше возможностей для создания высокоэффективных приложений с поддержкой вычислений общего назначения на GPU.
Алгоритмы, используемые в процессе визуализации, превосходно распараллеливаются, а такие физические модели как волновая теория света превосходно поддаются математическому описанию и вычислениям на GPU. Такие инструменты визуализации, как NVIDIA Iray, NVIDIA mental ray, Chaos Group V-Ray RT, Otoy Octane Renderer, Cebas moskitoRender и др., поддерживают ускорение вычислений с помощью GPU и используют их возможности для повышения скорости визуализации.
С помощью данной статьи вы познакомитесь с двумя решениями предлагаемыми компанией NVIDIA своим клиентам; модулем расширения NVIDIA Iray+ for 3ds Max и серверным решением NVIDIA Iray Server. Вы узнаете об основных возможностях Iray+ for 3ds Max, а так же сможете сравнить с реализацией ядра Iray поставляемого с 3ds Max по умолчанию и познакомитесь с поддержкой распределённых вычислений реализуемых с помощью NVIDIA Iray Server.
Немного о вычислениях на GPU
Одной из важнейших особенностей современных центральных процессоров является поддержка нескольких ядер, которые определяются операционной системой как логические процессоры. В большинстве задач данный подход позволяет добиться хорошей производительности, например в распараллеливаемых процессах, таких как визуализация.
Центральные процессоры в первую очередь ориентированы на выполнение последовательных алгоритмов, которые далеко не всегда могут хорошо выполняться в нескольких параллельных потоках, а следовательно, без соответствующей оптимизации производительность приложений с последовательными алгоритмами может значительно снижаться.
Этот предел, можно сказать, стал началом новой эры; эры многоядерных процессоров и параллельных вычислений, доступных обычному пользователю. Современные процессоры используют от 2 до 18 ядер, но это ощутимо меньше, по сравнению с множеством, хоть и упрощенных, но не менее производительных ядер графических процессоров. В отличие от центральных процессоров (CPU), в современных графических ускорителях (GPU), в зависимости от модели, доступно более 512 вычислительных ядер, а с помощью специализированных API можно получить высокий прирост скорости вычислений в хорошо распараллеливаемых задачах.
Рис. 1. Общая схема архитектур современных CPU и GPU.
Архитектура графических процессоров изначально разрабатывалась для параллельных вычислений, чем и является растеризация в процессе визуализации трехмерной графики. Это сыграло важную роль в дальнейшем развитии технологий вычислений общего назначения на GPU. Хоть частота графического процессора и может быть значительно ниже частоты центрального процессора, производительность в хорошо распараллеливаемых алгоритмах и задачах возрастает за счет повышения количества вычислительных ядер.
Каждое новое поколение архитектур графических процессоров увеличивает свою производительность раз в два или три года. На данный момент наиболее производительной архитектурой графических ускорителей NVIDIA является архитектура Maxwell, а уже в 2016 году будет анонсирована архитектура следующего поколения, получившая имя Pascal.
Рис. 2. Производительность архитектур GPU NVIDIA в тесте SGEMM / W.
На сегодняшний момент доступно три основных API для разработки приложений с поддержкой вычислений на GPU. К ним относятся NVIDIA CUDA, OpenCL и DirectCompute. Каждый из них позволяет реализовать большинство параллельных алгоритмов и использовать вычислительные возможности графических процессоров для вычислений. Но наиболее функциональным является API NVIDIA CUDA позволяющее задействовать все возможности GPU линеек GeForce, Quadro и Tesla. Каждая новая версия NVIDIA CUDA предоставляет разработчикам все больше и больше возможностей для создания высокоэффективных приложений с поддержкой вычислений общего назначения на GPU.
Алгоритмы, используемые в процессе визуализации, превосходно распараллеливаются, а такие физические модели как волновая теория света превосходно поддаются математическому описанию и вычислениям на GPU. Такие инструменты визуализации, как NVIDIA Iray, NVIDIA mental ray, Chaos Group V-Ray RT, Otoy Octane Renderer, Cebas moskitoRender и др., поддерживают ускорение вычислений с помощью GPU и используют их возможности для повышения скорости визуализации.
вторник, 14 апреля 2015 г.
Системные требования для Autodesk Maya 2016
Здравствуйте друзья, компания Autodesk анонсировала новейшую версию своих ключевых продуктов для индустрии развлечений и анимации. Технологии не стоят на месте и каждый год выпускается огромное количество новейших процессоров, графических ускорителей и другого компьютерного оборудования. В этом небольшом посте, я представлю вам основные системные требования для Autodesk Maya 2016.
С подробным обзором новой версии, вы можете познакомиться здесь>>
Узнать подробнее о системных требования вы можете пройдя по ссылке ниже.
С подробным обзором новой версии, вы можете познакомиться здесь>>
Узнать подробнее о системных требования вы можете пройдя по ссылке ниже.
воскресенье, 22 июня 2014 г.
Сравнение производительности mental ray на платформах Windows и Linux
Доброе время суток мои юные падаваны. В выдавшиеся свободные выходные я решил произвести небольшое исследование производительности в визуализации mental ray for Maya на двух различных платформах. Как известно многие крупные студии используют Linux в своей работе и такие программные пакеты как Autodesk Maya, Autodesk Softimage, The Foundry NUKE и другие. В целом, связка таких пакетов как Maya + RenderMan \ V-Ray \ mental ray \ Arnold (выберите себе по вкусу :)) + NUKE \ Fusion (так же выберите) уже давно зарекомендовала себя на платформе UNIX-подобных систем. Даже я выбираю Linux в качестве тестовой площадки, для исследований и круглосуточных вычислений, а в прямой деятельности уже использую Windows и Mac OS X. Мне всегда было интересно сравнить влияние операционной системы на скорость визуализации или возможности, реализованные в приложениях.
В процессе работы над книгой о mental ray for Maya мне приходится выполнять множество тестовых и финальных визуализаций изображений для иллюстрирования книги. Поэтому для вычислений была выбрана ОС Linux и mental ray Standalone в качестве основного инструмента для визуализации. Благо, для правки сцен может потребоваться любой функциональный текстовый редактор. В тоже время, на основной рабочей станции установлены как Windows, так и Linux, на Linux Обычно тестируются новые версии Maya и mental ray for Maya. Данное тестирование выполнялось на одной системе (FORSITE X1240q workstation), с двумя ОС. Для унификации теста в Maya были созданы несколько сцен, для визуализации использовался mental ray for Maya (версия ядра 3.12.1.16).
Использование оперативной памяти системой по умолчанию
Первый просто тест который я провел – использование оперативной памяти системой сразу после загрузки компьютера. Что мне не всегда нравилось в Windows, так это то, что после разворачивая рабочей системы со всеми приложениями, система начинает потреблять достаточно большой объем оперативной памяти, иногда, более двух гигабайт. В моем случае, из 16 Гб ОЗУ, Windows со всеми запущенными в фоне службами использует около 1,6 Гб ОЗУ, что конечно не есть хорошо, когда нужно постоянно что-то вычислять и использовать эту память по максимуму.
Хотя, в принципе для рабочей станции это вполне нормальное состояние, множество приложений используют различные службы и подгружают свои фоновые процессы для облегчения последующей загрузки.
Следующее что необходимо было решить и понять – использование памяти самим процессом maya.exe, после запуска программы и при чистой сцене по умолчанию. В данном тесте, Maya на платформе Windows использует всего 433 Мб ОЗУ. Конечно, чтобы оптимизировать объем используемой памяти, необходимо отключить все ненужные модули Maya и оставить только те, что необходимы. В принципе это достигается снятием галочек с модулей в окне Plug-in Manager.
У операционной системы семейства Linux все несколько иначе. В данном тестировании, я опирался на данные полученные с дистрибутива CentOS 6.5. Так, из 16 Гб ОЗУ, системе необходимо всего 1.1 Гб, при этом, в ряде случаев, она может использовать всего 650 – 800 Мб. Это особенно важно, когда необходимо выполнять визуализацию больших и сложных сцен, занимающих достаточно большой объем памяти.
А вот Maya для платформы Linux, использует практически идентичный объем ОЗУ, что и версия для платформы Windows, около 430 Мб. В принципе, как можно заметить, программа в принципе достаточно унифицирована и может быть спокойно сконфигурирована под различные платформы с одинаковым расходом ресурсов.
Разобравшись с используемыми объемами памяти, можно перейти непосредственно к тестированию mental ray for Maya на обеих платформах.
В процессе работы над книгой о mental ray for Maya мне приходится выполнять множество тестовых и финальных визуализаций изображений для иллюстрирования книги. Поэтому для вычислений была выбрана ОС Linux и mental ray Standalone в качестве основного инструмента для визуализации. Благо, для правки сцен может потребоваться любой функциональный текстовый редактор. В тоже время, на основной рабочей станции установлены как Windows, так и Linux, на Linux Обычно тестируются новые версии Maya и mental ray for Maya. Данное тестирование выполнялось на одной системе (FORSITE X1240q workstation), с двумя ОС. Для унификации теста в Maya были созданы несколько сцен, для визуализации использовался mental ray for Maya (версия ядра 3.12.1.16).
Использование оперативной памяти системой по умолчанию
Первый просто тест который я провел – использование оперативной памяти системой сразу после загрузки компьютера. Что мне не всегда нравилось в Windows, так это то, что после разворачивая рабочей системы со всеми приложениями, система начинает потреблять достаточно большой объем оперативной памяти, иногда, более двух гигабайт. В моем случае, из 16 Гб ОЗУ, Windows со всеми запущенными в фоне службами использует около 1,6 Гб ОЗУ, что конечно не есть хорошо, когда нужно постоянно что-то вычислять и использовать эту память по максимуму.
Хотя, в принципе для рабочей станции это вполне нормальное состояние, множество приложений используют различные службы и подгружают свои фоновые процессы для облегчения последующей загрузки.
Следующее что необходимо было решить и понять – использование памяти самим процессом maya.exe, после запуска программы и при чистой сцене по умолчанию. В данном тесте, Maya на платформе Windows использует всего 433 Мб ОЗУ. Конечно, чтобы оптимизировать объем используемой памяти, необходимо отключить все ненужные модули Maya и оставить только те, что необходимы. В принципе это достигается снятием галочек с модулей в окне Plug-in Manager.
У операционной системы семейства Linux все несколько иначе. В данном тестировании, я опирался на данные полученные с дистрибутива CentOS 6.5. Так, из 16 Гб ОЗУ, системе необходимо всего 1.1 Гб, при этом, в ряде случаев, она может использовать всего 650 – 800 Мб. Это особенно важно, когда необходимо выполнять визуализацию больших и сложных сцен, занимающих достаточно большой объем памяти.
А вот Maya для платформы Linux, использует практически идентичный объем ОЗУ, что и версия для платформы Windows, около 430 Мб. В принципе, как можно заметить, программа в принципе достаточно унифицирована и может быть спокойно сконфигурирована под различные платформы с одинаковым расходом ресурсов.
Разобравшись с используемыми объемами памяти, можно перейти непосредственно к тестированию mental ray for Maya на обеих платформах.
Подписаться на:
Сообщения (Atom)








