NVIDIA SLI: теорія і практика використання технології

код вставки
<Div id = "gecid_share_id"> </ div>
<Script type = "application / javascript" src = "https://ru.gecid.com/inc/js.php?id=941"> </ script>

Екстенсивність та інтенсивність - ось два ключових поняття розвитку прогресу людства. Екстенсивний та інтенсивний шляхи розвитку суспільства, технологій, та й усього людства в цілому змінювали один одного на протязі багатьох століть. Прикладів тому багато у всіх сферах господарської діяльності. Але землеробство і скотарство нас сьогодні не цікавлять, нас цікавлять інформаційні технології і комп'ютери. Для прикладу, коротко розглянемо розвиток центральних процесорів.

Не будемо заглиблюватися в далекі 80-90-ті, почнемо відразу з Pentium 4. Після тривалого інтенсивного розвитку технології NetBurst, нарощування «стероїдних» мегагерц, індустрія вперлася в стіну - далі «розганяти» одноядерні процесори виявилося дуже складно і, що б отримати ще більш потужний процесор, необхідні великі витрати. І тоді з'явилися двоядерні процесори - екстенсивне рішення проблеми. Незабаром і вони перестали забезпечувати потрібну продуктивність, і з'являється нова архітектура Core, яка при менших тактових частотах дає більшу продуктивність - інтенсивне рішення проблеми. І так буде тривати далі.

А що ж відбувається з розвитком другого компонента, важливого для любителя видовищних ігор на ПК - відеокартою? А відбувається те ж саме, що і з процесорами. На даному етапі розвитку, одночиповие відеокарти вже не можуть забезпечити необхідну продуктивність. Тому обидві лідируючі компанії ринку відеокарт (NVIDIA і AMD) розробляють і активно впроваджують власні технології збільшення продуктивності відеосистеми шляхом об'єднання двох, трьох, і навіть чотирьох відеокарт в одному ПК. У даній статті ми розглянемо першу компанію (бо саме вона представила свою розробку першої) NVIDIA і її технологію SLI.

Що таке технологія SLI?

Технологія NVIDIA SLI - це революційний підхід до масштабування графічної продуктивності шляхом об'єднання декількох відеокарт NVIDIA в одній системі.

Історія

У 1998 році компанія 3dfx представила графічний процесор Voodoo2, серед інших нововведень якого була технологія SLI (англ. Scan Line Interleave - чергування рядків), яка передбачала спільну роботу двох чіпів Voodoo2 над формуванням зображення. З технологією SLI могли працювати навіть карти різних виробників, а також карти з різним об'ємом пам'яті. SLI-система дозволяла працювати з роздільною здатністю до 1024x768, що в той час здавалося неймовірним. Недоліками SLI від 3dfx були висока вартість прискорювачів ($ 600) і велике тепловиділення. Однак незабаром відеокарти переходять з шини PCI на більш швидкий виділений графічний AGP-порт. Так як на материнських платах цей порт був тільки один, то випуск відеокарт з підтримкою SLI на деякий час припинився.

У 2000 році з випуском нового чіпа VSA-100 3dfx вдалося реалізувати SLI на AGP, але на цей раз в рамках однієї плати, на якій розміщувалися два або чотири таких чіпа.

Однак плати на базі SLI-системи мали велике енергоспоживання і виходили з ладу через проблеми з електроживленням. На весь світ плат Voodoo5 6000 було продано близько 200 штук, причому реально робочими з них виявилися лише 100. Настільки невдале просування багатообіцяючого прискорювача, в який були вкладені дуже великі кошти, призвели фактично до банкрутства компанії. У 2001 році NVIDIA купує 3dfx за 110 млн. Доларів.

У 2004 році з виходом перших рішень на базі нової шини PCI Express NVIDIA повідомляє про підтримку у своїх продуктах технології мультичіпової обробки даних SLI, яка розшифровується вже по-іншому - Scalable Link Interface (масштабований інтерфейс).

Спочатку просування технології SLI було не дуже гладко, в першу чергу через що постійно виявляються недоробки у драйверах, а також через необхідність «заточувати» їх під кожне конкретне застосування, а інакше гравець не отримував ніякої користі від покупки пари прискорювачів. Але змінювалися покоління прискорювачів, допрацьовувалися драйвери, розширювався перелік підтримуваних ігор. І ось, в кінці 2007 року була введена в експлуатацію технологія Triple SLI, що дозволяє об'єднувати в зв'язці 3 відеокарти NVIDIA:

