ATI RADEON HD 5870 1024MB PCI-E

В предверии DirectX 11. Мощный удар из Канады — ATI (AMD) выпускает нового короля 3D-графики

СОДЕРЖАНИЕ

  1. Часть 1 — Теория и архитектура
  2. Часть 2 — Практическое знакомство
  3. Особенности видеокарт
  4. Конфигурация стенда, список тестовых инструментов
  5. Результаты синтетических тестов
  6. Результаты игровых тестов (производительность)


Помните, как Садко отправился искать счастье по свету и пытался найти его где угодно, и даже опускался на дно морское… Вот там (только не Садко, а мы) нашли чудо из чудес, жемчужину всей трехмерной графики… Разумеется, вначале в Торонто все это сделали, а уже потом только подложили нам, чтобы мы нашли и подивились… Еще нет оправы (то бишь DirectX 11 игр) к этой жемчужине, яркой как звезда и стройной как кипарис (не зря же кодовое название продукта — ATI Cypress), но сам ускоритель уже готов, мы рады поделиться с вами нашими исследованиями.

Часть 1: Теория и архитектура



Наконец-то настала пора очередного обновления линеек у производителей видеочипов. Правда, похоже, что пока что речь пойдёт лишь об одном из них. Сегодня компания AMD анонсировала свежие решения для верхнего ценового диапазона. Если некоторое время полноценных соперников для high-end карт от Nvidia у них не было, то теперь картина меняется (хотя и временно, но всё же) на обратную. А вслед за ней и ценовая политика компании немного поменялась.

Вспоминаем наши предыдущие материалы по быстрейшим одночиповым решениям AMD. Тогда они обрисовали свою рыночную стратегию так, что будут делать одночиповые видеоплаты для среднего ценового диапазона и нижнего high-end, а в верхний предлагать лишь двухчиповые карты. Но когда им представилась прекрасная возможность для повышения цены одночиповых решений в отсутствие новых видеокарт от Nvidia, эта стратегия временно видоизменилась, и теперь освоен новый ценовой рубеж в $399 за старшую одночиповую карту. Где же все ранние слова о том, что пользователю нужны доступные решения? Да в нелёгкие времена финансового кризиса?

Конечно же, и от выпуска двухчипового решения они не откажутся. Просто всему своё время. Сейчас оно банально не нужно рынку, а вот когда и конкурент выпустит свои карты, и AMD снизит цены на текущие одночиповые, тогда будет самый раз. Сейчас же AMD заработает себе немного денег на том, что стала первой, предложившей рынку… нет, речь даже не о DirectX 11 совместимости, которая будет нужна только в следующем году, в лучшем случае… речь о высочайшем уровне производительности новых одночиповых карт, с которыми могут тягаться разве что карты с двумя GPU предыдущего поколения.

Впрочем, по сути, AMD не сильно ушла от подхода при проектировании RV670 и RV770. Просто чип для решений среднего ценового сегмента $200 до $300 и не особо требовательный по питанию превратился в несколько больший по площади чип для диапазона $300-400, чуть более требовательный по энергопотреблению. Решение в целом правильное, если для двухчиповой карты не понадобится снижать характеристики чипов, чтобы вписаться в требуемое максимальное энергопотребление.

Выпуск такого мощного чипа стал возможен благодаря окончательному освоению (долгожданному, ибо сколько уж можно мучиться то!) 40 нм технологического процесса TSMC. Первым пробным чипом был RV740, но его жизнь была недолгой и не очень счастливой — в широкой продаже большие партии таких карт так и не появились, а то, что было — стоило дороже обозначенной суммы. Надеемся, что у Cypress судьба будет значительно более благоприятной…

Радует, что у нас в обзоре — чип с изменённой архитектурой (насколько — скоро узнаем). И теоретическая часть обещает быть довольно интересной, ведь архитектурные изменения в чипе должны быть, хотя корни идут от R6xx/R6xx/R7xx. Подробную информацию о предыдущих унифицированных архитектурах, на примере ранних решений компании, можно найти в следующих статьях на нашем сайте:

Будем считать, что с предыдущими архитектурами AMD читатели знакомы, и рассмотрим подробные характеристики двух новых видеоплат серии RADEON HD 5800, основанных на новом чипе Cypress.

Графические ускорители серии RADEON HD 5800

  • Кодовое имя чипа Cypress
  • Технология 40 нм
  • 2.15 млрд. транзисторов (более чем вдвое больше, по сравнению с RV770)
  • Унифицированная архитектура с массивом общих процессоров для потоковой обработки многочисленных видов данных: вершин, пикселей и др.
  • Аппаратная поддержка DirectX 11, в том числе и новой шейдерной модели — Shader Model 5.0
  • 256-битная шина памяти: четыре контроллера шириной по 64 бита с поддержкой GDDR5
  • Частота ядра 725-850 МГц
  • 20 SIMD ядер, включающих 1600 скалярных ALU для расчётов с плавающей точкой (целочисленные и плавающие форматы, поддержка FP32 и FP64 точности в рамках стандарта IEEE 754)
  • 20 укрупненных текстурных блоков, с поддержкой FP16 и FP32 форматов
  • 80 блоков текстурной адресации и столько же блоков билинейной фильтрации, с возможностью фильтрации FP16 текстур на полной скорости и поддержкой трилинейной и анизотропной фильтрации для всех текстурных форматов
  • 32 блока ROP с поддержкой режимов антиалиасинга с возможностью программируемой выборки более чем 16 сэмплов на пиксель, в том числе при FP16 или FP32 формате буфера кадра. Пиковая производительность до 32 отсчетов за такт (в т.ч. и для режимов MSAA 2x/4x, в т.ч. для буферов формата FP16), в режиме без цвета (Z only) — 128 отсчетов за такт
  • Запись результатов до 8 буферов кадра одновременно (MRT)
  • Интегрированная поддержка RAMDAC, шести портов Single Link или трёх портов Dual Link DVI, а также HDMI и DisplayPort

