Nvidia для профессиональных 3D приложений

в 10:47, , рубрики: CUDA, DirectX, firepro, firestream, GeForce, glsl, gpgpu, gpu, Nvidia, opencl, OpenGL, radeon, tesla, Анимация и 3D графика, видеокарта, высокая производительность, Железо, рендеринг, метки: , , , , , , , , , , , , , ,

Пол года назад я искал себе видеокарту, на которой я смог бы заниматься 3d моделированием, и рендерингом на GPU. В связи с появлением на рынке большого числе рендеров на CUDA мне не терпелось приобрести видеокарту с поддержкой CUDA, а именно Nvidia.

Как некоторые уже знают, Nvidia выставляет на продажу видеокарты нескольких моделей Geforce, Quadro, Tesla, ION, Tegra. В этом коротком сравнении упустим ION и Tegra, т.к. предназначены для мобильных устройств и слабые по производительности.

Нам нужна мощь!
Nvidia для профессиональных 3D приложений

Nvidia power...

ЧТО ГОВОРИТ ПРОИЗВОДИТЕЛЬ

Geforce — видеокарты, ориентированные на потребительский рынок и на геймеров, в частности.
Если вам интересны игры — Geforce лучший вариант для этого.
Видеокарты лучше всего показывают себя в играх, имеют высокие частоты, не дороги, наиболее прожорливы при нагрузке.
В качестве общих вычислительных задач (Cuda, OpenCL) жефорсы упоминаются достаточно редко.
Имеет PhysX, именуемый крутейшим аппаратным решением по ускорению физики.
Nvidia для профессиональных 3D приложений
Досуг обладателя Geforce (Battlefield 3 Bad Company).

Quadro — видеокарты для пользователей профессиональных приложений 2D и 3D.
Если вы занимаетесь с пакетами 3д моделирования, CAD, сложной векторной графикой — то Вам подойдет Квадра.
Сложные модели на экране рендерятся быстрее, меньше «рывков».
Квадры, сравнимые по производительности с Жефорсами в играх будут в несколько раз дороже.
На картинках сайта nvidia можно увидеть уже больше Куды, чем на жефорсах.
То бишь, видеокарты профессиональные, даже вычислениям общего назначения быть!
Nvidia для профессиональных 3D приложений
Работа обладателя Quadro (Autodesk Alias Studio).

Tesla — вычислительные системы для научных и технических вычислений общего назначения.
Тут во всю рекламируется CUDA, как крутейший инструмент вычислений общего назначения. Всюду плакаты с аэродинамическими вычислениями, воксельным сканнированием человеческого тела, графические модели нагрузок, и нереально быстрый рендеринг на iRay.
На Tesla отсутствуют видеовыходы, так же как и нету аппаратной растеризации: работает ни OpenGL, ни DirectX.
Nvidia для профессиональных 3D приложений
Работа обладателя Quadro + Tesla (Quadro — 3d графика, Tesla — молекулярная динамика).
***

НЕБОЛЬШОЕ ИССЛЕДОВАНИЕ

Когда начал разбираться в их различии, был удивлен тем фактом, что видеокарты GeForce, Quadro, Tesla используют одинаковые графические чипы.
Рассмотрим видеокарты с одинаковым, уже не самым новым, чипом GF100 имеет (512 CUDA ядер):

Одночиповые:
GeForce: GTX465, GTX470, GTX480
Quadro: 4000, 5000, 6000
Tesla: C2050, C2070, M2050, M2090

Рассмотрим по одному представителю с каждого семейства поподробнее.

GeForce GTX480
Некогда топовая игровая видеокарта.
Стоимость: на момент выпуска около 500$ (сейчас бу и за 300 видел), на данный момент не выпускается (на смену пришли GTX580 512 ядер, и GTX680 1536 ядер)
Количество ядер CUDA — 480.
Объем памяти 1.5 Gb.
Производительность float:
Одинарная точность: 1344,9 Гфлопс.
Двойная точность: 168,1 Гфлопс.
(Существует более урезанная версия GTX470, сейчас можно найти по цене меньше 250$, 448 ядер CUDA, 1.25 Gb)

