Теория и практика использования технологии ATI CrossFireX
28-09-2008
«Жизнь торговли и смерть торговцам» - так говорил о ней Бернард Шоу. А говорил он о конкуренции, без которой невозможна рыночная экономика.
В недавнем обзоре мы рассмотрели технологию NVIDIA SLI. Как было отмечено в начале той статьи, мы рассмотрели первую на рынке современной графики технологию параллельной работы несколькими видеокартами одой игровой сцены. А раз есть первая, значит, будет и вторая, так как конкурирующие фирмы не могу позволить NVIDIA монополизировать рынок в данной сфере. Как и следовало ожидать, свой противовес SLI выдвинул основной конкурент – канадская компания ATI в виде собственной технологии CrossFire (теперь уже компания принадлежит AMD, однако брэнд CrossFire сохранен в виде ATI CrossFireX).
История развития и ключевые особенности
Технология была анонсирована на международной выставке Computex 2005 в Тайване.
Итак, технология ATI CrossFire была разработана для возможности создания очень высокопроизводительных игровых систем. Обозначим основные задачи, которые ставили перед собой инженеры ATI: в первую очередь, максимально увеличить производительность системы в 3D-приложениях, а также улучшить качество изображения. В то же время, была необходимость сохранить совместимость со всеми играми и охватить широкий спектр моделей графических карт для работы в системе CrossFire. Канадцы постарались использовать положительный опыт из своих прошлых подобных проектов.
Вспомним, например, первую разработку ATI в сфере многочиповых решений – карту ATI Rage Fury MAXX:
В 1999-м году несколько производителей выпустили в свет видеокарты нового поколения. NVIDIA сделала это даже дважды: весной Riva TNT2, а осенью - совершенно новый продукт GeForce 256. А вот компания ATI, к сожалению, кроме того, что с опозданием предложила RAGE 128 да анонсировала улучшенную версию этого чипа RAGE 128 PRO, ничего сенсационно-революционного не сделала. Однако, существуют методы улучшить свой продукт и без создания нового видеочипа. Когда-то эту дорожку проложила 3dfx, заложив в Voodoo2 возможность работы в паре с такой же видеокартой. Речь идет о известной многим технологии SLI (Scan Line Interleave). Эта технология позволяет использовать две карты на чипе Voodoo2 или просто два чипа Voodoo2 на одной плате для одновременной визуализации игры. Каждая из карт на базе Voodoo2 в этом случае рассчитывает либо четные, либо нечетные линии выводимого на экран кадра, в результате чего производительность видеоподсистемы увеличивалась более, чем в полтора раза.
Подобной идеей воспользовалась и компания ATI, не сумев составить конкуренцию новым решениям от NVIDIA. В качестве решения была предложена технология с кодовым именем Aurora, которая впоследствии получила имя MAXX (Multiple ASIC Technology). Технология MAXX - это чисто программное решение, которое позволяет задействовать два графических процессора для выполнения общей работы. Фактически, воплощается в жизнь идея параллельной обработки данных. Каждый из графических процессоров полностью формирует один кадр, а затем готовые кадры поочередно выводятся на монитор. Технология, которая позволяет двум графическим чипам, установленным на одной карте, поочередно выводить на экран готовые кадры изображения, называется Alternate Frame Rendering (AFR).
И вот, представляя в 2005-м году новую реализацию идеи параллельного просчета 3D-сцены, пришлось вспомнить все уже имеющиеся наработки, усовершенствовать их и дополнить новыми возможностями. Кроме того, были учтены недостатки конкурирующих решений американской компании NVIDIA.
Давайте рассмотрим ключевые отличия ATI CrossFire от NVIDIA SLI. Сразу оговоримся, что данные отличия имели место в прошлом и приведены лишь для исторической справки и для отображения хода развития обоих технологий.
Самое главное отличие технологии ATI было то, что для создания связки из двух видеокарт они должны быть одной серии, но необязательно одной модели, в то время как в технологии SLI обе видеокарты должны были быть абсолютно одинаковыми, чуть ли не до версии прошивки BIOS. Это было крайне актуально, так как для карт Radeon возможны различные связки, например, X1600 PRO и X1650 XT, что давало пользователям большую свободу выбора при апгрейде.
На сегодняшний день это преимущество над SLI сохранено. Видеокарты серий Radeon HD3800 и HD4800 отлично «уживаются» в одной системе в различных сочетаниях. Причем как внутри линейки (HD3850+HD3870), так и между поколениями (HD3870+HD4850). Хотя последнее и не подтверждено официальной таблицей совместимости:
Вторым значительным превосходством CrossFire над SLI инженеры ATI называли независимость работы технологии от оптимизации драйверов. Однако, обещанное мы прождали более трех лет (с 31 мая 2005 года, когда состоялся официальный мировой анонс технологии ATI CrossFire) и так и не дождались. По идее разработчиков, их технология должна работать со всеми существующими играми, даже выпущенными до ее внедрения.
С поддержкой игр у CrossFire дела обстоят немного лучше, чем у SLI, но, как показывает практика, даже на сегодняшний день есть игры, которые никоим образом не реагируют на появление второй видеокарты в системе. Все упирается во все ту же ненавистную пользователями оптимизацию драйверов. Совместимость игр и прирост производительности мы рассмотрим далее в этой статье.
Но не обошлось и без недостатков. В своем первозданном виде технология ATI CrossFire предполагала наличие так называемой Мастер-карты. Такие карты в своем названии имели приставку CrossFire Edition. Они оснащены чипом наложения, который получает информацию от добавочной карты (slave) и сочетает её попиксельно с основной картой (master).
Сверху находится карта CrossFire Edition X850XT, а ниже - стандартная X850XT. Обратите внимание на чип наложения, находящийся под прозрачным кожухом кулера.
Две карты коммутируются с помощью внешнего кабеля, который соединяет DVI-выход обычной карты со специальным DMS-разъемом на карте CrossFire Edition. И частично обработанный кадр от первой карты поступает через DVI на DMS-вход карты CrossFire Edition. В итоге, работа двух видеочипов суммируется в микросхеме Compositing Engine.
Такой подход немного сдерживал распространение технологии, так как Мастер-карты не были так широко распространены в розничной продаже как их обычные варианты.
Как было отмечено выше, подобный способ организации связки из двух видеокарт уже устарел. На сегодняшний день объединение двух и более видеокарт в режиме CrossFire, как по технологии SLI, предусматривает использования специальных соединительных мостиков.
То, что обе конкурирующие компании выбрали именно этот аппаратный метод организации связки, лишний раз подтверждает его максимальную эффективность и практичность. Следовательно, видеокарты CrossFire Edition покинули полки магазинов навсегда.
Немаловажным аспектом в продвижении технологии CrossFire на рынок является то, что она поддерживается не только собственными чипсетам AMD, но и самыми популярными чипсетами от Intel, хотя поддержка эта реализована на программном уровне. А с появлением набора логики P45 Express технология получила большой потенциал для применения в «Performance» классе. Дело в том, что с ростом производительности видеокарт возрастает нагрузка и на шину PCI-e, которая должна обеспечить обмен данными между материнской платой и видеокартой. И, если в случае с одной видеокартой PCI-e шина имеет 16 линий, так называемый PCI-e x16, то в режиме CrossFire материнские платы среднего уровня могут обеспечить только PCI-e x8, чего явно недостаточно для современных видеокарт. Начиная с чипсета P45 Express, материнские платы среднего уровня имеют поддержку PCI-e 2.0 с пропускной способностью вдвое выше, чем у версии 1.0а. Ранее подобный стандарт был доступен только на материнских платах высшего ценового диапазона.
Алгоритмы построения изображений
Разделение экрана на несколько непересекающихся зон (Scissor, также известно как Slicing).
Этот режим нельзя назвать новым - именно его использует и NVIDIA SLI. Здесь верхняя часть кадра отображается одной картой, а нижняя - другой. Интересно, что граница зон не обязательно должна проходить посередине кадра и может выбираться динамически, исходя из сложности той или иной части изображения - грубо говоря, в верхней половине может оказаться меньше объектов (небо), чем внизу, и тогда один из ускорителей будет простаивать, что может быть скомпенсировано увеличением его зоны ответственности. Задача подобной динамической балансировки нетривиальна, и требует анализа сцены, что не всегда удобно.
Плюсы метода:
- делит и геометрическую и пиксельную нагрузку;
- высокая степень асинхронности работы видеочипов;
- ускоритель полностью владеет своей подотчетной зоной изображения результата.
Минусы метода:
- требует балансировки налету зон для равномерного распределения нагрузки;
- могут быть проблемы со сглаживанием на стыке зон;
- требует заметного вмешательства в драйвер и потому высока вероятность неожиданной и неверной работы некоторых приложений.
Режим SuperTiling - шахматное чередование рассчитываемых пикселей
В данном режиме кадр разбивается на блоки (также их называют "квадами"). Всего получается 256 блоков на кадр. Чётные блоки вычисляются одной картой, а нечётные - другой.
В принципе, с помощью данного режима можно выводить все приложения и игры. ATI установила этот режим по умолчанию для 3D-игр. Однако, на фоне всех улучшений, есть и отрицательные особенности. Дело в том, что, несмотря на вывод каждой картой половины картинки, геометрию приходится полностью просчитывать на обеих картах. В итоге рост производительности оказывается не такой, каким он мог бы быть. Впрочем, даже при таких недостатках современные и будущие игры, усиленно использующие пиксельные шейдеры, будут давать прекрасную производительность в этом режиме. В общем, чем больше игра использует шейдеры, тем больше будет прирост в данном режиме CrossFire.
Плюсы метода:
- делит пиксельную нагрузку ровно поровну;
- очень точная балансировка нагрузки между видеочипами;
- можно использовать для новых методик полноэкранного сглаживания;
- легок в использовании для приложений и почти не требует модификации драйверов, мала вероятность неверной работы приложений.
Минусы метода:
- не делит геометрическую нагрузку и потому требует существенного запаса в геометрической производительности;
- требует достаточно синхронной работы видеокарт и, соответственно, максимальную их идентичность.
Чередование рассчитываемых кадров (Alternate Frame Rendering)
Режим AFR является самым скоростным - в нём карты выводят кадры поочерёдно. Скажем, первая карта выводит все нечётные сцены, а вторая - все чётные. В отличие от режимов SuperTiling и Scissor, когда обеим картам приходится вычислять геометрию для каждой сцены, режим AFR позволяет каждой карте выполнять только половину работы, т.к. каждая карта вычисляет геометрию и затенение только для своих кадров.
Плюсы метода:
- делит и пиксельную и геометрическую нагрузку, причем геометрия не дублируется по шине - разные видеокарты получают разные наборы данных;
- видеокарта полностью отвечает за свой кадр, никаких следов стыковки, даже в случае сложной обработки, никаких ограничений на метод построения кадра.
Минусы метода:
- неровное чередование кадров и распределение нагрузки;
- КПД сильно зависит от CPU и системы, а также от характера сцены и падает с ростом кадров в секунду;
- проблема со значительной задержкой между кадром, который нам демонстрируется, и кадром, который в данный момент строится.
Последний минус данного метода не дает ему завоевать глобальное признание пользователей и в некотором роде тормозит распространение всей технологии multi-GPU в целом (причем как SLI, так и CrossFire). Дело в том, что этот метод вывода изображения иногда дает эффект «микролагов» - маленьких рывков в играх, которые не зависят от нагрузки и скорости вашей системы.
Режим SuperAA
Очевидно, что наибольший прирост скорости от использования CrossFire получат игры, особенно нагружающие графическую подсистему компьютера. Но как быть, если с игрой прекрасно справляется и одна видеокарта? Что делать со второй?
Специально для подобных случаев CrossFire имеет возможность работать на повышение качества картинки - именно для этого разработан режим Super AA. Таким образом, геймеры могут получить преимущество от потенциальной мощи CrossFire, используя новый метод полноэкранного сглаживания. С его помощью можно получить наивысшее качество картинки, недоступное на одиночных видеокартах.
ATI DPP (PhysX)
Также, в марте 2006 года компания ATI представила поддержку аппаратного ускорения физики своими видеокартами для игр, оптимизированных под движок Havok FX.
Было заявлено, что поддерживаться акселерация физических расчётов будет графическими картами серии Radeon X1000, причём будут поддерживаться и ассиметричные конфигурации, например CrossFire для трёхмерного рендеринга и дополнительный акселератор для расчета физики.
Кроме того, заявлена возможность использования для расчёта физики двух разных видеокарт. К сожалению, возможность одновременного использования ресурсов мощного GPU для графики и физики не была анонсирована, как то предполагалось ранее.
Для обработки физики графическим процессором ATI предполагает использовать технологию, названную ею DPP (data parallel processing, параллельная обработка данных), позволяющую применять общий набор инструкций одновременно к большому массиву исходных данных.
Было заявлено, что производительность решения ATI будет во многих случаях выше, чем у специализированных плат PhysX. Ниже представлены предполагаемые области применения GPU как физического акселератора.
К сожалению, пока не было названо конкретных сроков реализации программных и аппаратных средств ускорения физики ATI, вероятно, они будут названы в ближайшее время, учитывая прорыв в этом направлении компании NVIDIA с технологией NVIDIA PhysX.
Из истории в современность
Для построения компьютера на основе CrossFire необходимо иметь:
- материнскую плату с двумя и более разъёмами PCI Express x16 с чипсетом AMD или Intel определённых моделей;
- мощный блок питания;
- видеокарты с поддержкой CrossFire.
CrossFire-систему можно организовать двумя способами:
- Внутреннее соединение - видеокарты соединены посредством гибкого мостика. Драйвером определяется, какая из них будет мастер-картой.
- Программный метод - видеокарты не соединяются никак, обмен данными идёт по шине PCI Express x16, при этом их взаимодействие реализуется с помощью драйверов. Недостатком данного способа являются потери в производительности до 10-15% по сравнению с вышеназванным первым способом.
Как вы уже догадались, программный метод применяется крайне редко и в основном на не самых новых маломощных картах. Касательно мостового соединения – будьте внимательны. В отличие от NVIDIA SLI тут применяется 2 мостика и их необходимо правильно подключить, обычно со стороны первичной карты (к ней подключен монитор) мостик помечен меньшим индексом, а со стороны ведомой большим, например, «J1A» «J2A» или «J2» и «J3», хотя возможны и другие более или менее понятные обозначения. Иначе драйвер не распознает установленную связку видеокарт и на соответствующей странице Catalyst Control Center попросит изменить конфигурацию мостиков.
Вот так выглядят различные варианты исполнения соединительных мостиков для CrossFire.
Включается CrossFire довольно просто – установкой галочки в меню Catalyst Control Center.
Triple CrossFire и QUAD CrossFireX
С выходом драйверов версии 8.3 компания ATI официально объявила о доступности технологии QUAD CrossFireX. Однако, она доступна только для видеокарт поколения HD 3800 и выше.
Слово QUAD не означает, что возможны связки только из четырех видеокарт. В эту же технологию входит и Triple CrossFire – объединение трех видеокарт. Что интересно, видеокарт физически может быть и две, однако используются три видеочипа. Для тех кто не догадался поясняем – в таком случае используется связка из обычной видеокарты и видеокарты с суффиксом «X2», которая имеет 2 видеочипа. Вот пример работы двух видеокарт Radeon HD 3870 и HD 3870X2 в режиме Triple CrossFire.
А вот и результат их совместной деятельности на примере игры S.T.A.L.K.E.R.: Shadow of Chernobyl.
Как видно, игра благоприятно отзывается на добавлении третьего видеочипа. Прирост производительности двух видеочипов HD 3870 по сравнению с одним составляет 85%, что очень хорошо. А вот добавление третьего ускорителя повышает производительность еще на 33%, что также весьма неплохо.
Режим QUAD активируется двумя путями: первый – установка четырех видеокарт в специальную материнскую плату на чипсете AMD, второй – установка двух видеокарт с суффиксом «X2» в любую с поддержкой режима CrossFire. Как показывает практика, первый способ применяется крайне редко ввиду малого количества материнских плат под 4 видеокарты и большего числа проблем с их подключением. Куда более простой и целесообразный способ номер два. Понятное дело, что видеокарты «X2» принадлежат к TOP-решениям, а связка из двух таких видеокарт и подавно.
Однако, таким способом мы получим беспрецедентную производительность видеоподсистемы.
Очевидным становится тот факт, что для таких видеокарт поддержка материнской платой стандарта PCI-e 2.0 x16 не просто желательна, а обязательна.
Отметим, что в видеокартах Radeon HD 3870X2, которые фактически являются реализацией CrossFire из пары GPU на одной видеокарте, применялся коммутационный чип далекий от совершенства. Мало того, что он ограничивал видеокарту поддержкой только PCI-e 1.0а, так он еще и имел высокое время задержки. Но прогресс не стоит на месте и, начиная с линейки Rdeon HD 4870X2 применяется новый коммутационный чип, лишенный этих недостатков. Теперь внутренняя организация CrossFire в видеокарте стала значительно лучше, как впрочем, и взаимодействие видеокарты с материнской платой, теперь уже по интерфейсу PCI-e 2.0.
Таким долгим и тернистым был путь технологии CrossFire в народные массы. Что же она представляет на сегодняшний день? А на сегодняшний день это стремительно развивающаяся технология, поддержка которой широко распространяется благодаря чипсетам Intel и AMD. Уникальностью технологии является ее гибкость и возможность построения на различных материнских платах и процессорах, с применением процессоров Intel если используется материнская плата на чипсете Intel или же с применением процессоров AMD если используется материнская плата на чипсете AMD – в любом случае у пользователей остается широкий выбор комплектующих.
Компания AMD, потерпевшая фиаско во времена противостояния видеокарт поколения Radeon HD 2000 (HD 3000) и GeForse 8, в новой линейке Radeon HD 4000 взяла курс на продвижение своих продуктов не в ТОП-лиге, а в среднем (middle) и так называемом производительном (Performance) сегментах. Ввиду этого, наличие связки из двух видеокарт средней стоимости нередко оказывается выгодней покупки ТОП-продуктов конкурента.
Приведем рейтинг-список видеокарт, протестированных в популярнейшем тестовом пакете 3D Mark 06.
Обратите внимание на четвертую сверху строчку – это видеокарта HD4870 в связке CrossFire. Весьма неплохой результат, учитывая рекомендованную стоимость каждой карты. Однако, это всего лишь синтетический тест, пусть и очень популярный, но он показывает потенциал технологии при ее максимальной оптимизации под игру. Если проанализировать график, то видно, что видеокарты среднего сегмента предыдущего поколения весьма неплохо конкурируют с «топовыми» современными картами, естественно не в одиночку.
ATI Hybrid CrossFireX. Эта технология аналогична GeForce Boost.
Как и у конкурирующей калифорнийской компании, она предназначена для объединения мощностей встроенного в материнскую плату видеочипа и дискретной видеоплаты.
Для активации данной технологии понадобится материнская плата с набором системной логики линейки AMD 780.
Логично, что использовать видеокарту, мощней, чем Radeon HD 3470 не целесообразно.
Куда более интересно применение этой технологии в ноутбуках, где в дополнение реализована и идея аналогичная HybridPower (жаль такая функция отсутствует в настольных системах).
Теперь в ноутбуках на чипсете AMD 780 возможно объединить графическую мощь дискретного видеочипа с продолжительной работой от батареи, так как во время отсутствия нагрузки дискретный чип попросту отключается.
Использование гибридной графики от AMD дает пользователю полный и простой контроль над выводом изображения.
Мы уже рассматривали производительность подобного решения в одном из наших обзоров. Вспомним результаты…
…и выводы:
«В итоге, по графикам видим, что производительность «гибридной» графической системы, как и отдельного интегрированного ядра, сильно зависит от скорости обмена с памятью, который осуществляется за счет процессора, через шину HyperTransport. Поэтому процессоры Phenom имеют определенное преимущество, но особой разницы от использования трех или четырехъядерного процессора нет.
Даже в случае если бы система Hybrid CrossFire смогла догнать NVIDIA GeForce 8500GT DDR3 Sonic, то с точки зрения экономии такой вариант был бы сомнительным, так как стоимость более производительных процессоров выходит на порядок дороже видеокарт. Потому технология объединения внешней видеокарты с встроенной графикой больше заинтересует пользователей, которые обычно используют вывод изображения на три или четыре монитора, и иногда у них возникает необходимость поработать с 3D.»
Практическое применение
Нам уже доводилось тестировать видеокарты Radeon различных ценовых диапазонов в связке CrossFire. Давайте попробуем проанализировать эти результаты и сделать вывод о целесообразности применения этой технологии и ее конкурентоспособности.
Начнем с ASUS EAH3650 TOP/HTDI/256M на Radeon HD 3650. Что примечательно, в отличие от технологии SLI, в технологии CrossFire синтетические тесты семейства 3D Mark более чутко реагируют на появление второй видеокарты в системе. Однако синтетика игроков не интересует – самое важное для них это, конечно же, игры. А в играх результаты просто отличные – прирост производительности составляет 70-100%, при среднем значении в 80%.
Отдельно отметим, что, используя материнскую плату с поддержкой PCI Express 2.0, можно получить заметный прирост производительности в основном из-за более быстрого доступа к оперативной памяти, где размещены данные, не поместившиеся в скромных 256 МБ «на борту». Именно этот факт позволяет двум Radeon HD 3650 в особо ресурсоемких играх, например Crisys, на GIGABYTE GA-X38-DS5 догнать и даже немножко обогнать 256-мегабайтную Radeon HD 3850 на PCI Express 1.0 GIGABYTE GA-965P-DS4.
Более мощная видеокарта MSI Radeon HD 3850 512Mb также показала отличные результаты. Прирост производительности находится в промежутке 70-100%, причем во многих случаях он составляет 90%. Заметим, что для данных видеокарт наличие шины PCI-e 2.0 куда более существенней влияет на результат. Что ж, теория подтверждается практикой – более мощным видеокартам необходима большая пропускная способность шины.
Далее рассмотрим ASUS Radeon HD 3870 512Mb. Так как платы Radeon HD 3870 не сильно отличаются от плат Radeon HD 3850, то и работа пары из них соответственно почти идентична. Прирост производительности также лежит в пределах 70-100% с явным наклоном к 90% при усреднении.
MSI Radeon HD3870X2 1024Mb OC – попробуем сравнить эффективность двухчиповой видеокарты со связкой из двух одночиповых. Итак, во многих играх их производительность почти одинакова (разницей в 3-5% можно пренебречь). Однако такие «тяжелые» игры как Crysis и Company of Heroes отдали свое предпочтение CrossFire связке из двух видеокарт.
Объяснить это можно несовершенством коммутирующего чипа, примененного в Radeon HD 3870X2, о котором мы говорили ранее.
Подведем итоги
Технология ATI CrossFire работает! При этом она работает даже лучше, чем ее прямой конкурент в лице NVIDIA SLI. Средний прирост производительности у CrossFire примерно на 10-15 процентов выше, чем у SLI - 70-85% против 60%. Также радует тот факт, что технология одинаково хорошо работает на видеокартах всех ценовых сегментов – нет каких либо заметных всплесков или провалов производительности у определенного типа карт. Общей чертой для всех рассмотренных видеокарт было то, что максимальная эффективность связки CrossFire достигалась в тех играх, где обильно используются пиксельные шейдеры.
Технология имеет все предпосылки для распространения в широкие массы пользователей и завоевания среднего ценового диапазона. Она имеет широкий спектр поддерживаемых чипсетов, в который входят не только чипсеты AMD но и самые распространенные чипсеты Intel, гибкость при построении, поддерживает весь модельный ряд видеокарт Radeon и одинаково хорошо на них работает.
Текущая ценовая политика компании AMD как раз и заключается в применении 2-х видеочипов средней производительности для борьбы с одночиповыми монстрами конкурента. Надо сказать, что такой подход весьма грамотен, и грамотен он в первую очередь экономически. Компания меньше затрачивает на разработку, следовательно может ниже установить розничные цены. А поскольку компания сосредотачивает свои усилия на двухчиповых разработках, то следует ожидать и улучшения технологии CrossFire как одного из путей к победе.
Достоинства технологии CrossFire:
- легкость апгрейда без надобности продавать старую видеокарту;
- возможность активации улучшенных режимов сглаживания;
- возможность использования до 4-х мониторов одновременно;
- больший прирост производительности, чем у конкурентов;
- поддержка многими платами на чипсетах от Intel и AMD;
- чрезвычайная гибкость при построении связки.
Недостатки технологии CrossFire:
- необходима материнская плата, поддерживающая CrossFire;
- необходим блок питания соответствующей мощности;
- 2 видеокарты занимают больше места в системном блоке;
- слабые функции энергосбережения по сравнению с NVIDIA SLI;
- появление эффекта «микролагов» в AFR-режиме.
Автор: Петр Носик
Опубликовано : 28-09-2008
Подписаться на наши каналы | |||||