Спецификации карты RADEON HD 5870

  • Частота ядра 850 МГц
  • Количество универсальных процессоров 1600
  • Количество текстурных блоков — 80, блоков блендинга — 32
  • Эффективная частота памяти 4800 МГц (4*1200 МГц)
  • Тип памяти GDDR5
  • Объем памяти 1024 мегабайт
  • Пропускная способность памяти 153.6 гигабайт в сек.
  • Теоретическая максимальная скорость закраски 27.2 гигапикселей в сек.
  • Теоретическая скорость выборки текстур 68.0 гигатекселей в сек.
  • Два CrossFireX разъема
  • Шина PCI Express 2.0 x16
  • Разъёмы два DVI-I Dual Link, HDMI, DisplayPort
  • Энергопотребление от 27 до 188 Вт (два 6-штырьковых разъёма питания)
  • Двухслотовый дизайн
  • Рекомендуемая цена $399

Спецификации карты RADEON HD 5850

  • Частота ядра 725 МГц
  • Количество универсальных процессоров 1440
  • Количество текстурных блоков — 72, блоков блендинга — 32
  • Эффективная частота памяти 4000 МГц (4*1000 МГц)
  • Тип памяти GDDR5
  • Объем памяти 1024 мегабайт
  • Пропускная способность памяти 128 гигабайт в сек.
  • Теоретическая максимальная скорость закраски 23.2 гигапикселей в сек.
  • Теоретическая скорость выборки текстур 52.2 гигатекселя в сек.
  • Два CrossFireX разъема
  • Шина PCI Express 2.0 x16
  • Разъёмы два DVI-I Dual Link, HDMI, DisplayPort
  • Энергопотребление от 27 до 170 Вт (два 6-штырьковых разъёма питания)
  • Двухслотовый дизайн
  • Рекомендуемая цена $299

Итак, применение наиболее совершенного на сегодня для GPU техпроцесса 40 нм позволило компании AMD выпустить решения с явными преимуществами, по сравнению с 55 нм чипами. Площадь ядра увеличилась незначительно, зато увеличился частотный потенциал и почти все характеристики были удвоены, по сравнению с RV770. Естественно, что новый чип значительно более эффективен энергетически, но карты потребляют практически столько же энергии, что и топовые решения предыдущего поколения (HD 4870 и HD 4890). Правда, они обладают значительно более высокой производительностью…

Принцип маркировки решений остался неизменным, что весьма радует (по сравнению с постоянно меняющим маркировку не скажем кем). По сравнению с предыдущей серией поменялась только первая цифра. Но позиционирование у карт уже несколько иное. Если HD 4870 и 4850 были предназначены для смены HD 3870 и 3850 сразу во время их выпуска, то цена HD 5870 говорит о том, что компанией AMD осваиваются новые ценовые рамки — непривычно высокие для одночиповых решений компании. Ну а HD 5850 сменяет HD 4890, наиболее производительную карту предыдущего поколения. Которое пока не исчезает из производства и продажи, но смещается в нижние ценовые диапазоны.

Два варианта серии, как это привычно случается у AMD, отличаются тактовыми частотами видеочипа и памяти. И это не единственное отличие между моделями карт, хотя теперь на оба варианта установили один тип памяти — GDDR5, так как с GDDR3 ограничение полосой её пропускания было бы слишком сильным даже для HD 5850. Более важное отличие HD 5850 от HD 5870 заключается в ином количестве активных исполнительных блоков ALU и TMU — в младшей модели их на 11% меньше. Видимо, это было сделано для того, чтобы не выбрасывать чипы, в которых часть ALU/TMU получилась бракованной. Также младшее решение отличается несколько меньшим (хотя всё равно довольно высоким) потреблением энергии, и дизайном платы — она короче. Но референсный кулер и для HD 5850 всё равно двухслотовый.

Объём видеопамяти у обеих карт в референсном виде одинаков — по одному гигабайту. Это и правильно, ведь современные требовательны к объёму набортной памяти, даже если учитывать засилье многоплатформенных игровых приложений. Объём памяти в 1024 мегабайт является оптимальным количеством памяти на данный момент, большего количества набортной памяти просто не требуется, а 512 мегабайт — уже недостаточно для многих приложений.

Архитектура чипа Cypress

Обновленная архитектура нового чипа Cypress получила наименование TeraScale 2. Двойка обозначает поколение, и косвенно указывает на количество целых теоретических терафлопов (млрд. операций в секунду), на которые способен чип. В общем, новый чип отличается удвоенной производительностью по основным теоретическим параметрам, по отношению к предыдущему поколению и его пиковая математическая производительность превысила уже планку в два терафлопа, немного не достав до трёх.

Как обычно, основной целью при разработке чипа было повышение эффективности. Инженеры должны были добиться двукратного преимущества в теоретической производительности, по сравнению с чипом предыдущего поколения. При сложности чипа в 2.15 млрд. транзисторов (более чем вдвое больше, по сравнению с топовым чипом предыдущего поколения), площадь Cypress получилась примерно на треть большей, чем у RV790 — 334 мм2. Что вполне приемлемо в условиях 40 нм техпроцесса.

Можно сказать, что кардинальных изменений в чипе нет, это просто развитие идей предыдущих поколений. Но небольшие модификации затронули почти все блоки: потоковые вычислительные блоки, текстурные модули, блоки ROP, контроллеры устройств вывода. Изменения небольшие, поэтому схема чипа изменилась слабо:



Сразу видно, что архитектура Cypress очень похожа на архитектуру RV770, и сходу в ней не найти что-то новое. Но некоторые изменения всё-таки были сделаны. Давайте рассмотрим их подробнее…

Одним из важных изменений стало включение в чип двух блоков растеризации. Это изменение не скажется на производительности в старых задачах, которые не ограничены скоростью растеризации, но весьма полезно для новых возможностей DirectX 11, и в особенности — тесселяции.



Как мы знаем, тесселяция поддерживается чипами AMD довольно давно, но DirectX 11 предъявляет несколько иные требования к аппаратной части, и поэтому блок тесселяции в Cypress был ещё раз доработан. По мнению AMD, это уже шестое поколение аппаратной тесселяции. Мы оставим читателям право самим посчитать все предыдущие поколения, отметим лишь то, что мы пяти поколений не насчитали, если не брать давно и успешно забытый TRUFORM.

Основная часть видеочипа Cypress состоит из двадцати SIMD ядер (ровно вдвое больше, чем у RV770), каждое из которых содержит по 16 блоков суперскалярных потоковых процессоров, всего их в чипе 320 штук. Суперскалярная сущность этих процессоров не меняется со времён RV670, и можно считать, что чип содержит 320*5=1600 скалярных 32-битных потоковых процессоров. Для 64-битных расчётов двойной точности используются эти же блоки, но темп расчётов снижается.



