AMD CrossFire

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Сучасний логотип AMD CrossFireX
Логотип ATI CrossFireX. Нині більше не використовується.

AMD CrossFireX (укр. перехресний вогонь) — технологія, що дозволяє одночасно використовувати потужності від двох до чотирьох графічних процесорів одночасно. відеокарт Radeon для побудови тривимірного зображення.

Якщо ви встановите більше відеокарт, наприклад 5, то вони або не працюватимуть, тому що нерозпізнаються в даній версії Windows (існують обмеження в драйверах) або працюватимуть, але тільки під Linux. Наприклад, 2 відеокарти HD7990, охолоджувані повітрям своїх власних вентиляторів не працюватимуть стабільно через перегрів. Датчик температури на другій відеокарті визначить, що одна карта нагрілася до 100 градусів, і включить всі 6 вентілятров двох відеокарт на повну потужність. У підсумку, хоча буде сильний шум, відеокарти все одно сильно нагріваються вище 80 градусів, тому їх частота автоматично зменшиться приблизно на 30%, тобто різко впаде продуктивність. Якщо ви поставите водяне охолодження, то 2 відеокарти будуть працювати, але чотири не будуть на Windows 7, так як драйвера відеокарти не спроектовані, щоб 4 відеокарти HD7990 працювали разом. Тому в даному випадку потрібно переходити на Лінукс.

Також драйвера AMD не сертифіковані за міжнародними стандартами якості, на відміну від драйверів фірми NVIDIA. Тому відеокарти NVIDIA в кількості 9 штук (8 штук GTX 275 + 1 карта GTX 280) працюють на невеликому суперкомп'ютері FASTRA 2 в Бельгії, розвиваючи продуктивність 12 Gfps на материнській карті P6T7 WS. Аналогічний суперкомп'ютер, але на відеокартах AMD зібрати не вдалося.

Кожна з відеокарт, використовуючи певний алгоритм, формує свою частину зображення, яке передається в чип Composing Engine майстер-карти, що має власну буферну пам'ять. Цей чип об'єднує зображення кожної відеокарти і виводить фінальний кадр.

У 2006 році система CrossFire формувалася шляхом з'єднання відеокарт Y-подібним кабелем з задньої сторони карт. В даний час система вже використовує спеціальні гнучкі містки (на зразок SLI, але вони мають свій власний алгоритм і логіку і офіційно називається CrossFireX (не варто прирівнювати поняття CrossFire і CrossFireX. Сенс їх дії однаковий, але спосіб побудови в корені інший).

У перспективі відеокарти на основі CrossFire полегшать роботу процесора з графікою. Одна відеокарта буде обробляти графіку, а друга — фізику.

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

Варто зауважити, що комбінації деяких відеокарт можуть виявитися набагато більш ефективними, продуктивними і вигідними фінансово, ніж одна більш потужна і, відповідно, значно дорожча карта. Але, як і у випадку з NVIDIA SLI, приріст продуктивності від використання двох відеокарт в системі буде спостерігатися тільки в додатках, які вміють використовувати 2 і більше GPU. У старих іграх, які не вміють працювати з Multi-GPU системами, загальна продуктивність графічної складової залишиться колишньою, в деяких випадках може взагалі навіть знизитися; так що для любителів старих, але вимогливих ігор, покупка однієї дуже потужної відеокарти буде кращим рішенням, ніж покупка другої такої ж і подальшим об'єднання в CrossFireX-систему. Також варто відзначити істотний недолік CrossFire: дана технологія не працює при запуску програми у віконному режимі.

Принципи побудови[ред. | ред. код]

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

  1. материнську плату з двома або більше роз'ємами PCI Express x16 с чипсетом AMD або Intel певної моделі, що підтримує CrossFireX;
  2. потужний блок живлення, як правило, потужністю від 700Вт;
  3. відеокарти з підтримкою CrossFireX;
  4. Спеціальний гнучкий місток CrossFireX для з'єднання відеокарт.

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

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

