Что такое AMD CrossFireX

Егор

AMD_Crossfire_Technology_logo_2014.svg.png

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


История ATI CrossFire

В конце 90ых дела у ATI шли не очень хорошо — в 1999 Nvidia представила за один год аж два новых поколения — Riva TNT2 и GeForce 256. 3dfx, второй конкурент, в 1998 году представил технологию SLI, позволяющую объединять две видеокарты Voodoo2 вместе на одном ПК. А вот ATI смогла представить лишь RAGE 128 (и чуть позже разогнанную версию PRO), в которых ничего инновационного не было. Поняв, что так и вылететь с рынка видеокарт недолго, они решили скопировать технологию SLI у 3dfx и выпустили «двухголовую» видеокарту ATI RAGE FURY MAXX, которая включала в себя два GPU RAGE 128 PRO. Сама технология объединения видеочипов называлась MAXX (Multiple ASIC Technology), и была чисто программной: каждый из графических процессоров полностью готовит один кадр, и при выводе на экран они чередуются. По сути это была вылитая технология AFR (Alternate Frame Rendering), которая применяется до сих пор.

Но, однако, видеокарта FURY MAXX просто имела два GPU, объединять две видеокарты от ATI было нельзя — в те времена была шина AGP, и этот порт на материнских платах был только один. В 2004 году была представлена шина PCI Express, которая позволяла делить линии — а значит и делать несколько портов и подключать несколько видеокарт. Этим воспользовалась и Nvidia, представив новую технологию SLI, и ATI, сменившая название MAXX на CrossFire.

Отличий между ними тогда хватало: для создания CrossFire нужна была так называемая мастер-карта — она имела внутри чип наложения, позволяющий получать данные с карты-слэйва (slave) и сочетать их попиксельно с основной картой. Объединение происходило через специальный кабель DVI-DMS, а подключение монитора — через еще один коннектор DVI, отходящий от мастер-карты:

008.jpg

Это было жутко неудобно, и в будущем ATI пришла к тому же, что и Nvidia сразу — данные передаются через специальный мостик, и такого понятия как master или slave больше нет (а еще дальше уже компания AMD, купившая ATI, вообще отказалась от мостиков). И если это первое отличие было в минус ATI, то вот второе наоборот, в плюс: если в SLI можно объединять видеокарты только одной серии, то в случае с ATI видеокарты могут быть даже разных поколений. 

В дальнейшем, в 2008 году, компания AMD представили Quad CrossFireX — технологию, позволяющую объединять до четырех видеокарт вместе, и сейчас технология объединения видеокарт называется AMD CrossFireX (или, сокращенно, CF).

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

Первый алгоритм не является новым — его так же успешно применяет и Nvidia. Называется он Slicing (Нарезка), и заключается в том, что кадр делится на две части — одну обрабатывает одна видеокарта, другую — другая: 

Scissor.png

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

Второй алгоритм ATI/AMD придумали сами. Он называется Tiling (от англ. tile — плитка). Суть алгоритма в том, что весь кадр делится на «плитки» по 32х32 пикселя каждая, и каждая видеокарта в шахматном порядке готовит свою половину плиток:

SuperTiling.png

Плюс этого метода — на каждую из двух видеокарт будет приходиться в среднем половина нагрузки, то есть нет такого, как в Slicing, когда одной видеокарте досталось в игре небо и она подготовила кадр за 5 мс, а другой досталась куча текстур земли, зданий и так далее, и она подготовила кадр за 20 мс: тут каждой из видеокарт досталось и небо, и текстуры земли и других объектов. Но, как и следовало ожидать, есть и минусы: во-первых, требуется максимально точное соответствие характеристик видеокарт: если в Slicing кадр можно делить пропорционально производительности каждой из GPU, то в Tiling разделение нагрузки идет ровно пополам, поэтому видеокарты должны быть полностью идентичны. Во-вторых, между картами не делится геометрическая нагрузка, но в играх обычно она невысокая и проблем с этим не бывает.

Третий алгоритм, AFR, общий с Nvidia — каждая из видеокарт готовит кадры поочередно:

Alternate_Frame_Rendering.png

Плюсы те же — никаких артефактов при отрисовке кадра, можно легко распараллелить нагрузку и на 4 GPU. Минус — все кадры имеют разную сложность, что может привести к дерганой картинки при низком fps.

И последний алгоритм «честного» CrossFire — это SuperAA (супер-сглаживание). Принцип схож с таковым у SLI AA — каждая видеокарта сглаживает картинку с некоторым шагом относительно другой, и потом полученные картинки склеиваются в один кадр. Однако отличия от SLI AA все же есть — в случае с Nvidia используется MSAA сглаживание, в случае с AMD — SSAA (оно дает картинку чуть лучше, но и требует больше ресурсов). Доступны режимы сглаживания от х8 до х14 (напомню, что у Nvidia максимум это х32).

В случае с ноутбуками на APU от AMD, включающих в себя как процессор, так и встроенную графику, AMD поступила хитрее Nvidia: если в ноутбуке есть дискретная графика от AMD, то ее можно объединить с интегрированной в режиме Dual Graphics, когда работают обе видеокарты (напомню, что у Nvidia есть технология Optimus, которая позволяет использовать или дискретную графику, или интегрированную, но никак не вместе). Однако у этого метода есть свои ограничения: во-первых, он работает только с DirectX 10 и выше (в принципе, с учетом того, что игры с DirectX 9 старые и нетребовательные по современным меркам — CF там и не нужен). Во-вторых, разница в производительности дискретной и интегрированной видеокарт не может быть больше двухкратной, то есть объединить вместе интегрированную в APU графику с какой-нибудь R9 M390 увы, не получится (опять же — тут интегрированная графика как пятое колесо в телеге и будет только мешаться, так что AMD в принципе поступили правильно).

