AMD 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-систему можно организовать следующими способами:
- Внутреннее соединение — видеокарты объединяются с помощью специального гибкого мостика CrossFireX, при этом для соединения более, чем двух видеокарт не нужно использовать специализированные многоразъемные мостики (типа NVIDIA 3-way SLI или 4-way SLI), видеокарты соединяются последовательно простыми CrossFireX-мостиками. Соединение ведется примерно так: от первой ко второй — от второй к третьей — от третьей к четвертой (для соединения 4 видеокарт); от первой ко второй — от второй к третьей (для 3 карт); от первой ко второй (для 2 карт). На однопроцессорных видеокартах по 2 разъема CrossFireX, поэтому в случае с системой из двух видеокарт объединять их можно как одним, так и двумя мостиками (от первой ко второй — от первой ко второй), разницы в производительности не будет.
- Программный метод — видеокарты не соединяются, обмен данными идёт по шине PCI Express x16, при этом их взаимодействие реализуется с помощью драйверов. Недостатком данного способа являются потери в производительности на 10-15 % по сравнению с вышеназванным способом. На данный момент практически полностью утерял актуальность, оставшись способом соединения низкопроизводительных видеокарт, для которых отсутствие соединительного мостика не является значимой потерей. Высокопроизводительные видеокарты можно объединить, только используя мостики.
- XDMA — обмен между видеокартами производится, как и в предыдущем случае, по шине PCI Express, но посредством специализированного аппаратного блока XDMA, имеющегося в GPU начиная с R9-285, R9-290 или R9-290X. Благодаря аппаратно-управляемому обмену данными достигается сокращение потерь производительности по сравнению с программно-управляемым обменом. Тем не менее, потери производительности могут возникать из-за особенностей построения системы PCI Express, например, при наличии между видеокартами нескольких мостов[1].
Алгоритмы построения изображений
SuperTiling
Картинка разбивается на квадраты 32x32 пикселя и принимает вид шахматной доски. Каждый квадрат обрабатывается одной видеокартой.
Scissor
Изображение разбивается на несколько частей, количество которых соответствует количеству видеокарт в связке. Каждая часть изображения обрабатывается одной видеокартой полностью.
Аналог в nVidia SLI — алгоритм Split Frame Rendering.
Alternate Frame Rendering
Обработка кадров происходит поочередно: одна видеокарта обрабатывает только чётные кадры, а вторая — только нечётные. Однако, у этого алгоритма есть недостаток. Дело в том, что один кадр может быть простым, а другой сложным для обработки.
Этот алгоритм, запатентованный ATI ещё во время выпуска двухчиповой видеокарты, используется также в nVidia SLI.
SuperAA
Данный алгоритм нацелен на повышение качества изображения. Одна и та же картинка генерируется на всех видеокартах с разными шаблонами сглаживания. Видеокарта производит сглаживание кадра с некоторым шагом относительно изображения другой видеокарты. Затем полученные изображения смешиваются и выводятся. Таким образом достигается максимальные чёткость и детализованность изображения. Доступны следующие режимы сглаживания: 8x, 10x, 12x и 14x.
Аналог в nVidia SLI — SLI AA.
Dual Graphics
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, управляющем основным выходом дисплея.
См. также
Примечания
- Ryan Smith. XDMA: Improving Crossfire . АnandTech (24 октября 2013).
Ссылки
- FAQ по технологии AMD CrossFire в Конференции overclockers.ru.
- Сведения о технологии AMD CrossFire на официальном сайте AMD.
- FAQ по AMD CrossFire и Dual Graphics на официальном сайте AMD.
- Теория и практика использования технологии ATI CrossFireX.
- Алексей Горбунков, Николай Арсеньев. Двойной форсаж. Сравнение технологий CrossFire и SLI. Игромания № 3 (2007).