Nvidia для професійних 3D додатків. Хабрахабр

27.09.2015

Nvidia для професійних 3D додатків

Пів року тому я шукав собі відеокарту, на якій я зміг би займатися 3d моделюванням, і рендерінгом на GPU. У зв’язку з появою на ринку великої числі рендерів на CUDA мені не терпілося придбати відеокарту з підтримкою CUDA, а саме Nvidia .

Як деякі вже знають, Nvidia виставляє на продаж відеокарти декількох моделей Geforce, Quadro, Tesla, ION, Tegra. У цьому короткому порівнянні упустимо ION і Tegra, т. к. призначені для мобільних пристроїв і слабкі по продуктивності.

Nvidia power.

ЩО ГОВОРИТЬ ВИРОБНИК

Geforce — відеокарти, орієнтовані на споживчий ринок і на геймерів, зокрема.

Якщо вам цікаві ігри — Geforce найкращий варіант для цього.

Відеокарти краще всього показують себе в іграх, мають високі частоти, не дороги, найбільш ненажерливі при навантаженні.

В якості загальних обчислювальних завдань (Cuda, OpenCL) жефорсы згадуються досить рідко.

Має PhysX, іменований крутейшим апаратним рішенням щодо прискорення фізики.

Дозвілля володаря Geforce (Battlefield 3).

Quadro — відеокарти для користувачів професійних додатків 2D і 3D.

Якщо ви займаєтеся з пакетами 3д моделювання, CAD, складною векторною графікою Вам підійде Квадра.

Складні моделі на екрані рендеряться швидше, менше «ривків».

Квадри, порівнянні по продуктивності з Жефорсами в іграх будуть в кілька разів дорожче.

На картинках сайту nvidia можна побачити вже Куди більше, ніж на жефорсах.

чи То пак, професійні відеокарти, навіть обчислень загального призначення бути!

Робота володаря Quadro (Autodesk Alias Studio).

Tesla — обчислювальні системи для наукових і технічних обчислень загального призначення.

Тут у всю рекламується CUDA, як круту інструмент обчислень загального призначення. Всюди плакати з аеродинамічними обчисленнями, воксельным сканнированием людського тіла, графічні моделі навантажень, і нереально швидкий рендеринг на iRay.

На Tesla відсутні відеовиходи, так само як і немає апаратної растеризації: не працює ні OpenGL, ні DirectX.

Робота володаря 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$. Випускається.

(Варто звернути увагу на 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Д Макс?

Ну, можна скласти невелику логічний ланцюжок. Autodesk є багатою корпорацією, і в хороших партнерських відносинах з виробниками ATI і Nvidia. Підвищувати потрібно продажу свого дітища ж! А як би зацікавити споживачів? Продуктивністю ж!

Отже, GeForce GTX580 (так, купив я саме її), 7.3 млн трикутників, 2560 Torus Knot-ів, без тіней і без Adaptive degradation.

Nitrous — 42 fps; Direct3d — 13 fps; OpenGL — 2 сек.

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.

Картинка з оф. сайту nvidia.

Але ні, працює, і ще як. Здавалося б, що може бути краще для не-графічних обчислень, ніж відеокарта Tesla, спеціально заточена під не-графічні обчислення?

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 теж розділила моделі відеокарт. 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.

Подібні маркетингові ходи є невід’ємною частиною ринкової економіки, до них вдаються всі виробники без винятку.

Але все ж, не будемо вестися на маркетингові хитрощі корпорацій, а вдумливо купувати те, що дійсно корисно для нас!

UPD: спасибі ForhaxeD. Funcraft. podwhitehawk за знайдені орфографічні і граматичні помилки.

Короткий опис статті: відеокарта для 3d max Пів року тому я шукав собі відеокарту, на якій я зміг би займатися 3d моделюванням, і рендерінгом на GPU. У зв’язку з появою на ринку великої числі рендерів на CUDA мені не терпілося… nvidia quadro, geforce, tesla, rendering, gpgpu, cuda, opencl, glsl, opengl, directx, gpu, рендеринг, відеокарта, nitrous, radeon, firepro, firestream

Джерело: Nvidia для професійних 3D додатків / Хабрахабр

Також ви можете прочитати