Складові продуктивностi графiчних акселераторiв NVIDIA

08.12.2022 | Станції

У графічних акселераторів багато параметрів. Мають значення архітектура базового процесора, об'єм, частота і пропускна здатність пам'яті, інтерфейс шинного підключення, розмір кеш-пам'яті та ін. Кожному своє: комерційним серверам, робочим станціям, ігровим ПК. Лінійний підхід «дорожче-краще» не працює.

Підхід NVIDIA

Процесори NVIDIA побудовані на трьох основних типах ядер: CUDA для базових графічних обчислень, RT для трасування променів у режимі реального часу, тензорних ядрах для прискорення машинного навчання.

Ядра CUDA дозволяють графічному процесору паралельно обробляти схожі завдання. Більше ядер – більше водночас обробляється даних. Що вища тактова частота, то швидше працює кожне ядро. Графічні процесори стають кращими з новими поколіннями та архітектурами, тому стара графічна карта з великою кількістю ядер CUDA не обов'язково потужніша за нову, з меншою.

У комп'ютерній графіці трасування променів (ray tracing, RT) – моделювання перенесення світла в алгоритмах рендерингу для створення реалістичних зображень: відбиття, заломлення, тіней, розмиття у русі. Ядра RT прискорюють ключові математичні операції, необхідні для відстеження віртуальних променів світла у сцені.

Тензорні обчислення використовуються у завданнях математичного моделювання, але найбільший попит на них – у машинному навчанні. Обробка великих наборів даних під час навчання нейромереж – багатопараметричне завдання нелінійної оптимізації. Спеціалізовані тензорні ядра графічних акселераторів підтримують операції з різною точністю та динамічно оптимізують обчислення для підвищення продуктивності. Програми штучного інтелекту сьогодні – основний драйвер розвитку графічних обчислень.

Три коліна, три архітектури

Архітектура Ada (Lovelace) нового покоління акселераторів NVIDIA змінила архітектуру Ampere, а та - Turing. Порівняємо три GPU (які NVIDIA назвала так, що неуважному користувачеві легко заплутатися):

  • RTX 6000 (Ada)
  • RTX A6000 (Ampere)
  • Quadro RTX 6000 (Turing)


 

На відміну від імен, показники карт сильно відрізняються.

 

Джерело: NVIDIA

CUDA

Ядра CUDA відповідають за освітлення, фізику та інші графічні обчислення. Процесор AD102 покоління Ada містить на 70% більше ядер CUDA ніж попередник. За даними NVIDIA, швидкість обробки операцій із плаваючою комою одинарної точності (FP32) зросла вдвічі. Можна очікувати значного приросту продуктивності у розробці 3D-моделей та автоматизованому проектуванні (CAE).

RT

Ядра RT третього покоління прораховують геометрію освітленості об'єктів (перетин променів та трикутників) удвічі швидше, ніж раніше. Це означає, що карти на основі Ada більш точно відтворюють відображення та тіні, краще виконують шумопридушення - усувають випадкові зміни яскравості та кольору для надання зображенням більшої реалістичності. Ядра Ada RT містять два нових апаратних блоки: Opacity Micromap (OMM) та Displaced Micro-Mesh (DMM). Вони прискорюють трасування променів для напівпрозорих об'єктів чи об'єктів неправильної форми. Мікросітки відтворюють об'єкти більш складної форми без збільшення часу обробки.

За словами NVIDIA, забезпечити високу частоту кадрів трасування променів лише за рахунок потужності RT Core не можна. Ось чому в Ada реалізовано нову систему планування - переупорядкування шейдерів (Shader Execution Reordering, SER). NVIDIA стверджує, що витратила роки на дослідження та розробки SER, основною метою яких є підвищення ефективності шейдерів на льоту, оптимізація завантаження ядер CUDA та покращення паралелізму.

Тензорні ядра

Тензорні ядра Ada четвертого покоління функціонально ідентичні ядрам процесора NVIDIA Grace Hopper для центрів обробки даних (такі стоять у старших акселераторах H100). Їх двигун Transformer Engine FP8 забезпечує до п'яти разів більш високу продуктивність у завданнях штучного інтелекту (ІІ) в порівнянні з тензорним ядром Ampere попереднього покоління (яке саме по собі забезпечувало аналогічний приріст швидкості за рахунок використання розрідженості). На тензорні ядра Ada та компонент Optical Flow Accelerator спирається технологія масштабування зображень DLSS 3 – нові кадри малюються виключно з використанням штучного інтелекту, не задіявши основний конвеєр рендерингу графіки.

Кодування/декодування

Вбудований кодувальник NVIDIA NVENC переносить ресурсомістке завдання кодування відео з CPU на виділену частину графічного процесора та прискорює експорт відео. Вбудований декодер NVDEC допомагає плавно відтворювати багатопотокове відео високої роздільної здатності. Карта RTX 6000 дозволяє використовувати три апаратні прискорювачі NVENC і NVDEC, фізично присутніх на AD102, для шести незалежних прискорених потоків транскодування. У попередніх поколіннях і кодувальників і декодерів було менше. У настільних аналогів RTX 6000 на тому ж процесорі, RTX 40x0, їх також менше – 2/1.

Ціна прогресу

«Високо оптимізована архітектура графічного процесора NVIDIA Ada Lovelace поєднує в собі ядра RT третього покоління, тензорні ядра четвертого покоління і нові ядра CUDA для виходу на раніше недосяжну продуктивність рендерингу, штучного інтелекту, графіки та обчислень», — вважає Карл  Флайгар, спеціаліст з професійної графіки та даних PNY, основного контрактного виробника NVIDIA.

Завдання користувача – рахувати власну вигоду, співвідносячи з витратами. RTX 6000 (Ada) приблизно на третину дорожче за попередницю RTX A6000 (Ampere). Одночасна присутність на ринку акселераторів кількох поколінь дозволяє користувачам вибрати відповідний інструмент, не переплачуючи за незатребувані можливості. Щоправда, для цього треба знати навантаження своїх завдань. Більшість фахівців з глибокого навчання та інженерів не розуміють специфіки кожної нової архітектури графічних акселераторів та того, які переваги вони приносять. Купують по-старому - на що дадуть грошей.