Виробник обіцяє приріст продуктивності до 250% в порівнянні з одиночним чіпом. Але і це не стало межею, зараз на черзі вже Quad SLI, що дозволяє змусити працювати над візуалізацією ігрової сцени вже 4 GPU, правда, в складі пари двочіпових відеокарт.

Алгоритми побудови зображень

Split Frame Rendering

Split Frame Rendering

Схема алгоритму Split Frame Rendering

Це часто використовуваний режим, коли зображення розбивається на кілька частин, кількість яких відповідає кількості відеокарт у зв'язці. Кожна частина зображення обробляється однією відеокартою повністю, включаючи геометричну і піксельну складові. (Аналог в CrossFire - алгоритм Scissor)

Алгоритм Split Frame Rendering легко масштабується на 3, 4, а в майбутньому, можливо, і на більше чило графічних процесорів.

Alternate Frame Rendering

Alternate Frame Rendering

Схема алгоритму Alternate Frame Rendering

Обробка кадрів відбувається по черзі: одна відеокарта обробляє тільки парні кадри, а друга - тільки непарні. Однак у цього алгоритму є недолік. Справа в тому, що один кадр може бути простим, а інший складним для обробки. До того ж цей алгоритм, запатентований ATI під час випуску двочіпової відеокарти.

У технології Quad SLI використовується і гібридний режим, який об'єднує в собі SFR і AFR.

У технології Quad SLI використовується і гібридний режим, який об'єднує в собі SFR і AFR

SLI AA (Anti Aliasing), SLI FSAA (Full Scene Anti Aliasing)

SLI AA (Anti Aliasing), SLI FSAA (Full Scene Anti Aliasing)

Даний алгоритм націлений на підвищення якості зображення. Одна і та ж картинка генерується на всіх відкритих з різними шаблонами згладжування. Відеокарта робить згладжування кадру з деяким кроком щодо зображення іншої відеокарти. Потім отримані зображення змішуються і виводяться. Таким чином, досягається максимальна чіткість і деталізація зображення. Можна налаштувати режим згладжування: 8x, 10x, 12x, 14x, 16x і 32x. (Аналог в CrossFire - SuperAA)

принципи побудови

Для побудови комп'ютера на основі SLI необхідно мати:

  • материнську плату з двома і більше роз'ємами PCI Express, що підтримує технологію SLI (як правило, в назві материнської плати присутній слово SLI).
  • Досить потужний блок живлення (зазвичай рекомендується від 550 Вт);
  • відеокарти GeForce 6/7/8/9 / GTX або Quadro FX з шиною PCI Express;
  • міст, що поєднує відеокарти.

При цьому відзначимо, що підтримка чіпсетів для роботи з SLI здійснюється програмно, а не апаратно. Але відеокарти повинні належати до одного класу, при цьому версія BIOS плат і їх виробник значення не мають.

На даний момент, технологія SLI підтримується наступними операційними системами:

  • Windows XP 32-bit
  • Windows XP 64-bit
  • Windows Vista 32-bit
  • Windows Vista 64-bit
  • Linux 32-bit
  • Linux 64-bit (AMD-64 / EM64T)

SLI-систему можна організувати двома способами:

  • За допомогою спеціального містка;
  • Програмним шляхом.

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

Якщо міст SLI не встановлений, то драйвер видає попередження, що режим SLI буде працювати не в повну силу.

Наприклад, ось так може виглядати спеціальний місток для з'єднання відеокарт, якщо він виконаний на текстоліті. Крім того, зараз поширені і гнучкі мости, як більш дешеві у виробництві. Але для активації технології 3-Way SLI використовується поки тільки жорсткий спеціальний міст, що фактично вміщує в себе три звичайних в «кільцевому» режимі.

Як було сказано вище, популяризується і система Quad SLI. Вона передбачає об'єднання в єдину систему двох двочіпових плат. Таким чином, виходить, що в побудові зображення беруть участь 4 чіпи, однак це поки доля запеклих ентузіастів і для звичайних користувачів практичного значення не має.