Quadro 5000
Одна из лучших видеокарт для профессиональных приложений.
Стоимость: по данными Amazon около 1700$. Выпускается.
Количество ядер CUDA — 352.
Объем памяти 2.5 Gb.
Производительность float:
Одинарная точность: 718.08 Гфлопс.
Двойная точность: 359.04 Гфлопс.
(Стоит обратить внимание на Quadro 6000, 448 ядер, 515 Гфлопс двойной точности, 4000$)

Tesla C2075
Стоимость: по данными Amazon около 2200$. Тоже выпускается.
Количество ядер CUDA — 352.
Объем памяти 6 Gb.
Производительность float:
Одинарная точность: 1030 Гфлопс.
Двойная точность: 515 Гфлопс.

Что мы видим?
Заметим, что по float производительности выигрывает GeForce GTX480. Причиной тому самое большое количество рабочих ядер и самые высокие частоты среди аналогов. Это нужно для преобразования координат объектов в играх, расчета теней, расчета пиксельных и вершинных шейдеров. В конечном итоге — чтобы игра «летала».
Но, чтобы для научных исследований, моделирования динамики жидкостей и газов покупали Теслы и Квадры — в двойной точности производительность сильно урезана, и уступает аналогам.
Соотношение производительности:
GeForce: double/float — 1/8
Quadro и Tesla: double/float — 1/2
Кроме того, самым малым объемом памяти обладает тот же GTX480. Для игр достаточно, но если хотите провести расчет аэродинамики — покупайте что-то посерьезнее.
***

ЧЕГО НУЖНО?
Людей, занимающихся 3d графикой?
1. Поменьше тормозов во время редактирования 3d модели.
2. Некоторых интересует возможность быстрого рендеринга на GPU.

3D производительность GeForce vs Quadro
Из информации изложенной выше может показаться, что профессиональными приложениями на GeForce не пользуются из-за того, что имеет малый объем памяти, но это не так.
Ролик покажет Вам, почему «плохая Квадра» лучше «хорошего Жефорса» в профессиональных приложениях.

Quadro 600: 1Gb, 96 ядер CUDA, 150у.е.
GTX560Ti: 1Gb, 384 ядра CUDA, 250у.е. (Цены взяты из Amazon)
Выходит, Nvidia тщательно следит, чтобы 3d производительность в профессиональных приложениях Geforce уступали Quadro при соизмеримых ценах.

Как могут быть реализованны тормоза во вьюпорте?
Дело в том, что количество полигонов в играх существенно меньше, чем у профессионалов в профессиональных приложениях. В играх редко доходит до одного млн полигонов, а в профессиональных — десятки миллионов.
Тут можно сделать так: урезать производительность при преобразовании координат вершин. Если вершин больше определенного количества — то поставить задержку перед отрисовкой последующих вершин.
Либо установить задержку при отрисовке треугольников. Если больше определенного количества — то поставить задержку перед отрисовкой каждого последующего треугольника.

Маленькое лирическое отступление, или Nitrous в 3ds Max.
Меня ввел в заблуждение Nitrous движок в 3ds Max, который стоит рядом с OpenGL и DirectX. Это как? В Autodesk есть что-то, что вызывает Нитрос, аппаратная поддержка которого, оказывается, есть на каждой уважающей себя видеокарте, но знает о ней только 3Д Макс?
Nvidia для профессиональных 3D приложений
Ну, можно составить небольшую логическую цепочку. Autodesk является богатой корпорацией, и в хороших партнерских отношениях с производителями ATI и Nvidia. Повышать нужно продажи своего детища же! А как бы заинтересовать потребителей? Производительностью же!

Итак, GeForce GTX580 (да, купил я именно её), 7.3 млн треугольников, 2560 Torus Knot-ов, без теней и без Adaptive degradation.
Nvidia для профессиональных 3D приложений
Nitrous — 42 fps; Direct3d — 13fps; OpenGL — 2fps.

