AMD CrossFireX

Из Википедии, бесплатной энциклопедии

Современный логотип AMD CrossFireX
Логотип ATI CrossFireX. Ныне больше не используется

AMD CrossFireX (с англ. — «перекрёстный огонь») — технология, позволяющая одновременно использовать мощности двух и более (до четырех графических процессоров одновременно) видеокарт Radeon для построения трёхмерного изображения. Аналог Nvidia SLI.

Каждая из видеокарт, используя определённый алгоритм, формирует свою часть изображения, которая передаётся в чип Composing Engine мастер-карты, имеющий собственную буферную память. Этот чип объединяет изображения каждой видеокарты и выводит финальный кадр.

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

В 2005 году система CrossFire формировалась путём соединения видеокарт Y-образным кабелем с задней стороны карт. С выходом карт серии Radeon X1950 подход был пересмотрен: начали использоваться специальные гибкие мостики CrossFireX (аналогично SLI, но имеющие свой собственный алгоритм и логику). С середины 2010-х годов карты уже не используют гибкие мостики и работают в режиме Crossfire без них.

Комбинации некоторых видеокарт могут оказаться гораздо более эффективными, производительными и выгодными финансово, чем одна более мощная и, соответственно, значительно более дорогая карта. Но, как и в случае с Nvidia SLI, прирост производительности от использования двух видеокарт в системе будет наблюдаться только в приложениях, умеющих использовать два и более GPU. В старых играх, не умеющих работать с Multi-GPU системами, общая производительность графической составляющей останется прежней, в некоторых случаях может вообще даже снизиться; так что для любителей старых, но требовательных игр более верным решением будет покупка одной очень мощной видеокарты, чем покупка второй такой же и последующее объединение в CrossFireX-систему. Существенный недостаток CrossFire — данная технология не работает при запуске приложения в оконном режиме.

Принципы построения

[править | править код]

Для построения на компьютере CrossFireX-системы необходимо иметь:

  • материнскую плату с двумя или более разъёмами PCI Express x16 (для версий R9-285, R9-290 или R9-290X ещё и с чипсетом AMD или Intel определённой модели, поддерживающей CrossFireX);
  • мощный блок питания, как правило, мощностью от 700 Вт;
  • видеокарты с поддержкой CrossFireX;
  • Специальный гибкий мостик 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 % по сравнению с вышеназванным способом. На данный момент практически полностью утерял актуальность, оставшись способом соединения низкопроизводительных видеокарт, для которых отсутствие соединительного мостика не является значимой потерей. Высокопроизводительные видеокарты можно объединить, только используя мостики.
  3. XDMA — обмен между видеокартами производится, как и в предыдущем случае, по шине PCI Express, но посредством специализированного аппаратного блока XDMA, имеющегося в GPU начиная с R9-285, R9-290 или R9-290X. Благодаря аппаратно-управляемому обмену данными достигается сокращение потерь производительности по сравнению с программно-управляемым обменом. Тем не менее, потери производительности могут возникать из-за особенностей построения системы PCI Express, например, при наличии между видеокартами нескольких мостов[1].

Алгоритмы построения изображений

[править | править код]
Схема алгоритма SuperTiling

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

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

Изображение разбивается на несколько частей, количество которых соответствует количеству видеокарт в связке. Каждая часть изображения обрабатывается одной видеокартой полностью.

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

Alternate Frame Rendering

[править | править код]

Обработка кадров происходит поочередно: одна видеокарта обрабатывает только чётные кадры, а вторая — только нечётные. Однако, у этого алгоритма есть недостаток. Дело в том, что один кадр может быть простым, а другой сложным для обработки.

Этот алгоритм, запатентованный ATI ещё во время выпуска двухчиповой видеокарты, используется также в nVidia SLI.

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

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

Dual Graphics (ранее Hybrid CrossFireX) — способность APU линейки Fusion A-серии Llano значительно (по крайней мере в теории) увеличивать общую производительность видеоподсистемы, когда интегрированный GPU работает совместно с подключенной дискретной видеоплатой, дополняя её. Ещё более удивительной является способность Llano работать с GPU, которые быстрее или медленнее, чем его собственное интегрированное видеоядро — для корректной работы Dual Graphics не требует идентичного GPU и при этом он не вредит более быстрому GPU, если его производительность ниже, как происходит в CrossFire. Фактически, он приводит в равновесие доступное аппаратное обеспечение для большей производительности (например, если дискретный GPU вдвое быстрее встроенного, драйвер берёт один кадр от APU на каждые два кадра от дискретной карты).

У технологии есть серьёзные недостатки: во-первых, она работает только в приложениях, использующих DirectX 10 или 11. Если используется DirectX 9 или более ранний игровой движок, то производительность ухудшается до самой медленной из двух установленных графических карт (согласно последним заявлениям AMD, при использовании DirectX ниже 10 версии программы должны обращаться к более быстрой из двух установленных графических карт). Во-вторых, чтобы Dual Graphics работала, коэффициент графической производительности должен быть по крайней мере «два к одному», если видеокарта в три раза быстрее GPU Llano, то Dual Graphics работать не будет.

В OpenGL Dual Graphics не поддерживается, и он всегда работает на GPU, управляющем основным выходом дисплея.

Примечания

[править | править код]
  1. Ryan Smith. XDMA: Improving Crossfire. АnandTech (24 октября 2013). Дата обращения: 29 августа 2015. Архивировано 8 сентября 2015 года.