Для простого користувача важливо інше, те, заради чого власне і задумувалася дана технологія. Купуючи материнську плату з підтримкою SLI, ви робите хороший заділ для модернізації ПК в майбутньому, так як вона надає можливість додавання ще однієї відеокарти. Ніякі інші засоби «апгрейду», крім повної зміни системи, навіть близько не дає той приріст ігрової продуктивності, який забезпечує друга відеокарта.

Виглядає це приблизно так. Ви купуєте хороший ПК з гарною сучасною відеокартою. Спокійно граєте в сучасні ігри, але через рік-півтора ваша система вже не може задовольнити Вас якістю зображення і швидкістю в останніх іграх. Тоді Ви замість заміни старої відеокарти (або навіть всього ПК) просто додаєте ще одну і одержуєте майже подвоєну потужність відеосистеми.

Однак, так просто звучить все в теорії. А ось на практиці користувачеві доведеться зіткнутися з безліччю труднощів.

Перша - це самі ігри і додатки. Від страшного слова «оптимізація» ніхто ще не придумав ліки - так, не тільки драйвери, але і ігри повинні бути оптимізовані для технології SLI, щоб коректно з нею працювати. NVIDIA заявляє, що технологія SLI підтримує « найдовший список ігор ». Якщо цікавить вас, немає в списку, компанія пропонує створити власний профіль налаштувань для неї.

На жаль, все ще залишається дуже багато ігор, не сумісних з SLI, і створення профілю ніяк це не виправляє. Вихід один - чекати патчів від розробників ігор і нових драйверів від компанії NVIDIA. Однак до цих ігор належать в основному старі, з якими без проблем справляється і одиночна сучасна відеокарта, або мало популярні, які переважній більшості гравців не цікаві внаслідок поганої «іграбельності». А ось нові потужні ігри вже заздалегідь передбачають використання двох відеокарт. Наприклад, в грі Call of Duty 4 в розділі налаштувань графіки є цілком конкретний перемикач.

Про включення функції SLI Ви можете дізнатися за спеціальними індикаторами прямо в грі, при відповідному «тестовому» налаштуванні драйвера.

Якщо на екрані монітора Ви бачите горизонтальні або вертикальні зелені смуги, це означає, що режим «Показувати візуальні індикатори SLI» включений в панелі управління NVIDIA Display. При включенні цієї опції можна побачити, як розподіляється графічне навантаження на GPU, а назви SLI компонентів у Вашій системі будуть змінені: SLI для двох GPU буде названий "SLI", назва 3-way NVIDIA SLI буде замінено на "SLI x3", а Quad SLI буде названий "Quad SLI". Для ігор, при візуалізації яких використовується технологія Alternate Frame Rendering (AFR), вертикальна зелена смуга буде зростати або зменшуватися в залежності від масштабу розширення. Для ігор, при візуалізації яких використовується технологія Split-Frame Rendering (SFR), горизонтальна зелена смуга буде підніматися і опускатися, показуючи, як розподіляється навантаження між усіма GPU. Якщо рівень деталізації верхньої і нижньої половини екрану однаковий, то горизонтальна смуга буде знаходитися по середині. Для того щоб включити або відключити цю можливість, просто відкрийте панель управління NVIDIA і виберіть «Параметри 3D».

Другий поширеною проблемою обчислень декількома графічними чіпами є синхронізація останніх. Як було сказано вище, метод візуалізації AFR має одну особливість: один кадр може бути простим, а інший складним для обробки. При великій різниці в складності обробки кадру одна відеокарта може набагато швидше його обробити, ніж друга. Це призводить до «мікролагів» - маленькі затримки зображення, як би ривки, але при цьому загальне число FPS виглядає комфортним. Такий ефект з'являється досить рідко, але ось як боротися з ним не знають навіть розробники. Для користувача є простий вихід - в іграх, де спостерігаються «мікролаги» з методом AFR переходити на метод SFR, відзначивши його у профілі гри.

У режимі SFR дисплей розбитий на дві частини. Перша карта видає верхню частину зображення, а друга - нижню. Завдяки динамічному балансуванню навантаження драйвер рівномірно розподіляє навантаження між двома картами.

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


Соціальні коментарі Cackl e

Php?
А що ж відбувається з розвитком другого компонента, важливого для любителя видовищних ігор на ПК - відеокартою?
Що таке технологія SLI?