OpenGL — тормозит. DirectX — намного лучше. А Nitrous — круче всех, оказывается! Что же нитрос тогда?
Два варианта:
1. Это OpenGL/DX в котором убраны дополнительные тормоза во вьюпорте, созданные умышленно в OpenGL/DX режимах.
2. Это OpenGL/DX, который умеет обращаться к аппаратным функциям игровых видеокарт, и проявлять в них квадровые способности!
И я склонен именно к 2 варианту, т.к. в Blender и в Rhino3D это же самое дико тормозит (2fps).
Выходит, пользователям 3ds Max и других продуктов Autodesk вовсе не так принципиально переходить на Квадру? К сожалению, у меня нету Квадры, чтобы проверить производительность Нитроса по сравнению с OpenGL.

Если же у Вас GeForce или Radeon, нет возможности раскошелиться за Квадру, и вы Не пользуетесь продуктами от Autodesk то:
1. Сложные объекты можно скрыть. Объекты можно показывать во вьюпорте с меньшей плотностью сетки.
2. Вместо объектов можно показывать «контейнеры», их содержащие.
То есть следить за количеством полигонов в вьюпорте.
Зато в игры нормально поиграете.

GPU рендеринг
Поскольку коммерческие производители не рассказывают о том, какие типы данных (float или double) они используют — приходится только догадываться.
iRay везде показывают с Quadro и Tesla, может создаться впечатление, что iRay вообще не работает с GeForce.
image
Картинка с оф. сайта nvidia.
Но нет, работает, и еще как. Казалось бы, что может быть лучше для не-графических вычислений, чем видеокарта Tesla, специально заточенная под не-графические вычисления?
image
(Взято с поста: «V-Ray и Iray. Сравнение и обзор»)
GeForce GTX580 является самой быстрой одночиповой видеокартой в iRay рендеринге на GPU. И значительно дешевле «серьезных» аналогов такой же производительности. А если вам не хватает 1.5Гб, существуют GTX580 с 3Гб памяти.
При использовании V-RayRT, Octane, Cycles, Arion также лучше всех себя показывают видеокарты GTX570 и 580. Выходит, все эти рендеры не используют расчет двойной точности для рендеринга?
В любом случае, если вы хотите рендерить на GPU — на GeForce вы сможете хорошо сэкономить.

GTX680
Но корпорация заметила, что для вычислений все чаще начали брать GTX580, производительность double в GTX680 уступает float не в 8 раз, а в 24, что не могло не отразиться на некоторых тестах.
Известно, что в Octane Render производительность возросла на 64%.

ATI Radeon vs FirePro
Аналогично Nvidia, корпорация AMD тоже разделила модели видеокарт. Но на 2 рынка Radeon (аналог GeForce), FirePro (аналог Quadro), FireStream (аналог Tesla). Производительность вычислений с плавающей точкой двойной точности уступает одинарной в 4 раза, во всех моделях ATI. Интересно, что производительность топовых игровых видеокарт ATI (Radeon HD 7970, float — 3.79 Тфлопс, double — 947 Гфлопс) превосходит в двойной точности даже одночиповые Tesla.
Причина, по которой ATI сильно уступает Nvidia на рынке GPGPU мне пока не ясна. Может, игрового сегмента вполне хватает.


Я выбрал GTX580 3Gb
Видеокарта дает возможность насладиться новыми играми и производительностью GPU рендеров. А тормоза во вьюпорте пакетов 3d моделирования для меня не сильно критичны.

Автор статьи с уважением относится к этому производителю, и сам является счастливым обладателем карточки Nvidia.
Подобные маркетинговые ходы являются неотъемлемой частью рыночной экономики, к ним прибегают все производители без исключения.
Но все же, не будем же вестись на маркетинговые уловки корпораций, а вдумчиво покупать то, что действительно полезно для нас!

Автор: Marchevsky

Поделиться

* - обязательные к заполнению поля