Каждый потоковый процессор содержит четыре исполнительных блока и один блок специальной функциональности, а также блок ветвлений и блок регистров общего назначения. В общем, это то же самое, что и у RV770.

Большое количество потоковых процессоров обеспечивает Cypress высокую производительность на уровне 2.7 терафлоп в вычислениях с одиночной точностью. Как и ранее, суперскалярные потоковые процессоры позволяют AMD довольно эффективно реализовать поддержку вычислений двойной точности (FP64), используя те же вычислительные блоки. В результате, Cypress обладает пиковой скоростью в FP64 расчётах уже до 544 гигафлопов. Это значительно выше, чем у предшественников, и тем более — конкурентов.

AMD отмечает, что увеличилось и количество исполняемых за один такт инструкций (IPC), блоки способны исполнять дополнительную (co-issue) инструкцию MUL, а также зависимую инструкцию ADD за такт. Также появилась новая команда — сумма абсолютных разностей (Sum of Absolute Differences — SAD). Всё это призвано увеличить эффективность вычислений графического и общего назначения.

Как вы помните, в RV770 довольно сильно изменились блоки текстурирования, и на каждый блок SIMD было выделено по 4 текстурных блока. То же самое соотношение сохранилось и в Cypress — всего получилось 80 TMU. Благодаря увеличению числа блоков, увеличилась пиковая производительность текстурирования. Чип способен исполнять до 272 миллиардов неотфильтрованных 32-битных выборок в секунду, что соответствует 68 миллиардам билинейно отфильтрованных текселей за секунду.

Но некоторые незначительные изменения блокам текстурирования всё же потребовались. Поддержка DirectX 11 принесла необходимость поддержки адресации текстур размером до 16384х16384 пикселей, а также новых алгоритмов сжатия для 32-битных и 64-битных HDR буферов (BC6/BC7). Также, текстурные модули теперь умеют считывать данные из сжатых MSAA буферов.

Не только количественными изменениями и тем, что потребовалось для DX11, может похвастать новый чип. На радость пользователям, в нём был применён новый алгоритм анизотропной фильтрации. Он отличается улучшенным качеством, при котором мип-уровни расположены по идеальным окружностям. Как замечает AMD, производительность при этом не пострадала. Впрочем, качество и производительность анизотропной фильтрации нового чипа — это вопрос отдельного исследования. Пока же приведём картинку, которую даёт производитель:



Все улучшения в текстурировании имели бы мало смысла без соответствующей поддержки со стороны системы кэширования. По данным AMD, пропускная способность кэша первого уровня увеличилась до 1 терабайта в секунду (480 ГБ/с у RV770), а пропускная способность между L1 и L2 стала равна 435 ГБ/с (против 384 ГБ/с у предыдущих чипов).

Система кэширования осталась прежней: кэш второго уровня привязан к четырём 64-битным каналам памяти, L1 кэши хранят уникальные данные для каждого блока SIMD, что увеличивает эффективность кэширования. Соответственно росту количества блоков TMU, был удвоен объём кэша второго уровня, он достиг 128 килобайт на каждый контроллер памяти.

Блоки ROP (Render Back-Ends — RBE) остались практически такими же, что и в RV770. Они обрабатывают такое же количество пикселей за такт, просто блоков ROP теперь стало вдвое больше — вот и вся разница. Все возможности чипа по производительности блендинга также были удвоены по мощности, по сравнению с RV770. При 2x/4x MSAA чип обрабатывает 32 пикселя за такт, при 8x MSAA — 16 пикселей. Цифры справедливы и для 32-битных, и для 64-битных буферов.

Алгоритмы MSAA 2x и 4x почти «бесплатны» с точки зрения работы ROP (остаются вопросы ПСП и эффективности сжатия буфера при MSAA, например). На практике, скорость рендеринга с использованием 8x MSAA по данным производителя получается в среднем всего лишь на 10-15% ниже чем при 4x MSAA. Это очень хороший результат, который понравится любителям качественной картинки.

В Cypress была улучшена производительность специфического метода сглаживания CFAA, увеличена производительность одновременной работы с несколькими буферами (MRT), ускорена очистка буфера цвета. Более конкретных данных AMD не сообщает, и мы будем смотреть на практике что у них получилось.

Интересно, что теперь, кроме CFAA, поддерживается и сглаживание методом суперсэмплинга, что позволяет сглаживать не только края полигонов, но и текстуры и результат работы пиксельных шейдеров. Причём, это не просто программное решение, а заявлен некий эффективный метод с использованием адаптивного антиалиасинга. Этот вопрос мы также отложим до специального исследования качества изображения.

Контроллер GDDR5 памяти был оптимизирован в очередной раз, теперь возможна работа с микросхемами этого типа, работающими на скоростях до 5 ГГц. Из улучшений, не связанных с производительностью, отметим Fast GDDR5 Link Retraining, позволяющий быстро переключать напряжение и частоту памяти на лету. В контроллер памяти была добавлена поддержка проверки на ошибки (Error Detection Code — EDC). Пусть это не так важно для графических задач, но при выполнении вычислительных задач на GPU, проверка CRC может быть полезной. В остальном — всё то же самое, что и в RV770, как можно убедиться на картинке, никаких кольцевых шин:



Поговорим о возможной слабине нового решения. Если в случае с RV770 было важно обеспечить низкую себестоимость, и ПСП у GDDR5 на 256-битной шине для него было достаточно, то теперь, с учётом 256-битной шины памяти у Cypress, получаем пропускную способность памяти лишь чуть более чем 150 ГБ/с, что незначительно выше, чем у предшественника.

В отличие от всех прочих характеристик, это всего лишь на треть больше, чем у решений на основе чипа RV770, и ПСП вполне может быть одним из основных ограничителей производительности чипа и видеокарт на его основе. Как в графических задачах, так и при вычислениях общего назначения на GPU. Мы постараемся проверить это в следующих частях статьи, посвящённых практическому исследованию производительности.

В аппаратной части нам остаётся просто перечислить другие мелкие модификации, со слов AMD. Новый чип отличает улучшенная производительность при обновлении буфера констант, ускоренная работа геометрических шейдеров, модификации, связанные с профессиональными применениями: улучшенный рендеринг линий и 12-битная субпиксельная точность. Последнее должно помочь в борьбе с конкурентом за рынок профессиональных OpenGL видеокарт.

