up
ua ru
menu

msi-achieve_a_new_level_of_cool-banner-160x600.jpg

GOODRAM-SSD-Iridium-PRO.gif

logo minifile

::>Відеокарти > 2008 > 09 > ATI -

Версія для друку
Переопублікувати статтю

28-09-2008


rss

Теорія та практика використання технології ATI CrossFireХ

«Життя торгівлі і смерть торгівцям» - так казав про неї Бернард Шоу. А казав він про конкуренцію, без якої неможлива ринкова економіка.

У недавньому огляді ми розглянули технологію NVIDIA SLI. Як було відзначено на початку тієї статті, ми розглянули першу на ринку сучасної графіки технологію паралельної роботи декількома відеокартами одої ігрової сцени. А якщо є перша, виходить, буде і друга, оскільки конкуруючі фірми не можу дозволити NVIDIA монополізувати ринок у даній сфері. Як і слід було сподіватися, свою противагу SLI висунув основний конкурент – канадська компанія ATI у вигляді власної технології CrossFire (тепер вже компанія належить AMD, однак бренд CrossFire збережений у вигляді ATI CrossFireХ).

Історія розвитку і ключові особливості

Технологія була анонсована на міжнародній виставці Computex 2005 у Тайвані.

Отже, технологія ATI CrossFire була розроблена для можливості створення дуже високопродуктивних ігрових систем. Відзначимо основні завдання, які ставили перед собою інженери ATI: в першу чергу, максимально збільшити продуктивність системи в 3D-додатках, а також покращити якість зображення. У той же час, була необхідність зберегти сумісність з всіма іграми та охопити широкий спектр моделей графічних карт для роботи в системі CrossFire. Канадці постаралися використати позитивний досвід зі своїх минулих подібних проектів.

Згадаємо, наприклад, першу розробку ATI у сфері багаточіпових рішень - карту ATI Rage Fury MAXX:

В 1999-му році декілька виробників випустили в світ відеокарти нового покоління. NVIDIA зробила це навіть двічі: навесні Riva TNT2, а восени - зовсім новий продукт GeForce 256. А ось компанія ATI, на жаль, крім того, що із запізненням запропонувала RAGE 128 так анонсувала поліпшену версію цього чіпа RAGE 128 PRO, нічого сенсаційно-революційного не зробила. Однак, існують методи поліпшити свій продукт і без створення нового відеочіпа. Колись цю доріжку проклала 3dfx, заклавши в Voodoo2 можливість роботи в парі з такою ж відеокартою. Мова йде про відому багатьом технологію SLI (Scan Line Interleave). Ця технологія дозволяє використовувати дві карти на чіпі Voodoo2 або просто два чіпи Voodoo2 на одній платі для одночасної візуалізації гри. Кожна з карт на базі Voodoo2 у цьому випадку розраховує або парні, або непарні лінії виведеного на екран кадру, в наслідок чого продуктивність відеопідсистеми збільшувалася більш, ніж у півтора рази.

Подібною ідеєю скористалася і компанія ATI, не зумівши скласти конкуренцію новим рішенням від NVIDIA. В якості рішення була запропонована технологія з кодовою назвою Aurora, що згодом одержала назву MAXX (Multiple ASIC Technology). Технологія MAXX - це чисто програмне рішення, що дозволяє задіяти два графічних процесори для виконання спільної роботи. Фактично, втілюється в життя ідея паралельної обробки даних. Кожен з графічних процесорів повністю формує один кадр, а потім готові кадри по черзі виводяться на монітор. Технологія, що дозволяє двом графічним чіпам, встановленим на одній карті, по черзі виводити на екран готові кадри зображення, називається Alternate Frame Rendering (AFR).

І ось, пропонуючи у 2005-му році нову реалізацію ідеї паралельного прорахунку 3D-сцени, довелося згадати всі вже наявні наробітки, вдосконалити їх і доповнити новими можливостями. Крім того, були враховані недоліки конкуруючих рішень американської компанії NVIDIA.

Давайте розглянемо ключові відмінності ATI CrossFire від NVIDIA SLI. Одразу обмовимося, що дані відмінності мали місце в минулому і наведені лише для історичної довідки та для відображення ходу розвитку обох технологій.

Сама головна відмінність технології ATI була в тому, що для створення зв'язки з двох відеокарт вони повинні бути однієї серії, але необов'язково однієї моделі, у той час як у технології SLI обидві відеокарти повинні були бути абсолютно однаковими, чи майже не до версії прошивання BIOS. Це було вкрай актуально, бо для карт Radeon можливі різні зв'язки, наприклад, X1600 PRO і X1650 XT, що давало користувачам більшу перевагу у виборі при апгрейді.