Системные требования для CrossFireX

Здесь почти все тоже, что и для SLI от Nvidia (поэтому второй раз переписывать требования я не буду), однако есть одно важное различие — вообще не нужны мостики для связи видеокарт (забавно — в тысячной линейке Nvidia не только не отказалась от мостиков для SLI — она ввела новые, еще более быстрые), контроллер CF теперь находится на самой плате видеокарты, а данные передаются через PCI-E. Больше существенных различий нет — все так же подключаются видеокарты одной серии, все так же объем памяти ограничивается таковым у самой слабой видеокарты в DX 11 и суммируется в DX 12.

И самый главный вопрос — имеет ли смысл делать CF? Да, имеет. Тут все просто — приверженцы «зеленых» могут купить одну GTX 1080 Ti, которой за запасом хватит для всех современных игр, поэтому SLI для игр в принципе не нужен. У AMD пока что самая мощная графика это RX 580, которая вообще говоря находится на уровне обновленных GTX 1060, и которой хватает лишь для FHD (в 2К придется существенно снижать настройки, или же играть с 30-40 fps). Так что тут CF имеет смысл — две RX 580 позволят нормально играть в 2К на ультра-настройках графики. 

6

Будь в курсе последних новостей из мира гаджетов и технологий

Мы в соцсетях

Комментарии

+313
Короче имеет смысл купить 1080ti, а не мутить кроссфаер с красными
10 июля 2017 в 16:48
#
Егор Морозов
+1764
Для игр — да. Но не все играют, а для работы видюхи от красных подходят все же лучше.
10 июля 2017 в 17:16
#
XANTER
+934
А теперь давайте статью про майнинг и то что видяху не купить в ближайшее время ну ни как...
11 июля 2017 в 12:22
#
Егор Морозов
+1764
Не то чтобы мне хотелось лезть в эту мясорубку, но что-нибудь придумаю, тема стоящая).
11 июля 2017 в 13:22
#
Cowboy
+285
важное дополнение:
"Так что тут CF имеет смысл — две RX 580 позволят нормально играть в 2К на ультра-настройках графики.» если эта игра оптимизирована для CF, иначе, будет как у меня, ФПС ниже, чем с одной видеокартой. Забегая вперёд, таких игр нет, просто нет))) все это маркетинг. Для дизайна, м.б. пойдет.
10 июля 2017 в 20:40
#
Егор Морозов
+1764
В настройках каталуста можно (по крайней мере раньше) выбрать, какой алгоритм использовать. AFR работает практически всегда, но и прирост от него обычно наименьший.
10 июля 2017 в 20:57
#
barbarianin
+190
Года два назад думал зафаршировать свой стационарник — взять двухпроцессорную мать под i7 на 1155 , да вот выбор тогда не большой был и в копейку нехилую упиралась только одна мать. Так вот — вообще целесообразно это? В то время просто с скулом (sql) работал, одна база клиентов около 80гб была, как показала практика серверные процы дно конкретное, а на i7х серверов не встречал
10 июля 2017 в 23:33
#
Егор Морозов
+1764
Тут даже статьи не нужно, так отвечу — нет, смысла ставить два i7 нет, ибо грубо говоря мы получим 8 ядер. Уже давно есть линейки extreme, и в текущей, skylake-x, 8ядерник стоит порядка 600 баксов, когда два i7-7700K обойдутся в 320х2 = 640 баксов.
10 июля 2017 в 23:37
#
barbarianin
+190
Так вопрос то в производительности, серваки на двух ксеонах работали медленней чем i5 на ноуте
10 июля 2017 в 23:40
#
barbarianin
+190
Опечатолся — сервак на двух ксеонах работ медленней чем рабочий ноут
10 июля 2017 в 23:42
#
Егор Морозов
+1764
А тут от софта зависит: если прога может юзать максимум 4 потока, то i5 с 3 ггц на ноуте действительно окажется быстрее зионов с 2 ггц. Серверные процы хороши только тогда, когда нагрузка легко распараллеливается.
10 июля 2017 в 23:49
#
Егор Морозов
+1764
С sql не работал, но быстрый гуглеж показал, что там распараллелить нагрузку можно.
10 июля 2017 в 23:50
#
barbarianin
+190
Статья правильная , но немного не актуальная, так как там и админы клиента и наши кодеры разбирались . И пришли к выводу что дело в размере бд , но факт в том что серверные процы справлялись хуже чем чем ноутбучный камень при манипуляции с бд! А про скайлайк х спасибо — не в курсе был, прочёл отзыв Роман der8auer Хартунг про скальп i9 который вот-вот выйдет
11 июля 2017 в 00:07
#
Cowboy
+285
Да, к сожалению, я об этом не знал, Вы тогда ещё тут не писали) может быть, с другим алгоритмом было бы лучше, но, тоже не 100%, так как настройки я тогда все облазил, не помню такого, но не исключено, что где-то это было.
10 июля 2017 в 21:01
#
XANTER
+934
Хорошая статья)
11 июля 2017 в 12:17
#
–1
Интересный канал о криптовалютах, альткоинах и ICO с обзором последних статей и комментариями пользователей. https://t.me/nakamoto_capital
15 июля 2017 в 14:07
#