Поддержка DirectX 11

Пожалуй, самый большой раздел теоретической части посвящен новой версии этого графического API, который работает в операционных системах Windows 7 и Windows Vista (после обновления через Windows Update). Нововведений в этой версии было сделано довольно много. Они касаются как улучшений, направленных на увеличение производительности, так и на качественные изменения.

На увеличение скорости направлена возможность многопоточного рендеринга, а также новые возможности DirectCompute. Улучшить качество изображения в играх призваны: тесселяция, рендеринг прозрачных полигонов без необходимости сортировки (order-independent), сложная постобработка, новые возможности по фильтрации теней. С точки зрения игр весьма интересно выполнение физических расчётов и алгоритмов AI на видеочипах через DirectCompute.

DirectX 11 отличает программная поддержка всех предыдущих уровней аппаратного обеспечения, начиная с DirectX 10. Хотя старые видеочипы с поддержкой DX10 способны лишь на часть возможностей DirectX 11, некоторые особенности нового API смогут облегчить жизнь разработчикам игр. Хотя, чтобы полностью раскрыть возможности этой версии API, требуется аппаратная поддержка со стороны полноценных DirectX 11 GPU, таких как Cypress. Только такие чипы могут обеспечить поддержку DirectCompute11 и улучшенного многопоточного рендеринга. Хотя многопоточность будет работать и на старых чипах при поддержке новых драйверов, но производительность в таком случае может быть ниже, чем на DX11 видеочипах.

Шейдерная модель версии 5.0

В Shader Model 5 предложен новый набор инструкций, с более гибким доступом к данным и большим удобством для разработчика. Набор команд унифицированный, один для шейдеров всех типов: Vertex, Hull, Domain, Geometry, Pixel и Compute. Применена объектно-ориентированная программная модель, функции и подпрограммы в шейдерном коде облегчают разработку графических приложений.

Перечислим некоторые из новых инструкций Shader Model 5.0:

SV_Coverage — даёт информацию о sample coverage для пиксельных шейдеров, применяется при определении краев полигонов в специфических алгоритмах сглаживания.

Gather — выборка сразу четырех значений одной инструкцией, применяется в алгоритмах фильтрации теней и ambient occlusion (глобальная модель затенения).

Инструкции для преобразования типов данных, которые конвертируют значения между 32-битными и 16-битными форматами с плавающей точкой, что упрощает программирование в некоторых случаях.

Битовые операции, помогающие ускорить сжатие и распаковку данных.

DirectCompute

Одной из важнейших особенностей нового графического API является DirectCompute, которая предоставляет доступ к технологии вычислений общего назначения на GPU (ATI Stream Technology для AMD). Эта возможность особенно важна потому, что DirectX API является индустриальным стандартом, который будет использоваться в любом случае.

Поддерживаются несколько уровней аппаратной поддержки: DirectCompute10 — для DirectX 10.0 видеочипов, DirectCompute10.1 и DirectCompute11, соответственно. Игровые применения DirectCompute может найти в обработке и фильтрации изображений, рендеринге полупрозрачных поверхностей без предварительной сортировки (Order Independent Transparency), рендеринге теней, физических эффектах, алгоритмах искусственного интеллекта, трассировке лучей.

Версия DirectCompute11, которая поддерживается Cypress, даёт несколько больше возможностей, по сравнению с DirectCompute10, вот некоторые из них:
3D Thread Dispatch — возможность заменить несколько двумерных массивов потоков одним трёхмерным;
максимальное количество потоков в DirectCompute11 увеличено с 768 до 1024, это даёт возможность исполнять одновременно на 33% потоков больше;
объём памяти на группу потоков увеличен с 16 Кб до 32 Кб, данная память используется для передачи данных между потоками;
доступ к общей памяти улучшен, вместо возможности записи в 256 байтную область возможны полноценные чтение и запись в область 32 Кб данных;
атомарные операции, позволяющие каждому потоку использовать защищенные области памяти, что значительно упрощает перенос алгоритмов с CPU на GPU;
вычисления с двойной точностью, необходимые для некоторых алгоритмов вычислений общего назначения;
Gather4 — выборка из видеопамяти со скоростью до четырёх раз большей (при определённых условиях);
и др.

Тесселяция в DirectX 11

Для более удобного применения тесселяции в DirectX 11 были введены новые типы шейдеров: Hull и Domain Shaders. Аппаратно ускоренная тесселяция в DX11 позволяет использовать широкий набор алгоритмов и методов: Catmull-Clark Subdivison, патчи Bezier и N-патчи, Displacement Mapping, адаптивная тесселяция (динамически изменяемый уровень детализации — Level of Detail).

На теме тесселяции мы уже останавливались неоднократно. Вкратце — она даёт возможность получить более детализированные модели при небольших затратах производительности. В основном, тесселяция (разбиение модели на большее количество треугольников, если совсем грубо) применяется для поверхностей земли, воды, но иногда и для персонажей. Вы можете убедиться в этом на примере следующей игры серии STALKER, гладкие и округлые поверхности персонажа (как и не самые качественные текстуры) хорошо видны:

Order Independent Transparency (OIT)

Это возможность отрисовки полупрозрачных полигонов без их предварительной сортировки, которая делает рендеринг перекрывающихся полупрозрачных объектов: дыма, огня, воды, стекла и т.п. более эффективным. Вот такую демонстрацию эффекта предлагает нам компания AMD:



Нельзя сказать, чтобы это была совсем уж новая возможность. Рендеринг полупрозрачных поверхностей требует предварительной сортировки, чтобы они корректно отображались, ведь их смешивание (blending) требует определённого порядка отрисовки. Возможности DirectCompute11 лишь упрощают такой рендеринг при помощи сортировки пикселей, позволяя сделать это всего лишь за один проход. При этом используются атомарные операции и append buffers.

Постобработка

При помощи DirectCompute может быть ускорена и усложнена постобработка изображения. Видов постфильтрации очень много: имитация глубины резкости (depth of field), размытие в движении (motion blur), поиск краёв полигонов (edge detection), сглаживание, повышение резкости (sharpening) и т.д.

