up
ru ua
menu



logo minifile

::>Видеокарты > 2008 > 09 > ATI -

Версия для печати
Переопубликовать обзор

28-09-2008


rss

Теория и практика использования технологии ATI CrossFireX

«Жизнь торговли и смерть торговцам» - так говорил о ней Бернард Шоу. А говорил он о конкуренции, без которой невозможна рыночная экономика.

В недавнем обзоре мы рассмотрели технологию 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.


Социальные комментарии Cackle
Поиск по сайту
Почтовая рассылка
top10

vote

Голосование