Введение

Бренд AMD; технология мульти-GPU

AMD CrossFire (также известный как CrossFireX) — это фирменное наименование технологии мульти-GPU от Advanced Micro Devices, первоначально разработанной ATI Technologies. Эта технология позволяет использовать до четырех графических процессоров в одном компьютере для повышения графической производительности. Связанная технология, используемая в мобильных компьютерах с внешними графическими картами, таких как ноутбуки, называется AMD Hybrid Graphics. Бренд CrossFire был упразднен AMD в сентябре 2017 года, однако компания продолжает разрабатывать и поддерживать эту технологию для приложений DirectX 11. Для приложений DirectX 12 AMD использует фирменный стиль mGPU (также известный как мульти-GPU), и отличие заключается в том, что разработчики программного обеспечения должны создавать профили совместимости с mGPU для своих приложений, в то время как ранее AMD создавала профили для приложений DirectX 11.

Первое поколение

CrossFire впервые стал доступен для публики 27 сентября 2005 года. Система требовала материнскую плату, совместимую с CrossFire, и пару графических карт ATI Radeon PCI Express (PCIe). Radeon x800s, x850s, x1800s и x1900s выпускались в обычной версии, а также в версии "CrossFire Edition", которая имела встроенную в аппаратное обеспечение функцию "мастер-карты". "Мастер-карта" – термин, используемый для обозначения 5 дополнительных чипов компоновки изображения, объединяющих выходные сигналы обеих карт. Необходимо было приобрести мастер-карту и соединить её с обычной картой из той же серии. Мастер-карта поставлялась с проприетарным DVI Y-адаптером, который подключался к основным портам DVI на обеих картах и к кабелю монитора. Этот адаптер служил основным каналом связи между картами, передавая между ними неполные изображения и полные изображения на монитор. Карты Radeon x1300 и x1600 начального уровня не имели версии "CrossFire Edition", но поддерживались через программное обеспечение, при этом связь осуществлялась через стандартные слоты PCI Express на материнской плате. В настоящее время ATI не создала инфраструктуру, позволяющую настраивать карты FireGL в конфигурации CrossFire. Графическая карта "ведомая" должна была быть из того же семейства, что и "ведущая". Примером ограничения конфигурации мастер-карты является реализация CrossFire первого поколения в Radeon X850 XT. Поскольку в ней использовался чип компоновки изображения от Silicon Image (SiI 163B TMDS), максимальное разрешение в конфигурации X850 CrossFire было ограничено 1600×1200 при 60 Гц или 1920×1440 при 52 Гц. Это считалось проблемой для владельцев ЭЛТ-мониторов, желающих использовать CrossFire для игр с высоким разрешением, или владельцев широкоэкранных ЖК-мониторов. Поскольку многие пользователи считали частоту обновления 60 Гц на ЭЛТ-мониторе утомительной для глаз, практическим пределом разрешения стало 1280×1024, что не позволяло в полной мере использовать возможности CrossFire и оправдать его стоимость. Следующее поколение CrossFire, используемое в мастер-картах X1800, применяло два набора чипов компоновки изображения и специальный DVI Y-адаптер с двойной плотностью и двойным каналом для удвоения пропускной способности между картами, что позволило значительно повысить максимальное разрешение и частоту обновления.

Второе поколение (Software CrossFire)

При использовании с чипсетом материнской платы ATI "CrossFire Xpress 3200", "главная" карта больше не требуется для каждой карты, поддерживающей "CrossFire Ready" (за исключением серии Radeon X1900). С CrossFire Xpress 3200 две обычные карты могут работать в конфигурации Crossfire, используя шину PCI Express для обмена данными. Это аналогично X1300 CrossFire, который также использует PCI Express, но Xpress 3200 был разработан для обеспечения минимальной задержки и высокой скорости связи между видеокартами. Несмотря на некоторое снижение производительности, этот шаг рассматривался как общее улучшение рыночной стратегии, поскольку карты Crossfire Master были дорогими, пользовались высоким спросом и были труднодоступны в розничной продаже. Хотя чипсет CrossFire Xpress 3200 действительно поддерживает CrossFire через шину PCI Express для всех серий Radeon, предшествующих X1900, драйверная поддержка для этого метода CrossFire пока не реализована для серии X1800. ATI заявила, что будущие версии пакета драйверов Catalyst будут включать необходимые компоненты для CrossFire без использования "главной" карты для X1800, но конкретные сроки пока не объявлены.

Четвертое поколение (XDMA)