Для постобработки требуются данные о соседних с обрабатываемым пикселем. Возможности DirectCompute значительно упрощают применение сложных постфильтров, увеличивая производительность и улучшая качество изображения. Например, фильтр constant time filter spreading, который имитирует эффект оптики — глубины резкости, эта новая техника была разработана компанией AMD совместно с Калифорнийским университетом в Беркли. В ней не требуется использование альфа буфера, а в коде используются возможности доступа к общей памяти. В итоге получается меньше артефактов вроде видимых гало и резких силуэтов, а также повышенная скорость обработки, по сравнению с обычными методами с применением пиксельного шейдера.



Постобработка при помощи DirectCompute способна улучшить и алгоритмы отрисовки теней, включая ambient occlusion (AMD называет свой метод HDAO — High Definition Ambient Occlusion). Об этом алгоритме мы уже писали, это модель глобального освещения (затенения), используемая в 3D графике, которая увеличивает реалистичность изображения, вычисляя интенсивность света, доходящего до поверхности.

DirectCompute11 даёт дополнительные возможности получения более реалистичных теней, когда тень становится более размытой по краям по мере удаления (то есть, полутень более реалистична). AMD приводит в пример сравнительные картинки из будущей игры STALKER: Call of Pripyat:

Улучшения и дополнительные форматы текстурного сжатия

В DirectX 11 появилась возможность сжатия 16-битных HDR текстур, степень сжатия которых достигает 6:1. Это будет весьма кстати в условиях частого применения таких форматов в современных игровых приложениях. Также в этой версии графического API было улучшено качество текстурного сжатия (что подтверждается лучшим параметром SNR — signal-to-noise), и снижены артефакты блочности текстур.

Многопоточный рендеринг

Это одно из долгожданных улучшений в DirectX API, на игровых консолях доступное довольно давно. Теперь не только приложение, DirectX рантайм-код, и драйвер исполняются каждый в своём отдельном потоке, но и такие задачи, как загрузка текстур или компиляция шейдера могут быть запущены в параллельном основному коду потоке.

Данное нововведение поможет исключить упор в производительность CPU в условиях большого количества вызовов функций отрисовки — их часть наконец-то можно будет переложить в другой поток, который будет исполняться на другом ядре центрального процессора, отличном от того, которое исполняет основной поток рендеринга. Не путать с многопоточностью игрового кода!

Игры с поддержкой DirectX 11

Все перечисленные выше улучшения полезны, но когда они появятся в играх — хороший вопрос. AMD отвечает на него таким образом:
BattleForge от EA Phenomic — Сентябрь 2009
S.T.A.L.K.E.R.: Call of Pripyat от GSC Gameworld — четвертый квартал 2009
DiRT 2 от Codemasters — четвертый квартал 2009
Lord of the Rings Online от Turbine — первый квартал 2010
Aliens vs Predator от Rebellion — первый квартал 2010.

Также готовы к поддержке DX11 и движки Frostbite 2 Engine от EA DICE и Vision Engine от Trinigy, но конкретные сроки выхода игр на них пока официально не объявлены. В общем, даже из этого оптимистичного списка понятно, что реально аппаратная поддержка DirectX 11 понадобится разве что в 2010 году, и то — улучшения поначалу придётся искать с лупой, скорее всего. Но в целом радует уже одно то, что компания AMD активизировала работу с разработчиками игр.

Aliens vs Predator

Одной из ожидаемых многими игр является проект Aliens vs Predator. AMD и Rebellion в один голос заявляют, что это будет первая высокобюджетная игра с полноценной поддержкой DirectX 11. Игрой поддерживаются DX9 (видимо, консольное наследие сказывается) и DX11 API. Обещаны следующие особенности последней версии API, которые дают ускорение и улучшение картинки: тесселяция моделей персонажей и поверхностей окружения. Их можно наблюдать на следующих картинках:





Разница на этих специально подготовленных картинках видна, хотя и не такая уж огромная (особенно на первом), но посмотрим, что будет в реальности и имеет ли смысл такое увеличение детализации. Также в Aliens vs Predator заявлена быстрая и качественная постобработка с использованием Compute Shaders и более реалистичные тени (в т.ч. ambient occlusion).



А вот тут уже разницу уже сейчас можно начинать искать с лупой… Оставляем это право читателям, надеясь на то, что в реальной игре она будет заметна несколько больше.

Colin McRae DiRT 2

Это ещё одна весьма интересная и ожидаемая игроками игра, в которой применены новые возможности DirectX 11. Видимо поэтому её ПК-версия задерживается до конца года, в то время как консольные версии уже вышли. Вероятно, AMD очень сильно старается, чтобы поддержка DirectX 11 была полноценной.

Представителями разработчика игры заявлено, что движок игры портирован на DirectX 11, в нём используется динамическая тесселяция водных поверхностей, тканей (флаги и т.п.), анимированных моделей окружения. На скриншоте ниже показан wireframe рендеринг поверхности воды, по которой проезжает автомобиль. Выглядит это неплохо, другое дело, что на скорости на такие эффекты внимание как-то не обращаешь:



В игре используется и DirectCompute11 — для оптимизации эффектов постобработки. Новые особенности Shader Model 5.0 помогли получить более качественную фильтрацию карт теней и качественный эффект глубины резкости. Также, что очень радует душу лично авторов этой статьи — в игре будет бенчмарк! Вот что значит правильная поддержка производителя графических чипов…

Также можно отметить уже упомянутую и выходящую по планам в этом году игру STALKER: Call of Pripyat. AMD обещает поддержку DX11 и в этом проекте, но пока что непонятно, когда она появится: сразу же вместе с релизом или в последующих патчах, как это было с предыдущими играми серии…

Вычисления общего назначения

Тема вычислений на GPU усиленно продвигается основными производителями видеочипов, которые уделяют вопросу особое внимание. Вычисления на GPU начинают внедряться в обычное ПО, которое используется нами в повседневных задачах, особенно связанных с обработкой изображений и видео.

Как мы уже упоминали выше, RADEON HD 5870 обладает весьма высокой производительностью: до 2.7 терафлоп при вычислениях одиночной точности, и 544 гигафлоп при двойной. Этим он выгодно отличается от предыдущих решений компании AMD, а также конкурирующих от Nvidia. Особенно это касается вычислений двойной точности. И поэтому чип очень привлекательный для вычислений на GPU.

Чип аппаратно полностью поддерживает все возможности DirectCompute11 и OpenCL 1.0, и некоторые возможности сверх этого. Поддерживается буфер экспорта из памяти (Memory Export), операции scatter до 64 32-битных значений за такт, что вдвое больше, чем у чипов предыдущего поколения RV770/RV790.