2 відеокарти ATI (AMD) Radeon HD 5870, з'єднані за технологією AMD CrossFireX
  1. Внутрішнє з'єднання — відеокарти об'єднуються за допомогою спеціального гнучкого містка CrossFireX, при цьому для з'єднання більш, ніж двох відеокарт не потрібно використовувати спеціалізовані багаторознімні містки (типу NVIDIA 3-way SLI або 4-way SLI), відеокарти з'єднуються послідовно простими CrossFireX містками. З'єднання ведеться приблизно так: від першої до другої — від другої до третьої — від третьої до четвертої (для з'єднання 4 відеокарт); від першої до другої — від другої до третьої (для 3 карт); від першої до другої (для 2 карт). Слід зауважити, що на однопроцесорних відеокартах по 2 роз'єми CrossFireX, тому у випадку системи з двох відеокарт об'єднувати їх можна як одним, так і двома містками (від першої до другої — від першої до другої), різниці в продуктивності не буде.
  2. Програмний метод — відеокарти не з'єднуються, обмін даними йде по шині PCI Express x16, при цьому їх взаємодія реалізується за допомогою драйверів. Недоліком даного способу є втрати в продуктивності на 10-15% порівняно з вищеназваним способом. На даний момент практично повністю загубив актуальність, залишившись способом з'єднання малопродуктивних відеокарт, для яких відсутність сполучного містка не є значущою втратою. Високопродуктивні відеокарти можна об'єднати, тільки використовуючи містки, так як без них драйвер не зрозуміє, що таке об'єднання можливе.

Алгоритми побудови зображень[ред. | ред. код]

Схема алгоритму SuperTiling

SuperTiling[ред. | ред. код]

Картинка розбивається на квадрати 32x32 пікселя і приймає вид шахової дошки. Кожен квадрат обробляється однією відеокартою.

Схема алгоритму Scissor

Scissor[ред. | ред. код]

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

Аналог в nVidia SLI — алгоритм Split Frame Rendering

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

Alternate Frame Rendering[ред. | ред. код]

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

Цей алгоритм, запатентований ATI ще під час випуску двочипової відеокарти, використовується також в nVidia SLI.

SuperAA[ред. | ред. код]

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

Аналог в nVidia SLI — SLI AA.

Dual Graphics[ред. | ред. код]

Dual Graphics (раніше Hybrid CrossFireX) — унікальна здатність лінійки AMD APU A-серії (кодова назва «Llano») значно (принаймні в теорії) збільшувати загальну продуктивність відеопідсистеми, коли інтегрований GPU працює спільно з підключеною дискретною відеокартою, доповнюючи її. Ще більш дивною є здатність Llano працювати з GPU, які швидше або повільніше ніж його власне інтегроване відеоядро — для коректної роботи Dual Graphics не вимагає ідентичного GPU і при цьому він не шкодить швидшому GPU, якщо його продуктивність нижче, як відбувається в CrossFire. Фактично, він приводить в рівновагу доступне апаратне забезпечення для більшої продуктивності (наприклад, якщо дискретний GPU вдвічі швидше вбудованого, драйвер бере один кадр від APU на кожні два кадри від дискретної карти).

При всій спокусливості подібної асиметричної реалізації CrossFire, є серйозні недоліки:

  • По-перше, це працює тільки в додатках, що використовують DirectX 10 або 11. І якщо використовується DirectX 9 або більш ранній ігровий рушій, то продуктивність погіршується до самої повільної з двох встановлених графічних карт (проте, згідно з останніми заявами AMD, при використанні DirectX нижче 10 версії програми повинні звертатися до більш швидкої з двох встановлених графічних карт).
  • По-друге, щоб Dual Graphics працювала, коефіцієнт графічної продуктивності повинен бути принаймні «два до одного», якщо відеокарта в три рази швидше GPU Llano, то Dual Graphics працювати не буде.

В OpenGL Dual Graphics не підтримується, і він завжди працює на GPU, керуючому основним виходом дисплея.

І хоча ця функція дійсно працює і результати тесту показують вищу частоту кадрів в чистому вигляді.

Див. також[ред. | ред. код]

Посилання[ред. | ред. код]