На сьогоднішній день ця перевага над SLI збережена. Відеокарти серій Radeon HD3800 і HD4800 гарно «живуть» у одній системі в різних сполученнях. Причому як всередині лінійки (HD3850+HD3870), так і між поколіннями (HD3870+HD4850). Хоча останнє і не підтверджено офіційною таблицею сумісності:

Другою значною перевагою CrossFire над SLI інженери ATI називали незалежність роботи технології від оптимізації драйверів. Однак, обіцяне ми чекали більше трьох років (з 31 травня 2005 року, коли відбувся офіційний світовий анонс технології ATI CrossFire) і так і не дочекалися. Згідно ідеї розробників, їх технологія повинна працювати з всіма існуючими іграми, навіть випущеними до її впровадження.

З підтримкою ігор в CrossFire справи йдуть трохи краще, ніж в SLI, але, як показує практика, навіть на сьогоднішній день є ігри, які ніяк не реагують на появу другої відеокарти в системі. Все впирається в ту саму ж ненависну користувачами оптимізацію драйверів. Сумісність ігор і приріст продуктивності ми розглянемо далі в цій статті.

Але не обійшлося і без недоліків. У своєму первозданному вигляді технологія ATI CrossFire припускала наявність так званої Майстер-карти. Такі карти у своїй назві мали приставку CrossFire Edition. Вони оснащені чіпом накладення, який одержує інформацію від додаткової карти (slave) і сполучає її попіксельно з основною картою (master).

Зверху знаходиться карта CrossFire Edition X850XT, а нижче - стандартна X850XT. Зверніть увагу на чіп накладення, що знаходиться під прозорим кожухом кулера.

Дві карти комутуються за допомогою зовнішнього кабелю, що з'єднує DVI-вихід звичайної карти зі спеціальним DMS-роз’ємом на карті CrossFire Edition. І частково оброблений кадр від першої карти надходить через DVI на DMS-вхід карти CrossFire

Edition. У підсумку, робота двох відеочіпів підсумовується в мікросхемі Compositing Engine.

Такий підхід трохи стримував поширення технології, бо Майстер-карти не були так широко поширені в роздрібному продажі як їх звичайні варіанти.

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

Те, що обидві конкуруючі компанії обрали саме цей апаратний метод організації зв'язки, зайвий раз підтверджує його максимальну ефективність і практичність. Отже, відеокарти CrossFire Edition покинули полиці крамниць назавжди.

Суттєвим аспектом у просуванні технології CrossFire на ринок є те, що вона підтримується не тільки власними чіпсетам AMD, але і самими популярними чіпсетами від Intel, хоча підтримка ця реалізована на програмному рівні. А з появою набору логіки P45 Express технологія отримала великий потенціал для застосування в «Performance» класі. Справа в тому, що з ростом продуктивності відеокарт зростає навантаження і на шину PCI-e, що повинна забезпечити обмін даними між материнською платою та відеокартою. І, якщо у випадку з однією відеокартою PCI-e шина має 16 ліній, так званий PCI-e x16, то в режимі CrossFire материнські плати середнього рівня можуть забезпечити тільки PCI-e x8, чого явно недостатньо для сучасних відеокарт. Починаючи з чіпсета P45 Express, материнські плати середнього рівня мають підтримку PCI-e 2.0 з пропускною здатністю вдвічі вище, ніж у версії 1.0а. Раніше подібний стандарт був доступний тільки на материнських платах вищого цінового діапазону.

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

Поділ екрана на декілька непересічних зон (Scissor, також відомо як Slicing).

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

Плюси методу:

  • ділить як геометричне, так піксельне навантаження;
  • висока ступінь асинхронності роботи відеочіпів;
  • прискорювач повністю володіє своєю підзвітною зоною зображення результату.

Мінуси методу:

  • вимагає балансування нальоту зон для рівномірного розподілу навантаження;
  • можуть бути проблеми зі згладжуванням на стику зон;
  • вимагає помітного втручання в драйвер і тому висока імовірність несподіваної та невірної роботи деяких додатків.

Режим SuperTiling - шахове чергування пікселей, що розраховуються

У даному режимі кадр розбивається на блоки (також їх називають "квадами"). Всього виходить 256 блоків на кадр. Парні блоки обчислюються однією картою, а непарні - іншою.