Дополнительная функциональность, превышающая возможности OpenCL 1.0, включает: 32-битные атомарные операции, общая память емкостью 32 Кб, глобальная общая память емкостью 64 Кб, глобальная синхронизация, append/consume buffers.

Компания AMD всегда особенно выделяет поддержку OpenCL — открытого API для кроссплатформенных приложений для высокопроизводительных расчётов на CPU и GPU. OpenCL даёт возможность параллельной разработки и использования как центральных универсальных процессоров, так и графических чипов одними и теми же командами одного и того же API. AMD первой выпустила вариант OpenCL для CPU, и для них очень важно поддерживать и CPU и GPU в равной степени, ведь они производят как то, так и другое.

Очень приятно, что всё больше обычных программ приобретают поддержку вычислений на GPU. Так, мультимедийное ПО, которое обладает поддержкой технологии ATI Stream, включает такие известные приложения от Cyberlink как MediaShow 5, MediaShow Espresso, PowerDirector 8 (начиная с версии 8.1 обладает поддержкой DirectCompute 11) и PowerDirector 7, а также ArcSoft SimHDT плагин для TotalMedia Theatre и Roxio Creator 2010.

Например, PowerDirector 8 ускоряет около 20 эффектов при помощи видеочипов AMD, и новейшие решения обеспечивают более чем двукратное ускорение этой обработки, по сравнению с CPU. Компания Cyberlink считает, что разработка ПО исключительно под DirectCompute более эффективна, чем принятый до этого подход с использованием нескольких версий API для вычислений общего назначения на GPU.

Естественно, AMD не могла обойти и тему ускорения физических эффектов на GPU, с учётом успешной работы их конкурента в этой области. К сожалению, заявки пока весьма слабые — так называемая «открытая физика» применяется в малом числе игр, и пока не видно резкого увеличения их числа. Наименования этих открытых API (Bullet Physics и Pixelux) довольно слабо известны, хотя их разработки применялись в некоторых вышедших играх.

Указанные пакеты содержат реализацию физики мягких тел, деформируемых объектов, разрушаемых объектов и др. Пока что AMD только работает с этими компаниями для включения в их пакеты поддержки OpenCL, и когда оно будет доступно на рынке, не говоря уже о готовых игровых проектах — неизвестно. Начало положено, ну а мы посмотрим, что получится в итоге.

Технология ATI Eyefinity

Одной из интересных, хотя и не таких уж новых по сути (вспоминаем компанию Matrox, которая некогда выпускала игровые 3D видеокарты с поддержкой трёх мониторов) возможностей является расширенная поддержка мультимониторных конфигураций. Возможность подключения трёх, а то и шести мониторов к одной видеокарте, может быть полезна как в играх, так и в рабочих применениях. Вот некоторые из вариантов размещения, которые предполагает AMD:



Блок вывода изображения в Cypress был переделан так, что теперь чип поддерживает вывод картинки на устройства вывода в количестве до шести штук (при использовании DisplayPort и специальной версии платы под названием HD 5870 SIX), в разных комбинациях. Количество поддерживаемых мониторов зависит от конкретной конфигурации платы, но может достигать шести или трёх. В чипе есть шесть встроенных TMDS трансмиттеров, и на обычных (не SIX) видеокартах четыре из них обеспечивают работу двух разъёмов Dual Link DVI, так что шесть мониторов к ним подключить не получится, только три.

Мультимониторные конфигурации могут работать в режимах клона и расширения рабочего стола. Одно большое изображение может быть составлено из нескольких мониторов, это применимо как для изображения рабочего стола, так и для полноэкранных видео и 3D приложений (поддерживается в Windows 7, Windows Vista и Linux).

В целом, в многомониторных конфигурациях нет ничего нового, важнее поддержка приложениями. AMD приводит большой список игр с проверенной поддержкой их технологии Eyefinity. Приложениям достаточно уметь правильно работать с изображением с разным соотношением сторон, в остальном всё нормально работает. И в некоторых случаях смотрится и играется эффектно (нужно попробовать поиграть за такой системой, по фотографии ничего не понятно):



AMD также объявила о совместной работе с производителями мониторов, в частности с компанией Samsung. Они выпускают специальные версии мониторов с размером экрана 23" с поддержкой разрешения 1920x1080, интерфейсов DisplayPort, DVI и VGA, а также — очень тонкой рамкой вокруг экрана (всего лишь 7-8 мм). Впрочем, 7-8 мм нужно удвоить, так как мониторы стоят сторонами друг к другу. И это уже даёт довольно неприятную рамку, мешающую целостному восприятию общей картинки.

В целом же нельзя сказать, что поддержка трёх или шести мониторов — это такое уж важное преимущество. Полезно и востребовано в некоторых (и редких) случаях — вот так будет правильнее. Многие ли игроки решатся на установку трёх мониторов, а не одного большого (FullHD телевизора, к примеру)? А многим ли реально нужно более двух мониторов? В общем, это полезная возможность, конечно, но не более того.

В плане поддержки HDMI тоже есть кое-что новое. Поддерживается версия HDMI 1.3a с форматами Dolby TrueHD и DTS-HD Master Audio, все аудиоформаты Blu-ray, AC-3 и DTS. По сути — это первая карта, на которой можно получить звуковые дорожки форматов Dolby TrueHD и DTS HD по HDMI для передачи на ресивер. Что может и не так уж сильно нужно мощной игровой карте, но в будущих решениях для других ценовых диапазонов может быть полезно.

Видеопоток в HDMI 1.3a может быть в формате Deep Color и x.v.Color. Это даёт большее количество одновременно отображаемых цветов через HDMI при выводе на соответствующие приёмники. Поддерживается широкий цветовой охват: 12-битный и 10-битный форматы цвета, видеосигнал формата wide-gamut xvYCC.

Управление питанием PowerPlay

Технология динамического управления питанием ATI PowerPlay получила хоть и небольшие, но дальнейшие усовершенствования. Суть технологии в том, что специальная управляющая схема в чипе отслеживает его загрузку работой и определяет оптимальный рабочий режим, управляя рабочей частотой чипа, памяти, напряжением питания и другими параметрами, оптимизируя энергопотребление и тепловыделение. В 2D режиме при невысокой загрузке GPU напряжение и частоты будут максимально снижены, как и частота вращения вентилятора, в режиме небольшой 3D нагрузки все параметры установятся на средние значения, а при максимальной работе GPU частоты с напряжением будут выставлены в наибольшее значение.