Графические карты Radeon R9 290 и R9 290X (выпущенные 24 октября 2013 года и основанные на Graphics Core Next 1.1 "Volcanic Islands"), а также графические процессоры, использующие более новые версии GCN, больше не оснащены портами для мостов. Вместо этого они используют XDMA для создания прямого канала связи между несколькими графическими процессорами в системе, работающего по той же шине PCI Express, что и графические карты AMD Radeon. Шина PCI Express 3.0 обеспечивает пропускную способность до 17,5 раз выше (15,754 ГБ/с для слота ×16) по сравнению с текущими внешними мостами (900 МБ/с), что делает использование моста CrossFire излишним. Таким образом, XDMA был выбран для удовлетворения возросших требований к пропускной способности межпроцессорного взаимодействия, обусловленных AMD Eyefinity и, в последнее время, мониторами с разрешением 4K. Пропускная способность канала данных, открытого XDMA, полностью динамическая, масштабируется в соответствии с потребностями игры и адаптируется к расширенным пользовательским настройкам, таким как вертикальная синхронизация (vsync). Кроме того, некоторые новые карты способны работать в связке с картами серии 7000, основанными на архитектуре Graphics Core Next 1.0 "Southern Islands". Например, карту R9 280X можно использовать в конфигурации CrossFireX вместе с картой HD 7970, что во многом обусловлено тем, что это один и тот же продукт с разными тактовыми частотами. GPUOpen предоставляет исходный код с лицензией MIT для приложений DirectGMA, использующих несколько графических процессоров AMD в сочетании с Direct3D 11, OpenGL и OpenCL: https://github.com/GPUOpen-LibrariesAndSDKs/DirectGMA-P2P

Гибридный CrossFireX (двойная графика)

Существует также "гибридный" режим CrossFireX, который объединяет встроенную графику, использующую архитектуру northbridge AMD, с определенными видеокартами для повышения производительности. Текущее поколение называется Hybrid CrossFireX и доступно для материнских плат с интегрированными чипсетами AMD серий 7 и 8, также называемых Hybrid CrossFireX. Такая комбинация обеспечивает экономию энергии при использовании простой или 2D-графики и увеличивает производительность на 25%–200% и более в 3D-графике по сравнению с использованием конфигурации без CrossFire. По состоянию на март 2012 года, похоже, что эта технология теперь называется "AMD Radeon Dual Graphics" и подразумевает использование APU серии A в сочетании с дискретными видеокартами.

Сходство

В некоторых случаях CrossFire не улучшает 3D-производительность, а в крайних может даже снизить частоту кадров из-за особенностей программирования приложения. Это справедливо и для SLI от Nvidia, так как проблема присуща многопроцессорным системам. Чаще всего это проявляется при запуске приложений в низком разрешении. При использовании CrossFire с AFR субъективно воспринимаемая частота кадров зачастую оказывается ниже, чем та, которую показывают бенчмарки, и может быть даже хуже, чем у одиночной видеокарты. Это явление известно как микрозадержки, и оно также относится к SLI, поскольку является неотъемлемой частью многопроцессорных конфигураций. Для AMD CrossFireX и NVIDIA SLI необходимы мосты и блок питания (PSU), способный обеспечить достаточное энергоснабжение для видеокарт. Распространены 6-контактные (75 Вт, 3+3, встречаются все реже), 8-контактные (150 Вт, 4+4) и 16-контактные (300 Вт, 8+8) разъемы питания, используемые в современных видеокартах.

Преимущества

CrossFire может быть реализован с видеокартами GPU одного поколения и производителя (в отличие от SLI от Nvidia, который обычно работает только в том случае, если все карты имеют один и тот же GPU и бренд). Это позволяет пользователям с меняющимся бюджетом со временем приобретать разные карты и все равно получать выгоду от повышенной производительности. С видеокартами последнего поколения они будут работать в режиме CrossFire только с другими картами в их подсерии. Например, GPU в одной серии могут работать в CrossFire друг с другом. Таким образом, видеокарта GPU серии 5800 (например, 5830) может работать вместе с другой видеокартой GPU серии 5800 (например, 5870). Однако видеокарты GPU, не относящиеся к одной и той же сотне серии, не могут успешно работать в CrossFire (например, 5770 не может работать с 5870). Единственное исключение составляет то, что видеокарты HD 7870 XT могут использоваться с видеокартой GPU серии HD 7900 (например, 7950) в конфигурации CrossFire, поскольку они оснащены одним и тем же GPU. Конфигурации AMD CrossFire и SLI могут поддерживать множество мониторов различного размера и разрешения. Как SLI, так и CrossFire поддерживают до четырех мониторов 8K (7680x4320) или восемь мониторов 4K (3840x2160). Для каждого монитора требуется собственная выделенная видеокарта (за исключением 4K и стандартного HD), в этом случае на одной выделенной видеокарте можно использовать до двух мониторов.

Недостатки

Основным недостатком CrossFire является то, что он работает только в полноэкранном режиме, требуя дополнительной поддержки со стороны программного обеспечения или игр при запуске в оконном или безрамочном режиме. В первых реализациях CrossFire (серии Radeon X800 – X1900) для работы в режиме CrossFire необходим внешний Y-кабель или адаптер, поскольку шина PCI Express не обеспечивала достаточной пропускной способности для работы CrossFire без существенной потери производительности.