Взагалі, за допомогою даного режиму можна виводити всі додатки і ігри. ATI встановила цей режим за замовчуванням для 3D-ігор. Однак, на фоні всіх покращень, є і негативні особливості. Справа в тому, що, незважаючи на виведення кожною картою половини зображення, геометрію доводиться повністю прораховувати на обох картах. У підсумку ріст продуктивності виявляється не такий, який міг би бути. Втім, навіть при таких недоліках сучасні і майбутні ігри, що посилено використовують піксельні шейдери, будуть давати чудову продуктивність у цьому режимі. Взагалі, чим більше гра використовує шейдери, тим більше буде приріст у даному режимі CrossFire.

Плюси методу:

  • ділить піксельне навантаження порівну;
  • дуже точне балансування навантаження між відеочіпами;
  • можна використовувати для нових методик повноекранного згладжування;
  • легкий у використанні для додатків і майже не вимагає модифікації драйверів, мала імовірність невірної роботи додатків.

Мінуси методу:

  • не ділить геометричне навантаження і тому вимагає суттєвого запасу в геометричній продуктивності;
  • вимагає досить синхронної роботи відеокарт і, відповідно, максимальну їх ідентичність.

Чергування кадрів, що розраховуються (Alternate Frame Rendering)

Режим AFR є самим швидкісним - в ньому карти виводять кадри по черзі. Скажемо, перша карта виводить всі непарні сцени, а друга - всі парні. На відміну від режимів SuperTiling і Scissor, коли обом картам доводиться обчислювати геометрію для кожної сцени, режим AFR дозволяє кожній карті виконувати тільки половину роботи, бо кожна карта обчислює геометрію і затінення тільки для своїх кадрів.

Плюси методу:

  • ділить і піксельне і геометричне навантаження, причому геометрія не дублюється по шині - різні відеокарти одержують різні набори даних;
  • відеокарта повністю відповідає за свій кадр, ніяких слідів стикування, навіть у випадку складної обробки, ніяких обмежень на метод побудови кадру.

Мінуси методу:

  • нерівне чергування кадрів і розподіл навантаження;
  • ККД сильно залежить від CPU і системи, а також від характеру сцени і падає із збільшенням кадрів у секунду;
  • проблема зі значною затримкою між кадром, що нам демонструється, і кадром, що у цей момент будується.

Останній мінус даного методу не дає йому завоювати глобальне визнання користувачів і до певної міри гальмує поширення всієї технології multi-GPU в цілому (причому як SLI, так і CrossFire). Справа в тому, що цей метод виведення зображення іноді дає ефект «мікролагів» - маленьких ривків в іграх, які не залежать від навантаження і швидкості вашої системи.

Режим SuperAA

Напевно, найбільший приріст швидкості від використання CrossFire отримають ігри, що особливо навантажують графічну підсистему комп'ютера. Але як бути, якщо з грою прекрасно справляється і одна відеокарта? Що робити з другою?

Спеціально для подібних випадків CrossFire має можливість працювати на підвищення якості зображення - саме для цього розроблений режим Super AA. Таким чином, геймери можуть мати перевагу від потенційного могуття CrossFire, використовуючи новий метод повноекранного згладжування. З його допомогою можна отримати найвищу якість зображення, недосяжну на одиночних відеокартах.

ATI DPP (PhysX)

Також, у березні 2006 року компанія ATI запропонувала підтримку апаратного прискорення фізики своїми відеокартами для ігор, оптимізованих під движок Havok FX.

Було заявлено, що підтримуватися акселерація фізичних розрахунків буде графічними картами серії Radeon X1000, причому будуть підтримуватися і асиметричні конфігурації, наприклад CrossFire для тривимірного рендерінгу і додатковий акселератор для розрахунку фізики.

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

Для обробки фізики графічним процесором ATI припускає використовувати технологію, що має назву DPP (data parallel processing, паралельна обробка даних), яка дозволяє застосовувати загальний набір інструкцій одночасно до великого масиву вихідних даних.

Було заявлено, що продуктивність рішення ATI буде в багатьох випадках вище, ніж у спеціалізованих плат PhysX. Нижче представлені передбачувані області застосування GPU як фізичного акселератора.

На жаль, поки не було названо конкретних термінів реалізації програмних і апаратних засобів прискорення фізики ATI, імовірно, вони будуть названі найближчим часом, враховуючи прорив у цьому напрямку компанії NVIDIA з технологією NVIDIA PhysX.


Социальные комментарии Cackle
Пошук на сайті
Поштова розсилка
top10

vote

Голосування