Сниженное потребление для режима простоя новых карт достигнуто при помощи ещё более низких чем обычно частот и напряжений для чипа и памяти, а также специального режима работы GDDR5 памяти — low power strobe mode. А для того, чтобы не было перегрева модуля VRM, был применен аппаратный контроль над температурой регулятора напряжения. Для многочиповых конфигураций был добавлен специальный режим ультранизкого потребления питания (Ultra Low Power State — ULPS).

Поддержка Windows 7

Похоже, что эта операционная система — лишний повод показать некие преимущества своих решений, даже если они доступны не только в данной ОС. AMD отдельно выделяет качественную поддержку Windows 7 в своих драйверах, как будто там используются не те же самые драйверы, что и для Windows Vista…

Кроме ускорения интерфейса новой операционной системы, которая уже вот-вот официально выйдет, программистами AMD была повышена производительность в игровых приложениях. По сравнению с Vista, AMD добилась 5-20% ускорения в одночиповых, и 10-50% в многочиповых (CrossFire) конфигурациях. Наибольшее ускорение AMD отметила в играх Far Cry 2 (10-20% в одночиповом и более 20% в многочиповом режимах), BattleForge (20% в одночиповом) и Company of Heroes (50-60% в CrossFire конфигурации). Непонятно, почему то же самое нельзя получить в Vista?

Аппаратное ускорение Windows 7 не ограничивается играми. 3D акселерация задействована при реализации интерфейса Aero Glass, поддерживается ускорение в Direct2D API, а также улучшена поддержка аппаратно ускоренного декодирования видео — DXVA. В чипе используется улучшенный блок UVD 2.0, который аппаратно декодирует одновременно два потока видео высокого разрешения (1920х1080), а также работает одновременно с ускорением интерфейса Windows Aero. Не только декодирование ускоряется новыми чипами и ОС, но и перекодирование видео из формата в формат. Для этого в Windows 7 встроена собственная функциональность, которая способна ускоряться на новых решениях AMD.

Итак, мы познакомились с особенностями нового чипа компании AMD с точки зрения теории. Следующая часть статьи посвящена практической части исследования, в которой мы узнаем, как производительность новых решений на основе чипа Cypress соотносится со скоростью предыдущих решений компании AMD, а также конкурирующих видеокарт Nvidia. Будет ли RADEON HD 5870 ограничен пропускной способностью памяти в синтетических тестах? Сможет ли быть вдвое быстрее HD 4890? Узнайте в следующей части обзора.

ATI RADEON HD 5870 — Часть 2: видеоплаты и синтетические тесты





23 сентября 2009 Г.

DirectX 11. - ATI (AMD) 3D- ATI RADEON HD 5870

ATI RADEON HD 5870 1024MB PCI-E

DirectX 11. — ATI (AMD) 3D-


  1. 1 —
  2. 2 —
  3. ,
  4. ()


, , … ( , ) , … , , , … ( DirectX 11 ) , ( — ATI Cypress), , .

1:



- . , , . AMD . high-end Nvidia , ( , ) . .

AMD. , high-end, . Nvidia, , $399 . , ? ?

, . . , , AMD , . AMD , , … , DirectX 11 , , … , GPU .

, , AMD RV670 RV770. $200 $300 $300-400, . , , .

(, !) 40 TSMC. RV740, — , , — . , Cypress …

, — ( — ). , , R6xx/R6xx/R7xx. , , :

, AMD , RADEON HD 5800, Cypress.

RADEON HD 5800

  • Cypress
  • 40
  • 2.15 . ( , RV770)
  • : , .
  • DirectX 11, — Shader Model 5.0
  • 256- : 64 GDDR5
  • 725-850
  • 20 SIMD , 1600 ALU ( , FP32 FP64 IEEE 754)
  • 20 , FP16 FP32
  • 80 , FP16
  • 32 ROP 16 , FP16 FP32 . 32 ( .. MSAA 2x/4x, .. FP16), (Z only) — 128
  • 8 (MRT)
  • RAMDAC, Single Link Dual Link DVI, HDMI DisplayPort

RADEON HD 5870

  • 850
  • 1600
  • — 80, — 32
  • 4800 (4*1200 )
  • GDDR5
  • 1024
  • 153.6 .
  • 27.2 .
  • 68.0 .
  • CrossFireX
  • PCI Express 2.0 x16
  • DVI-I Dual Link, HDMI, DisplayPort
  • 27 188 ( 6- )
  • $399

RADEON HD 5850

  • 725
  • 1440
  • — 72, — 32
  • 4000 (4*1000 )
  • GDDR5
  • 1024
  • 128 .
  • 23.2 .
  • 52.2 .
  • CrossFireX
  • PCI Express 2.0 x16
  • DVI-I Dual Link, HDMI, DisplayPort
  • 27 170 ( 6- )
  • $299

, GPU 40 AMD , 55 . , , RV770. , , , (HD 4870 HD 4890). , …

, ( ). . . HD 4870 4850 HD 3870 3850 , HD 5870 , AMD — . HD 5850 HD 4890, . , .

, AMD, . , — GDDR5, GDDR3 HD 5850. HD 5850 HD 5870 ALU TMU — 11% . , , , ALU/TMU . ( ) , — . HD 5850 .

— . , , . 1024 , , 512 — .

Cypress

Cypress TeraScale 2. , (. ), . , , , .

, . , . 2.15 . ( , ), Cypress , RV790 — 334 2. 40 .

, , . : , , ROP, . , :



, Cypress RV770, - . - . …

. , , DirectX 11, — .



, AMD , DirectX 11 , Cypress . AMD, . , , , TRUFORM.

Cypress SIMD ( , RV770), 16 , 320 . RV670, , 320*5=1600 32- . 64- , .



, . , , RV770.

Cypress 2.7 . , AMD (FP64), . , Cypress FP64 544 . , , — .

AMD , (IPC), (co-issue) MUL, ADD . — (Sum of Absolute Differences — SAD). .

, RV770 , SIMD 4 . Cypress — 80 TMU. , . 272 32- , 68 .

. DirectX 11 1638416384 , 32- 64- HDR (BC6/BC7). , MSAA .

, DX11, . , . , - . AMD, . , — . , :



. AMD, 1 (480 / RV770), L1 L2 435 / ( 384 / ).

: 64- , L1 SIMD, . TMU, , 128 .

ROP (Render Back-Ends — RBE) , RV770. , ROP — . , RV770. 2x/4x MSAA 32 , 8x MSAA — 16 . 32-, 64- .

MSAA 2x 4x «» ROP ( MSAA, ). , 8x MSAA 10-15% 4x MSAA. , .

Cypress CFAA, (MRT), . AMD , .

, , CFAA, , , . , , . .

GDDR5 , , 5 . , , Fast GDDR5 Link Retraining, . (Error Detection Code — EDC). , GPU, CRC . — , RV770, , :



. RV770 , GDDR5 256- , , 256- Cypress, 150 /, , .

, , RV770, . , GPU. , .

, AMD. , , , : 12- . OpenGL .

DirectX 11

, API, Windows 7 Windows Vista ( Windows Update). . , , .

, DirectCompute. : , (order-independent), , . AI DirectCompute.

DirectX 11 , DirectX 10. DX10 DirectX 11, API . , API, DirectX 11 GPU, Cypress. DirectCompute11 . , , DX11 .

5.0

Shader Model 5 , . , : Vertex, Hull, Domain, Geometry, Pixel Compute. - , .

Shader Model 5.0:

SV_Coverage — sample coverage , .

Gather — , ambient occlusion ( ).

, 32- 16- , .

, .

DirectCompute

API DirectCompute, GPU (ATI Stream Technology AMD). , DirectX API , .

: DirectCompute10 — DirectX 10.0 , DirectCompute10.1 DirectCompute11, . DirectCompute , (Order Independent Transparency), , , , .

DirectCompute11, Cypress, , DirectCompute10, :
3D Thread Dispatch — ;
DirectCompute11 768 1024, 33% ;
16 32 , ;
, 256 32 ;
, , CPU GPU;
, ;
Gather4 — ( );
.

DirectX 11

DirectX 11 : Hull Domain Shaders. DX11 : Catmull-Clark Subdivison, Bezier N-, Displacement Mapping, ( — Level of Detail).

. — . , ( , ) , , . STALKER, ( ) :

Order Independent Transparency (OIT)

, : , , , .. . AMD:



, . , , (blending) . DirectCompute11 , . append buffers.

DirectCompute . : (depth of field), (motion blur), (edge detection), , (sharpening) ..

. DirectCompute , . , constant time filter spreading, — , AMD . , . , , .



DirectCompute , ambient occlusion (AMD HDAO — High Definition Ambient Occlusion). , (), 3D , , , .

DirectCompute11 , ( , ). AMD STALKER: Call of Pripyat:

DirectX 11 16- HDR , 6:1. . API ( SNR — signal-to-noise), .

DirectX API, . , DirectX -, , , .

CPU — - , , , . !

DirectX 11

, — . AMD :
BattleForge EA Phenomic — 2009
S.T.A.L.K.E.R.: Call of Pripyat GSC Gameworld — 2009
DiRT 2 Codemasters — 2009
Lord of the Rings Online Turbine — 2010
Aliens vs Predator Rebellion — 2010.

DX11 Frostbite 2 Engine EA DICE Vision Engine Trinigy, . , , DirectX 11 2010 , — , . , AMD .

Aliens vs Predator

Aliens vs Predator. AMD Rebellion , DirectX 11. DX9 (, ) DX11 API. API, : . :





, ( ), , . Aliens vs Predator Compute Shaders ( .. ambient occlusion).



… , , .

Colin McRae DiRT 2

, DirectX 11. - , . , AMD , DirectX 11 .

, DirectX 11, , ( ..), . wireframe , . , , - :



DirectCompute11 — . Shader Model 5.0 . , — ! …

STALKER: Call of Pripyat. AMD DX11 , , : , …

GPU , . GPU , , .

, RADEON HD 5870 : 2.7 , 544 . AMD, Nvidia. . GPU.

DirectCompute11 OpenCL 1.0, . (Memory Export), scatter 64 32- , , RV770/RV790.



, OpenCL 1.0, : 32- , 32 , 64 , , append/consume buffers.

AMD OpenCL — API CPU GPU. OpenCL , API. AMD OpenCL CPU, CPU GPU , , .

, GPU. , , ATI Stream, Cyberlink MediaShow 5, MediaShow Espresso, PowerDirector 8 ( 8.1 DirectCompute 11) PowerDirector 7, ArcSoft SimHDT TotalMedia Theatre Roxio Creator 2010.

, PowerDirector 8 20 AMD, , CPU. Cyberlink , DirectCompute , API GPU.

, AMD GPU, . , — « » , . API (Bullet Physics Pixelux) , .

, , . AMD OpenCL, , — . , , .

ATI Eyefinity

, ( Matrox, 3D ) . , , , . , AMD:



Cypress , ( DisplayPort HD 5870 SIX), . , . TMDS , ( SIX) Dual Link DVI, , .

. , , 3D ( Windows 7, Windows Vista Linux).

, , . AMD Eyefinity. , . ( , ):



AMD , Samsung. 23" 1920x1080, DisplayPort, DVI VGA, — ( 7-8 ). , 7-8 , . , .

, — . ( ) — . , (FullHD , )? ? , , , .

HDMI - . HDMI 1.3a Dolby TrueHD DTS-HD Master Audio, Blu-ray, AC-3 DTS. — , Dolby TrueHD DTS HD HDMI . , .

HDMI 1.3a Deep Color x.v.Color. HDMI . : 12- 10- , wide-gamut xvYCC.

PowerPlay

ATI PowerPlay , . , , , , , . 2D GPU , , 3D , GPU .

, GDDR5 — low power strobe mode. , VRM, . (Ultra Low Power State — ULPS).

Windows 7

, — , . AMD Windows 7 , , Windows Vista…

, - , AMD . Vista, AMD 5-20% , 10-50% (CrossFire) . AMD Far Cry 2 (10-20% 20% ), BattleForge (20% ) Company of Heroes (50-60% CrossFire ). , Vista?

Windows 7 . 3D Aero Glass, Direct2D API, — DXVA. UVD 2.0, (19201080), Windows Aero. , . Windows 7 , AMD.


, AMD . , , Cypress AMD, Nvidia. RADEON HD 5870 ? HD 4890? .



ATI RADEON HD 5870 — 2: