Содержание
- Часть 1 — Теория и архитектура
- Часть 2 — Практическое знакомство
- Часть 3 — Результаты игровых тестов (производительность)
Новые топовые ускорители всегда выходят на рынок через какое-то время после анонса предыдущих, но в этот раз срок ожидания оказался более длительным, чем ранее. Однако сегодня мы все-таки можем лицезреть появление очередного лидера, ускорителя, способного взойти на вершину, превзойдя лидера прежнего — однопроцессорный Nvidia Geforce GTX 580. Правда, речь идет именно об однопроцессорных 3D-акселераторах: не забывайте, что двухпроцессорные находятся в особой нише, имея цену от 800 долларов и выше, а также свои нюансы. Можно предположить, что прирост производительности при смене поколений не превысит полтора раза, поэтому новинка уж точно не переплюнет двухпроцессорные ускорители предыдущего поколения.
Это все к тому, что читателям пора привыкнуть сравнивать однопроцессорные с однопроцессорными и не ждать, когда такой новый ускоритель поставит абсолютный рекорд по производительности. Вот когда на базе новых ядер появятся и соответствующие двухпроцессорные гиганты — они уже смогут штурмовать абсолютные значения, достигнутые прежними лидерами в 3D. А пока мы про двухпроцессорные модели с их очень далекими от народа ценами забываем.
Итак, Radeon HD 7970, он же Tahiti в кодовом именовании. Что дает нам выход этого решения? Чем порадует? Передаем слово Алексею Берилло, он расскажет о теории вопроса.
Часть 1: Теория и архитектура
Наконец-то это свершилось! Многомесячное ожидание новых GPU, произведённых по новым технологическим нормам 28 нм, закончилось под самый конец уходящего года. Мы неоднократно писали о проблемах, вызванных трудностями и задержками в освоении нового техпроцесса, компаниям AMD и Nvidia приходилось выпускать всё новые и новые модели видеокарт, основанных на старых GPU, и даже вносить корректировки в функциональные возможности промежуточных решений. Например, серия Radeon HD 6900 получилась переходной от архитектуры, начавшей свой путь в Radeon HD 5800, к анонсируемой сегодня совершенно новой.
Рано или поздно проблемы с новым производством обязаны были закончиться, и вот они если не исчезли совсем, то хотя бы позволяют анонсировать свежие решения и начать массовые (степень их массовости пока под вопросом, впрочем) поставки. Самое время — ведь рынок ПК-игр переживает очередной небольшой расцвет из-за устаревания аппаратной начинки игровых консолей, даже с учётом засилья мультиплатформенных проектов.
Если брать даже чисто финансовые показатели, то продажи на игровом рынке ПК превысили 15 миллиардов долларов в текущем году, а в течение двух лет аналитиками ожидается рост объёма рынка до 20 миллиардов в той же валюте. При этом есть и стремительно растущие рынки, вроде Китая, который является крупнейшим рынком ПК-игр — продажи на нём достигли 4,8 млрд. долларов в 2010 году. Да и российский рынок является одним из важнейших даже для западных компаний, достаточно вспомнить выпуск специальных видеокарт ограниченного выпуска, рассчитанных в т. ч. и на нашу страну.
Понятное дело, что даже с учётом того, что большинство игр мультиплатформенные, они становятся сложнее графически. ПК-версии многих проектов выглядят лучше консольных собратьев по нескольким показателям, и не только экстенсивным, вроде разрешения рендеринга и текстур. Например, известнейшая игра Battlefield 3 использует многие возможности DirectX 11 для того, чтобы улучшить качество рендеринга. Насколько это удаётся разработчикам и каким был прогресс в качестве изображения, компания AMD предлагает посмотреть по таким примерам, как сериалы Battlefield и Deus Ex:
Как видно даже по этим маленьким скриншотам, скачки в качестве за прошедшие несколько лет вполне себе ощутимы. Но ещё более значительными они становятся, если учитывать рост разрешения рендеринга за всё это время. Даже если взять ситуацию трёхлетней давности, то с тех пор рынок шагнул далеко вперёд. Так, если в 2008 году основными на рынке игровых мониторов были модели с размером экрана 22″ и разрешением 1680×1050 пикселей, то в 2011 году распространение получили 24″ модели с FullHD-разрешением 1920×1080.
Но самое интересное даже не в размере и разрешении экрана. Если в 2008 году цена такого дисплея была порядка $360, то цены 24″ моделей в нынешнем году начинаются от $170-180. То есть, покупатель теперь получает чуть больший физически экран, имеющий почти на 20% больше пикселей, меньше чем за половину цены трёхгодичной давности для гораздо худшего монитора. Именно поэтому устройства с FullHD-разрешением уже стали наиболее распространёнными на рынке — ведь они стоят совсем недорого.
Ещё одним модным веянием в последние годы стало повышение энергоэффективности. Пользователи голосуют за эффективные устройства, использующие как можно меньше электроэнергии. Они и меньше воздействуют на окружающую среду, что влияет на умы сознательных граждан Земли, и позволяют экономить деньги на счетах за электричество, что весьма важно для остальных людей, менее сознательных. И компания AMD уделяет особенное внимание повышению энергоэффективности своих GPU, а также видеокарт на их основе.
Ну и нельзя не отметить значительный сдвиг графических процессоров в сторону неграфических вычислений (GPGPU). Все современные графические чипы делаются теперь совсем не только для игр, но и ускорения требовательных к вычислительной мощи задач, которые хорошо поддаются распараллеливанию. И хотя главным движителем рынка в эту сторону является компания Nvidia, выпускающая для рынка ПК лишь графические чипы, AMD старается не отстать. Кроме того, по пиковой вычислительной мощности лидируют именно видеокарты этой компании. Рост теоретически достижимой производительности можно пронаблюдать на диаграмме:
Как видите, скачки пиковой скорости при каждом новом технологическом процессе достигаются весьма значительные. Нужно ещё учесть, что техпроцесс 28 нм только начал свой путь, и можно с уверенностью сказать, что в будущем цифра в 3,79 терафлопа значительно подрастёт.
К слову о техпроцессах — именно компания AMD является их первопроходцем на рынке графических процессоров. В последние несколько лет эта компания опережала своего единственного сильного конкурента — Nvidia — по внедрению всех новых техпроцессов. Вот и сейчас они первые успели анонсировать свой новый продукт ещё в уходящем 2011 году (фотографии кристаллов схематичны, к сожалению):
28 нм — наиболее совершенная технология производства чипов, массово доступная на сегодняшний день, и именно по этой технологии производятся анонсируемые сегодня видеочипы серии AMD Radeon HD 7000. Эти решения поддерживают все современные индустриальные стандарты: GDDR5, PCI Express, DirectX и другие. Предыдущие серии видеокарт были настолько удачны, что AMD недавно отрапортовала о поставке 100 миллионов продуктов с поддержкой DirectX 11. И в результате, более двух третей DX11-совместимых видеокарт на руках у пользователей имеют графические процессоры производства этой компании.
Тем более значительным событием представляется сегодняшний анонс первой в мире линейки графических чипов под кодовым названием «Southern Islands» («южные острова»), обладающей поддержкой обновленной шины PCI Express 3.0 и будущей версии DirectX 11.1. Все подробности о первой видеокарте серии вы прочитаете далее, а сейчас мы вкратце расскажем о решениях, вошедших в новейшую линейку.
Серия «Southern Islands» включает:
- «Tahiti» — решение наибольшей мощности, самый сложный и мощный GPU на данный момент (серия Radeon HD 7900)
- «Pitcairn» — графический процессор среднего ценового диапазона, предназначенный для массового пользователя (серия Radeon HD 7800)
- «Verde» — продукт, обладающий непревзойдённым сочетанием цены и производительности (выйдет под именем Radeon HD 7700)
Чтобы понять, как именно планируется расположить новые решения в линейке продукции, AMD приводит такой слайд (положение по вертикали отражает производительность решений, по горизонтали — время выхода):
Как видите, младшие видеокарты линеек Radeon HD 6300, HD 6400, HD 6500 и HD 6600, продолжат свою жизнь и в следующем году. А вот более мощные решения постепенно заменятся новыми видеокартами указанных выше серий, основанных на представленной архитектуре. Но сегодня выходит только одна видеокарта — мощнейшее решение из линейка Radeon HD 7900, а остальные чипы серии «Southern Islands» выйдут на рынок несколько позже — в течение первого квартала 2012 года.
Предполагаем, что перед прочтением этого материала, читателям будет полезно ознакомиться с подробной информацией о ранних видеочипах компании по следующим статьям нашего сайта:
- [15.12.10] AMD Radeon HD 6950/6970: чуть слабее Geforce GTX 570/580, но и дешевле
- [22.10.10] AMD Radeon HD 6870 и HD 6850: теоретические сведения о новых решениях для среднего ценового сектора
- [23.09.09] ATI Radeon HD 5870: мощный удар из Канады — ATI (AMD) выпускает нового короля 3D-графики
- [20.04.09] ATI Radeon HD 4870 (RV770): самый мощный однопроцессорный 3D-ускоритель AMD
Ну а теперь мы переходим к описанию технических характеристик анонсированной сегодня первой видеоплаты из серии Radeon HD 7900, основанной на совершенно новом GPU с кодовым названием «Tahiti».
Графические ускорители серии Radeon HD 7900
- Кодовое имя чипа: «Tahiti»
- Технология производства: 28 нм
- 4,3 млрд. транзисторов (более чем на 60% больше, чем у Cayman, и ровно вдвое больше, чем у Cypress)
- Унифицированная архитектура с массивом общих процессоров для потоковой обработки многочисленных видов данных: вершин, пикселей и др.
- Аппаратная поддержка DirectX 11.1, в том числе и шейдерной модели Shader Model 5.0
- 384-битная шина памяти: шесть контроллеров шириной по 64 бита с поддержкой памяти GDDR5
- Частота ядра: до 925 МГц (для Radeon HD 7970)
- 32 вычислительных блока GCN, включающих 128 SIMD-ядер, состоящих в целом из 2048 ALU для расчётов с плавающей запятой (целочисленные и плавающие форматы, поддержка точности FP32 и FP64 в рамках стандарта IEEE 754)
- 128 текстурных блоков, с поддержкой трилинейной и анизотропной фильтрации для всех текстурных форматов
- 32 блока ROP с поддержкой режимов антиалиасинга с возможностью программируемой выборки более чем 16 сэмплов на пиксель, в том числе при FP16- или FP32-формате буфера кадра. Пиковая производительность до 32 отсчетов за такт, а в режиме без цвета (Z only) — 128 отсчетов за такт
- Интегрированная поддержка шести мониторов, включая HDMI 1.4a и DisplayPort 1.2
Спецификации видеокарты Radeon HD 7970
- Частота ядра: 925 МГц
- Количество универсальных процессоров: 2048
- Количество текстурных блоков: 128, блоков блендинга: 32
- Эффективная частота памяти: 5500 МГц (4×1375 МГц)
- Тип памяти: GDDR5
- Объем памяти: 3 гигабайта
- Пропускная способность памяти: 264 гигабайта в сек.
- Теоретическая максимальная скорость закраски: 29,6 гигапикселей в сек.
- Теоретическая скорость выборки текстур: 118,4 гигатекселей в сек.
- Два разъёма CrossFire
- Шина PCI Express 3.0
- Разъёмы: DVI Dual Link, HDMI 1.4, два Mini-DisplayPort 1.2
- Энергопотребление: от 3 до 250 Вт
- Один 8-контактный и один 6-контактный разъёмы питания
- Двухслотовый дизайн
- Рекомендованная цена для рынка США: $549
Сразу же на себя обращает внимание огромная сложность нового чипа — 4 312 711 873 транзисторов (именно в таком сверхточном виде это число приведено в материалах AMD — наверняка вручную подсчитывали), что более чем наполовину превышает количество транзисторов в предыдущем топовом графическом процессоре. Возможность сделать такой сложный кристалл дало применение новейшего 28-нанометрового техпроцесса, новый чип по площади даже чуть меньше размера Cayman. Но практически все характеристики, влияющие на производительность, заметно улучшены: количество ALU, TMU, шина памяти. Лишь число блоков ROP не выросло, и частота видеопамяти GDDR5 осталась на той же отметке. Благодаря увеличению количества исполнительных блоков, возросшей эффективности, а также повышенной тактовой частоте GPU, он должен значительно превосходить Cayman во всех применениях.
Принцип наименования видеокарт компании остался прежним, продолжив тенденцию предыдущей серии, у которой в топовых решениях поменялась вторая цифра индекса с 8 на 9. Radeon HD 7970 является наиболее производительным одночиповым решением компании, через некоторое время выйдет и младшая модель HD 7950, но анонсирована сегодня она не будет. Понятно, что HD 7970 с её то характеристиками просто не имеет конкурентов на рынке и пока что не заменяет какую-то видеокарту из линейки AMD (разве что HD 6990 можно сразу смело списывать), а скорее сдвигает её вниз. Что касается сравнения с конкурентом, то у Nvidia своё 28-нанометровое решение ещё не готово, и его придётся подождать ещё несколько месяцев. А пока что Geforce GTX 580 придётся отдуваться, пытаясь противостоять HD 7950, но явно не HD 7970.
На новую видеокарту AMD устанавливается всё та же память типа GDDR5 (хотя ходили слухи о якобы совершенно ином типе памяти компании Rambus, но представители AMD их даже не комментируют), но объём вместо 2 гигабайт в предыдущем поколении вырос до 3 гигабайт. Так получилось из-за расширения шины памяти с 256-битной до 384-битной. И теперь на новую плату можно поставить или 1,5 ГБ или 3 ГБ. Естественно, с маркетинговой точки зрения установка меньшего объёма была бы явным поражением, и было принято решение поставить 3 ГБ, хотя на сегодняшний день это явный перебор. Лишь в сверхвысоких разрешениях да с MSAA 16x не хватит 1,5-2 ГБ. Впрочем, у AMD есть и Eyefinity, а для игр на трёх-пяти-шести мониторах экранный буфер будет как раз занимать огромный объём. Возможно, младшую модель Radeon HD 7950 когда-нибудь и выпустят с 1,5 ГБ памяти, для удешевления, но точно не старшую.
Итак, рассмотрим Radeon HD 7970. Новая видеокарта верхнего ценового диапазона имеет двухслотовую систему охлаждения, закрытую привычным для всех современных плат AMD пластмассовым кожухом по всей длине карты. Лишь дизайн этого кожуха немного изменился, хотя задняя часть всё так же выходит за пределы печатной платы. А вот дизайн планки с выводами был изменён — для улучшения охлаждения видеокарты, один из двух слотов (половина планки) был занят исключительно вентиляционным отверстием для отвода тепла.
Но пользователи не должны пострадать от снижения количества разъёмов DVI, распаянных прямо на плате. Для их удобства в комплект поставки будет включен специальный переходник HDMI—DVI, который позволит подключить два монитора, имеющих DVI-разъёмы. К слову, энергопотребление новой карты не ниже, чем у Radeon HD 6970, поэтому на неё пришлось установить набор из одного 8-контактного и одного 6-контактного разъёмов питания.
Зато в новой Radeon HD 7970 в лучшую сторону изменилась система охлаждения. Применяется новое поколение испарительной камеры и новый кулер большего размера, с изменённой формой лопастей и увеличенной производительностью (обеспечивается больший поток воздуха). В результате отмечается увеличение эффективности кулера при одновременном снижении шума.
С платы никуда не делся и переключатель прошивок Dual BIOS, о котором мы писали в обзоре Radeon HD 6900. Вкратце: видеокарта имеет две версии BIOS, одна с возможностью пользовательской перепрошивки, а вторая — с жёстко зашитой на фабрике прошивкой. Это удобное решение настолько приглянулось и пользователям и самой AMD, что та решила продолжить им комплектовать топовые решения.
Можно только поприветствовать данное решение, которое реально помогает в различных случаях, связанных как с неожиданными проблемами при перепрошивке (выключение электроэнергии в процессе, например), так и позволяет бесстрашно проводить различные эксперименты с образами BIOS. Неудивительно, что AMD ещё и снова намекает на отличные возможности разгона новой видеокарты:
Как видите, практически обещается разгон до частоты 1 ГГц и выше, если не учитывать мелкой надписи (она не вошла в кадр, но существует) о том, что гарантия перестаёт действовать даже в том случае, если видеокарта вышла из строя в результате эксперимента с поднятием частоты из настроек видеодрайвера. Кстати, новый слайд интересно сравнить со страницей из презентации давно ушедшего с рынка Radeon HD 4890:
Просто поразительное сходство (по компоновке и дизайну слайда), не правда ли? К сожалению, с тех пор хоть и освоены новые техпроцессы, но злополучный гигагерц никак на даётся в финальных продуктах с референсными частотами. А ведь, казалось бы, тут и 28 нм и явно улучшенное охлаждение, но нет — снова немного, но не дотянули. С другой стороны, зато пользователю будет чем заняться на досуге.
Архитектурные особенности Radeon HD 7970
Чтобы оценить актуальность архитектурных модификаций в Southern Islands, сначала рассмотрим развитие GPU за прошедшие несколько лет (в представлении AMD). До 2002 года графические чипы представляли собой специфичное аппаратное обеспечение, способное исключительно для обработки графики. Видеочипы того времени имели ограниченную функциональность, они умели лишь накладывать и фильтровать текстуры, обрабатывать геометрию, заниматься примитивной растеризацией и поэтому совсем не подходили для универсальных вычислительных задач.
За следующие несколько лет к GPU была добавлена базовая программируемость, но ориентированная также исключительно на графические задачи. Это было время поддержки DirectX 8 и 9, ограниченных по функциональности шейдерных программ с возможностью расчётов и с плавающей запятой. Видеочипы того времени имели специализированные блоки ALU для вершинной и пиксельной обработки, а также выделенные кэши для пикселей, текстур и других данных. Универсальности всё ещё не было даже близко.
И лишь в 2007 году у компании AMD появилась унифицированная шейдерная архитектура DirectX 10, а также возможности программирования GPU при помощи специальных средств: CAL, Brook, ATI Stream. GPU того времени уже имели продвинутое кэширование и поддержку локальных и глобальных общих данных. Архитектурно чипы были основаны на блоках VLIW5 и VLIW4, достаточно гибких для некоторых базовых неграфических вычислений, но всё же ориентированных на графические алгоритмы.
А теперь настало время для новой архитектуры, ещё лучше подходящей для универсальных вычислений — Graphics Core Next (GCN). Для AMD это новая архитектурная эра, поэтому и название выбрано такое. Новые GPU предлагают отличные возможности и производительность по обработке графики, но сделанные архитектурные изменения предназначены, прежде всего, для улучшения позиций в неграфических вычислениях — увеличению производительности и эффективности в сложных универсальных задачах. Новый дизайн GPU предназначен для так называемых гетерогенных вычислений — смеси графических и универсальных в мультизадачной среде. Архитектура GCN стала гибче и должна ещё лучше подходить для энергоэффективного выполнения различных задач.
Базовым блоком в новой архитектуре является блок GCN. Именно на таких «кирпичиках» основаны все новые графические процессоры серии Southern Islands. Архитектура впервые для графических чипов компании AMD использует не VLIW-дизайн, в нём применяются векторные и скалярные блоки, и одним из самых важных изменений стало то, что каждый из вычислительных блоков GCN имеет свой планировщик и может выполнять инструкции из различных программ (kernel).
Новая вычислительная архитектура разработана для высокой эффективности загрузки вычислительных блоков в многозадачной среде. Вычислительный блок GCN разделён на четыре подраздела, каждый из которых работает над своим потоком команд каждый такт. Потоки могут использовать и скалярный блок, имеющийся в GCN, для управления потоком данных или операций над указателями. Комбинация векторных и скалярных блоков предлагает очень простую программную модель. Например, указатели на функции и стек (function pointers и stack pointers) программируются гораздо проще, да и задача компилятора теперь значительно упрощена, так как исполнительные блоки скалярные.
Каждый блок GCN имеет выделенное локальное хранилище данных для объёмом 64 КБ для обмена данными или расширения локального стека для регистров. Также блок имеет в своём составе и кэш-память первого уровня с возможностью чтения и записи, и полноценный текстурный конвейер (блоки выборки и фильтрации). Поэтому новый вычислительный блок способен работать самостоятельно, без центрального планировщика, который в предыдущих архитектурах отвечал за распределение работы по блокам. Теперь каждый из блоков GCN способен заниматься планированием и распределением команд сам, один вычислительный блок может исполнять до 32 разных потоков команд, которые могут быть из разных виртуальных адресных пространств в памяти и полностью защищены и независимы друг от друга.
Предыдущие архитектуры GPU компании AMD использовали архитектурные модели VLIW4 и VLIW5, и хотя они достаточно хороши для графических задач, но являются недостаточно эффективными для универсальных вычислений, так как загрузить все исполнительные блоки работой в таких условиях очень непросто. Новая архитектура GCN предлагает столь же большое количество исполнительных блоков, но при скалярном исполнении, которое убирает ограничения и зависимости регистров и инструкций. Переход от архитектуры VLIW к скалярному исполнению даёт заметное упрощение задач по оптимизации кода.
При исполнении инструкций на предыдущей VLIW4 архитектуре компилятору приходится заниматься решением конфликтов регистров, выполнять сложное распределение инструкций на исполнительные блоки на стадии компиляции кода и т. д. При этом для достижения высокой производительности зачастую требуется нетривиальная оптимизация, что подходит для большинства графических задач и гораздо менее гибко для других вычислений. Новая же архитектура предлагает значительное упрощение разработки и поддержки, упрощённое создание, анализ и отлов ошибок в низкоуровневом коде, стабильную и предсказуемую производительность.
Подсистема кэширования памяти
Пропускной способности и объёма памяти и кэшей никогда не бывает достаточно, и всегда есть необходимость и методы их увеличения. В новых GPU компании AMD применяется полноценная двухуровневая кэш-память с возможностью чтения и записи. Каждый вычислительный блок имеет по 16 килобайт кэша первого уровня, а общий объём кэша второго уровня составляет 768 килобайт (всего в чипе получается 512 КБ L1 и 768 КБ L2), что на 50% больше, чем в предыдущем чипе, вовсе не имеющем возможности записи в L2-кэш.
Что касается производительности, то каждый вычислительный блок GCN за один такт может получить или записать по 64 байта данных из/в L1-кэш или глобальную память, которая служит для обмена данными между потоками команд. Столько же данных способен передавать и принимать каждый раздел кэш-памяти второго уровня L2. В результате, для топового GPU компании получается 2 терабайт/с для L1 и 700 ГБ/с для L2, что на 50% больше, чем у предыдущего топового решения AMD.
Графический процессор «Tahiti»
После того, как мы рассмотрели низкоуровневые архитектурные изменения новой серии Southern Islands, самое время перейти к подробностям о самом мощном решении этой линейки — Radeon HD 7900, включающей в себя две модели. Прежде всего, отметим просто огромную сложность нового GPU, ведь он включает более чем 4,3 миллиарда транзисторов, что вдвое больше, чем было в чипе, на котором основан Radeon HD 5870! Естественно, что такой могучий чип стал возможен лишь благодаря применению нового техпроцесса 28 нм. Итак, что же у него есть внутри?
Количество геометрических блоков не изменилось, по сравнению с Cayman, их всё так же две штуки, но зато эффективность их работы значительно увеличена — мы остановимся на этом подробнее чуть позже. На схеме графического процессора мы видим 32 вычислительных блока архитектуры GCN, доступные на Radeon HD 7970, а в случае с младшим решением, некоторые из них будут отключены. Если считать пиковую вычислительную производительность решения, то она составляет почти 3,8 терафлопа (количество операций с плавающей запятой в секунду), что является абсолютным рекордом для GPU на сегодняшний день.
Каждый блок GCN имеет в своём составе по 16 текстурных блоков, что даёт итоговую цифру в 128 TMU на чип, или более чем 118 гигатекселей/сек — и это ещё один рекорд на сегодня, и он далеко не последний. А вот количество блоков ROP не изменилось, их всё так же 32 штуки в 8 укрупнённых блоках RBE. Ещё одно интересное архитектурное изменение — теперь блоки ROP «прикреплены» не к каналам памяти, как это было ранее, а к блокам GCN.
Хотя теоретически скорость записи во фреймбуфер почти не изменилась, и максимально возможны те же 32 значений цвета и 128 значений глубины за такт, практическая скорость заполнения (филлрейт) в реальных применениях значительно возросла из-за увеличенной пропускной способности памяти. По измерениям AMD, Cayman обеспечивал запись лишь 23 пикселей за такт, в то время как новый Tahiti приблизился к теоретическим 32 пикселям за такт.
Это и понятно, ведь новый видеочип компании AMD имеет 384-битную шину памяти — шесть 64-битных каналов, точно как и текущее топовое решение конкурента. Именно это полуторакратное увеличение ПСП и даёт возможность повысить реальную скорость текстурных выборок и записи во фреймбуфер. Пропускная способность в 264 ГБ/сек должна помочь выжимать близкие к теоретическим показатели в 118 гигатекселей/сек и 30 гигапикселей/сек, и в практической части мы это проверим.
Тесселяция и обработка геометрии
С архитектурной точки зрения, ничего особенного в геометрических блоках Tahiti со времен Cayman не изменилось. Используется всё так же по два блока для обработки (установка вершин и тесселяция) геометрических данных и растеризации, и схема весьма похожа на ту, что мы видели ранее, разве что тесселяторы названы аж 9-м поколением:
Несмотря на схематическое сходство, последнее поколение этих блоков способно на значительно большую производительность тесселяции и обработки геометрии, так как блоки подверглись значительным модификациям. Хотя пиковая производительность выросла лишь почти до двух миллиардов вершин и примитивов в секунду (925 МГц и две вершины а такт), реальная производительность выросла больше. Это было достигнуто при помощи увеличения объёма кэшей, улучшения буферизации геометрических данных и повторного использования вершинных данных.
В результате, производительность тесселяции улучшена при всех коэффициентах разбиения треугольников до четырёх раз, по сравнению с Radeon HD 6970 из предыдущего поколения. Но четыре раза достигаются не во всех случаях даже на диаграмме от самой AMD:
Диаграмма показывает сравнение производительности тесселяции Radeon HD 7970 по сравнению с HD 6970 при коэффициентах разбиения от 1 до 32. И, как вы видите, разница в производительности получилась от 1,7 до 4 раз. Но это — голая синтетика. И чтобы приблизиться к реальности, приведём ещё данные о скорости тесселяции уже в игровых приложениях:
Как видите, синтетические цифры AMD неплохо подкрепляются игровыми — производительность в реальных приложениях с «тяжёлой» тесселяцией значительно выросла. Это очень неплохой результат, который мы обязательно проверим в практической части, на примере синтетики и игровых приложений.
Неграфические вычисления
С точки зрения гетерогенных и неграфических вычислительных задач весьма важны появившиеся два асинхронных вычислительных движка (Asynchronous Compute Engines — ACE). Они предназначены для планирования и распределения работы между исполнительными блоками для эффективной многозадачности и работают вместе с графическим командным процессором (Command Processor).
Radeon HD 7900 имеет два независимых вычислительных движка и один графический. В сумме это даёт три программируемых блока и три потока команд, полностью отделённых друг от друга. А в дополнение к асинхронной подаче команд для быстрого переключения контекста, новый GPU также имеет два двунаправленных контроллера прямого доступа к памяти (DMA), появившиеся в Cayman. Эти два контроллера необходимы для того, чтобы полностью использовать возможности новой шины PCI Express 3.0.
Как мы знаем, с точки зрения серьёзных вычислений важна не только скорость выполнения операций с плавающей запятой с одинарной точностью, но и двойной (double precision floating point). И новая архитектура AMD весьма неплохо справляется с такой задачей. На данный момент предполагается существование двух версий вычислительных блоков GCN, имеющих разный темп исполнения FP64 инструкций. Для старшего GPU темп выполнения составляет 1/4 от скорости FP32, а для младших чипов выбран темп 1/16, что вполне достаточно для сохранения совместимости, но не слишком усложняет недорогие решения. В итоге, Radeon HD 7970 способен на 947 миллиардов операций двойной точности в секунду (эх, до терафлопа совсем же чуть-чуть не дотянули!) — налицо очередное высочайшее достижение нового чипа AMD.
Причём, это не те гигафлопы, что в случае предыдущих архитектур, а более «жирные». Ведь эффективность нового GPU в сложных вычислительных задачах должна серьёзно возрасти. Во-первых, улучшена подсистема памяти и кэширования. Во-вторых, каждый вычислительный блок GCN имеет свой планировщик, что должно улучшить исполнение ветвящегося кода и общую эффективность. Ну и в третьих отметим скалярное исполнение, не требующее сложных оптимизаций от компилятора, в результате чего вычислительные блоки будут гораздо реже простаивать. И в итоге в любых задачах новому чипу будет легче показать высокую производительность и загрузку ALU.
Из других нововведений, связанных с вычислительными возможностями, отметим полную поддержку ECC для DRAM и SRAM. С программной стороны важно, что Tahiti — это первый графический процессор с полной поддержкой новых версий API: OpenCL 1.2, DirectCompute 11.1 и C++ AMP и их возможностей. Например, OpenCL 1.2 позволяет объединять возможности нескольких вычислительных устройств в одно, и компания AMD уже выпустила соответствующую поддержку в виде AMD APP SDK 2.6 и драйвера Catalyst 11.12.
Производительность и эффективность архитектуры
После обзора всех архитектурных нововведений на примере топового чипа серии Southern Island настало время поговорить об эффективности всех этих изменений. Понятно, что производительность новых чипов гораздо выше, чем у предыдущих, обратное было бы весьма удивительно. Вопрос в том, насколько быстрее. В различных задачах получаются цифры от 40-50% (минимум!) до пятикратной разницы. Улучшения в архитектуре позволяют превысить теоретическую 1,4-кратную разницу по тупым гигафлопсам. Давайте рассмотрим это на примерах:
На диаграмме сравнивается новое топовое решение и предыдущее одночиповое: Radeon HD 7970 и HD 6970, что вполне справедливо. Тесты производительности выбраны различные: SmallptGPU и LuxMark — это рейтрейсинг на OpenCL, SHA256 — безопасный алгоритм хеширования, а AES256 — симметричный алгоритм шифрования. Ну а Mandelbrot — широко известная задача, рассчитанная с двойной точностью вычислений.
Вертикальной прерывистой линией на графике отмечена теоретическая разница в производительности, но данные о скорости показывают, что в трёх из пяти задач скорость нового GPU оказалась значительно выше. Это вызвано всеми изменениями, направленными на увеличение эффективности: уход от VLIW, наличие планировщика в каждом вычислительном блоке, улучшенное кэширование и т. п.
Изменения в качестве рендеринга
Собственно, эту часть вполне можно было бы и пропустить, так как к качеству изображения в последнее время особенных претензий уже нет и быть не может — по разным причинам. Например, качество полноэкранного сглаживания у видеокарт разных производителей весьма близкое, особенно учитывая широкое распространение программных методов сглаживания при помощи фильтров постобработки, выполняемых на всех GPU абсолютно одинаково.
То же самое касается и текстурной фильтрации — сейчас её качество таково, что отличить решения AMD и Nvidia весьма непросто даже если делать попиксельное сравнение. У Radeon HD 6900 — предыдущего поколения компании — анизотропная фильтрация улучшилась ещё немного, и теперь даже «микроскоп» не поможет найти там какие-то значительные недостатки. Единственное замечание в том, что в движении видеокарты Radeon немного уступали Geforce из-за более заметных специфических артефактов, вроде «шума» или «песочка».
С выходом видеочипов нового поколения веса текселей в текстурном фильтре пересмотрели ещё раз, модифицировав их так, чтобы снизить подобные артефакты, иногда видимые на Radeon HD 6900 при наличии текстур определённого вида («высокочастотных», с резкими переходами от тёмного к светлому, например). Изменения в качестве настолько трудно показать на примерах, что AMD не приводит сравнительные картинки HD 7900 против HD 6900, а просто сравнивает качество «аппаратного» алгоритма с чисто программным, выполняемым на потоковых процессорах GPU, а потому — идеальным:
На таком мелком скриншоте разницы в качестве не видно, но AMD уверяет, что все проведённые изменения не привнесли никакого падения производительности и ни в одном из аспектов не ухудшили качество картинки — оно всё так же не зависит от угла и качество фильтрации близко к идеальному. В одном из будущих практических материалов мы это обязательно проверим.
Частично резидентные текстуры (Partially Resident Textures)
Идея Partially Resident Textures (PRT) заключается в использовании аппаратной возможности представленного графического процессора — виртуальной памяти. Наверняка многие пользователи уже видели игру RAGE компании id Software, которая использует технологию виртуального текстурирования, так называемое мегатекстурирование («MegaTexture»), которое обеспечивает возможность использования огромных объёмов текстурных данных и подкачку (streaming) их в видеопамять.
Используя виртуальную видеопамять, очень легко получить эффективную аппаратную поддержку подобных алгоритмов, позволяющих применять в приложении до 32 терабайт текстур, что даёт возможность сделать уникальные локации в играх, без повторяющихся кусков текстур, при полном отсутствии проблем с подгрузкой текстурных данных. Правда, наглядный пример AMD приводит слишком странный, из которого ничего особо непонятно:
PRT позволяет добиться высокого качества картинки и помогает повысить эффективность использования видеопамяти. Подобные алгоритмы уже применяются в движке id Software, и ожидается их появление во многих движках следующего поколения. Игры будущего нуждаются в работе с огромными объёмами данных и преимущество нового GPU в том, что локальная графическая память в алгоритмах а-ля PRT работает как аппаратная кэш-память, и текстуры в неё подгружаются при необходимости. GPU семейства Southern Islands поддерживают «мегатекстуры» объёмом до 32 терабайт (разрешением до 16384×16384) и, что особенно важно, аппаратную текстурную фильтрацию для них, что недоступно на более ранних видеочипах.
Виртуальные текстуры разбиваются на куски размером 64 килобайта (именно килобайты, а не тексели) и этот размер куска фиксирован. И в локальную память видеокарты подгружаются только те из них, которые нужны при рендеринге текущего кадра. Технология работает независимо от текстурного формата, просто размеры кусков в текселях будут отличаться. Например, для обычной несжатой текстуры с 32 бит на цвет, размер куска будет 128×128 текселей, а для сжатой в DXT3-формат — 256×256 текселей.
Технология предполагает и использование мип-уровней текстур (уменьшенных копий, используемых при текстурной фильтрации). При рендеринге и фильтрации к ним требуется многократный доступ. Рассмотрим работу алгоритма на примере.
На этом рисунке выделены четыре разных куска из разных мип-уровней, требуемые при рендеринге. Когда шейдерная программа запрашивает данные из них, некоторые из кусков уже имеются в локальной памяти и эти данные сразу же отправляются в шейдер для дальнейших вычислений. Но некоторые куски отсутствуют в таблице, и приложение должно выбрать последующие действия при таком промахе. Например, можно запросить данные из мип-уровня меньшего разрешения, тогда изображение будет нечётким, но оно хотя бы будет похоже на правду и отрисуется без задержки. А к рендерингу следующего кадра оно уже может быть подгружено в кэш — локальную видеопамять. Игравшие в RAGE нас поймут.
Это — мощнейший алгоритм, позволяющий использовать огромные текстуры, уникальные для каждого из объектов. Аналогичные алгоритмы давно используются при оффлайн-рендеринге, за исключением необходимости расчётов в реальном времени. AMD даже сделала демо-программу, использующую технику наложения текстур Per-Face Texture Mapping, разработанную Walt Disney Animation Studios для их анимационных фильмов. К сожалению, демонстрационная программа ещё не готова, и мы видели лишь скриншоты низкого разрешения.
Суть данной техники наложения текстур в том, чтобы каждому полигону назначить определённый кусок текстуры, без необходимости использования UV-преобразования (нахождения соответствия между координатами поверхности трёхмерного объекта и координатами на двухмерной текстуре). Такой подход решает некоторые проблемы с созданием тесселированного контента, делая алгоритм смещения векторов (displacement mapping) очень простым. А PRT в этом методе используется для эффективного хранения и доступа к текстурных данным.
Инструкции по обработке медиаданных
Интересным нововведением в Southern Islands кажется поддержка специализированных инструкций, используемых при обработке изображений, статичных и динамических. Например, была улучшена широко используемая инструкция под названием «сумма абсолютных разностей», более известная как SAD (Sum of Absolute Differences). Скорость её исполнения — весьма критичное к производительности узкое место многих алгоритмов обработки изображений и видеоданных, вроде определения движения (motion detection), распознавания жестов (gesture recognition), поиска по изображениям, компьютерного зрения и многих других.
Но постойте, в обзоре древней видеокарты Radeon HD 5870 мы уже писали о поддержке SAD! Всё правильно, но теперь кроме обычного SAD (4×1) в Southern Islands появилась новая инструкция — QSAD (счетверённый SAD), объединяющая SAD с операторами сдвига для увеличения производительности и энергоэффективности, а также «маскируемая» инструкция MQSAD, игнорирующая пиксели заднего плана и используемая для изоляции движущихся в кадре объектов от фона.
Новые GPU могут обрабатывать до 256 пикселей на каждый вычислительный блок GCN за такт, что в случае модели AMD Radeon HD 7970 означает возможность обработки до 7,6 триллионов пикселей в секунду в случае 8-битных целочисленных значений цвета. Хотя это теоретическая цифра, возможности новых графических процессоров по обработке визуальных данных весьма впечатляют — многие задачи по обработке видео можно будет выполнять в режиме реального времени.
PCI Express 3.0
Не могли мы пройти и мимо поддержки третьей версии PCI Express всей линейкой новых графических решений Southern Islands, выпущенных сегодня и будущих. Эта поддержка была вполне ожидаемой, так как спецификации третьей версии PCI Express окончательно утвердили ещё осенью 2010 года, но аппаратных решений с её поддержкой до сих пор не было, хотя системные платы уже появляются, видеокарты выпущены сегодня, теперь дело за центральными процессорами.
Обновленный интерфейс обладает скоростью передачи 8 гигатранзакций в секунду вместо 5 ГТ/с для версии 2.0, и его пропускная способность ещё раз выросла вдвое (до 32 Гб/с), по сравнению со стандартом PCI Express 2.0. В новой шине применяется другая схема кодирования пересылаемых по шине данных, но совместимость с предыдущими версиями PCI Express была сохранена.
Первые системные платы с поддержкой PCI Express 3.0 были представлены летом 2011, в основном базе чипсета Intel Z68, а в широкой продаже они появились лишь осенью. Вот и видеокарты подоспели, и AMD по скорости выхода новых графических процессоров с поддержкой самых совершенных технологий снова стала впереди планеты всей. Будет ли от PCI-E 3.0 какой-то практический толк — судить слишком рано, но когда такая возможность появится, мы обязательно протестируем все возможные варианты.
Технология AMD PowerTune
Одним из самых интересных нововведений в Cayman была технология расширенного управления питанием PowerTune. Гибкое управление питанием GPU уже давно применялось, но до Radeon HD 6900 все эти технологий были довольно примитивными и в основном программными методами и изменяли частоту и напряжение ступенчато, не умея отключать большие части видеочипов.
Ещё в семействе Radeon HD 5000 появился ограничитель производительности при превышении определённого уровня потребления, а в Radeon HD 6900 система перешла на качественно иной уровень. Для этого в чип включили специальные датчики во все блоки, которые отслеживают параметры загрузки. Графический процессор постоянно измеряет нагрузку и энергопотребление и не позволяет последнему выйти за определённый порог, автоматически регулируя частоту и напряжение, чтобы параметры оставались в рамках указанного теплопакета.
В отличие от ранних технологий управления питанием, PowerTune обеспечивает прямой контроль над энергопотреблением GPU, в отличие от косвенного управления при помощи изменения частот и напряжений. Эта технология помогает установить высокие частоты GPU, получив высокую производительность в играх, и не бояться, что потребление может выйти за безопасные пределы. Ведь большинство игр и обычных приложений, использующих вычисления на GPU, предъявляют значительно менее высокие требования к питанию и не подходят к опасным пределам энергопотребления, в отличие от тестов стабильности, вроде Furmark и OCCT.
Даже самые тяжёлые игры не требуют максимального потребления энергии, и если ограничить потребление частотой, испытывая видеокарты экстремальными тестами, то в случае 3D-игр останется довольно много неиспользованных возможностей по производительности и питанию. В случае, когда видеокарта не достигла предела безопасного уровня потребления, GPU будет работать на выставленной на фабрике частоте, а в тестах FurMark и OCCT, частота GPU понизится, чтобы оставаться в рамках потребления.
Таким образом, PowerTune помогает выставить более высокие фабричные частоты и настроить систему на максимально эффективное использование ресурсов GPU при установленном максимальном уровне потребления. На показанном выше примере, HD 5870 не использует PowerTune и из-за ограничения частоты GPU высоким потреблением в тестах выносливости не использует все свои возможности. В то время как для Radeon HD 7970 установлен максимальный TDP, и видеочип сбрасывает частоты лишь при его превышении, получая максимально возможную производительность в любых приложениях.
Наглядно это показано на следующей диаграмме. В случае игровых приложений достижение TDP возможно при повышении частоты GPU, а для пиковых нагрузок тестами выносливости частота снижается до безопасного уровня энергопотребления. Без PowerTune пришлось бы выбирать — или получить вероятность выхода из строя видеокарты при длительной работе FurMark и OCCT, или урезать потенциально возможную производительность в играх. Новая технология решает эти вопросы максимально эффективно.
AMD PowerTune отличается быстрой отзывчивостью на изменение условий (микросекунды), так как это аппаратная технология. Также её отличает гибкая настройка частот, а не ступенчатая, как это было в предыдущих чипах. Все измерения не зависят от драйвера, но могут быть скорректированы пользователем при помощи настроек видеокарты.
Отличия PowerTune от общепринятого ранее подхода в том, что в других случаях используется защита от перегрева (thermal throttling), которая переводит графический процессор в режим значительно пониженного потребления, а PowerTune просто плавно снижает его частоту, приводя потребление GPU к установленному ограничителю. При этом достигаются более высокие тактовые частоты и производительность.
Технология AMD ZeroCore
Компания AMD не ограничилась применением уже известной по предыдущим решениям технологии управления питанием. В первых чипах семейства Southern Islands она представляет технологию AMD ZeroCore, которая помогает добиться ещё большей энергетической эффективности в режиме «глубокого простоя» (или «сна») с отключенным устройством отображения, который поддерживается всеми операционными системами.
Ведь практически любая система, даже игровая, большую часть времени проводит в режиме низкой нагрузки на графический процессор. И видеокарта не должна потреблять много энергии в таком режиме. И уж тем более не говоря о режиме с отключенным монитором — в этом случае GPU желательно вовсе отключить. Так в AMD и сделали. Благодаря ZeroCore, в состоянии глубокого простоя новый GPU потребляет менее 5% энергии полноценного режима, отключая большинство функциональных блоков в этом режиме.
AMD приводит схематическое сравнение со своей же Radeon HD 5870, которая поддержкой такой технологии не обладала. ZeroCore — эксклюзивное нововведение Southern Islands, пришедшее в настольные решения из мобильных GPU, предназначенных для ноутбуков. Кстати, преимущества этой технологии связаны не только со снижением потребления. Кроме этого, в режиме длительного простоя при отключении дисплея видеокарта ещё и полностью выключает вентилятор на кулере видеокарты!
Это именно то, чего давно ждали многие пользователи. Самое интересное, что по нашим данным, лабораторные испытания подобных PowerTune и ZeroCore решений проходили ещё несколько поколений видеокарт назад. Некоторые из инженерных сэмплов видеокарт давно ушедших с рынка серий компании AMD именно так и работали, полностью отключая кулер в простое.
Но не только пользователи систем с одной видеокартой получат бонус от снижения шума и потребления энергии с новыми видеокартами AMD с поддержкой ZeroCore. Аналогичные улучшения ожидают и счастливых владельцев CrossFire систем на базе двух, трёх и даже четырёх GPU. Логично ведь, что в режиме отрисовки двухмерного интерфейса операционной системы все видеокарты, кроме главной, не должны бы работать вовсе? Но ведь сейчас они работают именно так!
В случае же CrossFire систем на видеокартах с поддержкой ZeroCore в 2D-режиме все вторичные видеокарты погружены в глубокий сон с минимальным потреблением энергии и отключенным кулером. Такой режим работает и для нескольких одночиповых видеокарт и для двухчиповых решений. Кроме того, первичная видеокарта CrossFire также будет переходить в такой режим в случае длительного простоя, настроенного в Windows. Наглядно разница в работе выглядит так:
Кстати, технология не так проста, как может показаться. Инженерам AMD пришлось решить массу вопросов, связанных с работой операционной системы в режиме простоя. Например, они выяснили, что Windows пытается обновлять информацию на экране даже при отключенном мониторе. Что, естественно, не позволяет отключить GPU вовсе. Поэтому программистам компании пришлось пойти обходным путём, игнорируя все команды отрисовки экрана при отключенном мониторе в режиме сна.
Технология AMD Eyefinity 2.0
Естественно, что в новой архитектуре нашлось место и для улучшений проверенной технологии вывода изображения на несколько мониторов — AMD Eyefinity, теперь в версии 2.0. Она получила новые возможности, большие разрешения, поддержку большего количества дисплеев и расширение гибкости.
Эта технология довольно интересна, хотя крайне малое количество пользователей найдёт в комнате место и наберётся смелости перед семьёй для установки более чем двух мониторов. Но лучше иметь возможность, чтобы всегда смочь ей воспользоваться, чем не иметь её вовсе. Тем более, что цены на мониторы больших диагоналей почти не снижаются, а вот решения среднего уровня постоянно дешевеют.
И действительно, сейчас выгодне купить три монитора с диагональю экрана в 24″, чем один 30-дюймовый. AMD приводит именно такой пример, когда 30″ монитор с разрешением 2560×1600 стоит более $1000, а три 24″ FullHD можно купить за половину этой цены:
Но как тратить свои деньги и пространство в комнате — это личное дело каждого пользователя. Главное, что такая возможность есть. Плюс к этому, Eyefinity 2.0 теперь поддерживает вывод изображения и в стереорежиме HD3D — то, чего не хватало в предыдущих решениях, которые по этому параметру уступали конкурирующим. Объединившая технологии AMD Eyefinity и HD3D видеокарта Radeon HD 7970 является первым одночиповым решением с поддержкой трёх мониторов, работающих в стереорежиме.
Для стереорендеринга в высоком разрешении нужен очень быстрый интерфейс передачи данных. И с предыдущими версиями HDMI выходов, возможности были ограничены 24 Гц на каждый глаз, что вполне достаточно для просмотра кино на Blu-ray 3D, но для любителей игр явно слишком мало.
Для таких задач стали применять формат frame packing, когда кадры для левого и правого глаза объединяются в один, и AMD Radeon HD 7970 поддерживает формат HDMI 1.4a frame packing для вывода стереокартинки. Это первая видеокарта с поддержкой 3-гигагерцового HDMI с frame packing, когда на каждый глаз приходится FullHD картинка с частотой 60 Гц (120 Гц в итоге):
Ещё одной любопытной новинкой нам кажется технология многоканального вывода звука Discrete Digital Multi-Point Audio (DDMA), работающая вместе с Eyefinity. Все предыдущие GPU способны выводить по HDMI и DisplayPort лишь по одному аудиопотоку. То есть, даже если к ПК подключены по HDMI три монитора, находящиеся в разных комнатах, то звуковой канал передаётся лишь один. А вот AMD Radeon HD 7900 получил поддержку одновременного вывода сразу нескольких независимых аудиоканалов, что вполне может пригодиться в некоторых мультимониторных конфигурациях.
Эта же возможность будет весьма полезной для применения в сфере видеоконференций с выводом нескольких собеседников на отдельные экраны, а также многозадачного применения вроде игры на трёх мониторах с игровым аудиосопровождением и просмотром новостей на отдельном экране с независимым звуковым потоком. Ранее для всего этого приходилось применять несколько отдельных аудиосистем, а теперь всё работает максимально удобно.
Не забыта и программная поддержка Eyefinity, почти каждый месяц технология обновляется — появляются новые возможности. Так, ещё в октябре появилась поддержка разрешений вплоть до 16384×16384 и новые мультимониторные конфигурации: горизонтальные и вертикальные 5×1, а также на основе шести мониторов в режиме 3×2.
В декабрьском обновлении видеодрайвера AMD Catalyst стала возможной совместная работа Eyefinity и HD3D, а в феврале обещают поддержку пользовательских разрешений, настройки размещения панели задач и улучшения управления наборами настроек.
Вывод изображения на шесть мониторов может быть осуществлён при помощи двух портов DisplayPort 1.2 и двух концентраторов MST (о которых мы писали ранее), а три или даже четыре монитора потребуют лишь одного порта и соответствующего концентратора. Такие концентраторы позволяют гибко конфигурировать систему вывода изображения, они поддерживают до четырёх FullHD-устройств на один разъём DisplayPort 1.2 и должны появиться в продаже к лету 2012 года.
К слову о разрешении. Высоком разрешении или даже ультравысоком — Ultra High Resolution. Нынешние устройства с разрешением 4000 пикселей по большей стороне требуют подключения при помощи сразу нескольких кабелей: двух DP 1.1 или четырёх DVI. Мониторы такого разрешения следующего поколения будут подключаться лишь по одному кабелю: DP 1.2 HBR2 или HDMI 1.4a 3 ГГц. И новая видеокарта компании AMD уже готова к таким мониторам, снова она стала первой в мире.
Кодирование и декодирование видеоданных
Вполне естественно, что в состав AMD Radeon HD 7970 включён всё тот же блок UVD для декодирования видеоданных, появившийся ещё в предыдущем поколении видеочипов компании. Он просто не нуждается в доработках, поддерживая многопоточный кодек MVC, декодирование форматов MPEG-2/MPEG-4 (DivX), VC-1 и H.264, а также декодирование двух FullHD-потоков во всех поддерживаемых форматах.
Решения AMD обеспечивают максимальное качество декодирования видеопотока, используют несколько десятков специальных алгоритмов улучшения качества и обеспечивают максимальный результат в тестах качества вроде HQV. Среди поддерживаемых особенностей отметим: регулировку цвета и тона, шумоподавление, повышение резкости, качественное масштабирование, динамическую контрастность, продвинутый деинтерлейсинг, а также inverse telecine. Вот пример улучшения контрастности на лету:
Но с декодированием у всех видеочипов давно всё более-менее в порядке. Все новые GPU обеспечивают приличное качество и производительность при просмотре видеоданных. А вот кодирование видео на GPU всё ещё пребывает в зачаточной стадии и основные претензии пользователей направлены на низкое качество получаемой сжатой картинки.
Возможно, новая серия Radeon HD 7000 сможет помочь и в этом, ведь все графические процессоры серии имеют в своём составе блок кодирования видео Video Codec Engine (VCE). Модель Radeon HD 7970 стала первой видеокартой с поддержкой аппаратно ускоренного кодирования и сжатия видео при помощи специализированного блока (ранее в кодировании принимали участие потоковые процессоры).
Качество и производительность должно быть явно лучше, чем раньше, поддерживается кодирование в формат 1080p при 60 кадрах в секунду, причём даже быстрее, чем в реальном времени. Про качество сказать без тестов что-то сложно, но нам обещаны разные уровни оптимизации кодера для видеоданных и игр, а также изменяемое качество сжатия (возможность выбирать между повышением качества или производительности).
Пока что опробовать VCE негде — приложений с его поддержкой просто нет, но компания AMD работает с партнёрами, такими как ArcSoft, для обеспечения поддержки VCE в соответствующих программных продуктах. В будущем планируется выпуск программной библиотеки для ускорения кодирования видеоданных, которая облегчит задачу разработчиков по поддержке продукции AMD нового поколения.
Кодирование может производиться в двух режимах: полное и гибридное (с использованием возможностей потоковых процессоров GPU). Полный режим разработан для задач, которые требуют максимальной энергоэффективности и постоянного уровня производительности. Кодирование в полном режиме на VCE быстрее реального времени и обеспечивает низкие задержки. Но есть и гибридный режим:
В таком режиме вместе с VCE работают и математические блоки GPU. Все хорошо распараллеливающиеся стадии, которые обведены жёлтой линией на схеме, могут использовать мощь вычислительных блоков GCN, а выделенный блок VCE занимается эффективным аппаратным энтропийным кодированием. Такой режим хорошо подходит для видеокарт с большой математической мощью, вроде Radeon HD 7970. Остаются вопрос к качеству этих двух режимов, но это требует тщательного анализа в отдельном материале.
AMD Steady Video
Кроме кодирования и декодирования видеоданных, есть и ещё одна область применения мощи новой графики от компании AMD — улучшение видеороликов плохого качества, снятых с рук, без использования штатива и других аналогичных средств стабилизации изображения. Технология стабилизации видео называется AMD Steady Video, и уже выпущена её вторая версия.
Алгоритм работы программного стабилизатора довольно прост: на основе видеопотока собирается статистика о движении камеры (сдвиг, вращение, приближение) и это движение компенсируется в текущем кадре, относительно предыдущих — изображение сдвигается, поворачивается и масштабируется так, чтобы картинка сильно не прыгала и оставалась стабильной.
Насколько это просто на словах, настолько же сложно в реализации. Просто потому, что пикселей на экране два миллиона, а кадров в секунду до 30 или даже 60. Представьте, сколько вычислений нужно проделать, чтобы отследить все возможные смещения кадра. Мы уже писали выше о функции QSAD, применяемой в видеообработке, как раз она используется и в Steady Video 2.0 для ускорения алгоритма определения движения. Так вот GPU должен обрабатывать случайные сдвиги с амплитудой до 32 пикселей в любом направлении и для этого требуется производительность, соответствующая более чем 500 млрд. операций SAD в секунду (для 1920×1080 при 60 FPS).
За счёт поддержки новых инструкций QSAD в представленном сегодня Radeon HD 7970, его преимущество над мощными CPU в алгоритме motion detection превышает 10x! То есть, качественное видео нам теперь будет обеспечено, причём не только при обработке домашних роликов в видеоредакторах, но и просмотре чужих онлайновых видеороликов, снятых неизвестно чем и неизвестно как. Ну хотя бы трястись всё теперь так не будет…
Программная поддержка
Читатели давно нас спрашивают — когда ж польза от неграфических вычислений на GPU наконец-то достигнет обычных пользователей? Ведь кодированием видео занимаются далеко не все, а вот со сжатием и архивированием любых типов данных сталкивается практически каждый и довольно часто. Что же, у нас есть хорошая новость не только для энтузиастов 3D-графики, но и для нормальных людей — поддержка чипов AMD Fusion и Radeon появилась в широко известном архиваторе WinZip 16.5.
Это приложение известно давно и хотя лучшие его годы позади и уже придуманы более мощные методы сжатия, формат ZIP остаётся одним из наиболее распространённых и быстрых для архивации и сжатия различных типов данных. И теперь он станет ещё быстрее!
Работая в сотрудничестве с AMD, разработчики WinZip смогли ускорить движок этого пакета, используя возможности GPU при помощи OpenCL. Естественно, на GPU пока что ускоряется не всё, но сжатие в формат Deflate (комбинация алгоритмов LZ77 и Хаффмана), декомпрессия Inflate и AES-шифрование получат преимущества от исполнения на потоковых процессорах GPU. Интересно, что OpenCL позволяет даже распределять нагрузку между CPU и GPU, используя оба устройства.
Но топовые видеокарты вроде Radeon HD 7970 предназначены скорее для игровых приложений. Самых современных и работающих на максимальных настройках. Команда программистов AMD находится в постоянном контакте с множеством игровых разработчиков, помогая им внедрять современные технологии, поддерживаемые графическими процессорами компании. AMD всегда поддерживала игровую ПК индустрию, так как они напрямую заинтересованы в её процветании. Так, в 2010 году на игры было потрачено 16,2 миллиарда долларов, а на игровое аппаратное обеспечение для ПК покупатели потратили $16,6 млрд (по оценкам аналитиков, в текущем году цифра вырастет до $22 млрд.). Понятно, что AMD хочет получить часть этих денег.
В наступающем году ожидается большое количество интересных игр, которые выйдут на ПК. Среди таких проектов, к созданию которых AMD приложила руку и которые выйдут в первом полугодии, можно отметить: Blacklight: Retribution, Syndicate, Sniper Elite 2, Max Payne 3, Hitman: Absolution и другие. Но ждать следующего года не обязательно, совсем недавно вышло первое дополнение популярнейшей игры — Battlefield 3: Back to Karkand. Движок там используется всё тот же Frostbite 2, но дополнение Back to Karkand отличается улучшенной разрушаемостью уровней и включает четыре переработанные многопользовательские карты из Battlefield 2, новые транспортные средства, оружие и др. Скриншоты смотрятся просто замечательно:
Чтобы статья была максимально полной, упомянем и основное нововведение AMD Catalyst 12.1 — пользовательские профили для 3D-приложений, позволяющие изменять базовые настройки качества и установки CrossFire отдельно для каждой программы (наконец-то AMD догнала конкурентов):
Ну и чтобы дать закипающим мозгам наших читателей отдых от столь скурпулёзного описания возможностей нового продукта компании AMD, мы наконец-то покажем что-то развлекательное — скриншот из демонстрационной программы, сделанной компанией к анонсу первых решений из семейства Southern Islands. Демка называется «Leo» и показывает забавную сказочную сценку с применением современных графических технологий:
После того, как мы познакомились с теоретическими аспектами новой архитектуры, а также характеристиками и функциональными возможностями Radeon HD 7970, самое время обратиться к практике. Следующая часть материала посвящена практическому исследованию скорости рендеринга новой видеокарты AMD в чисто синтетических тестах. В ней мы определим, как производительность первого решения семейства Southern Islands соотносится со скоростью предыдущих решений компании AMD, а также конкурирующих видеокарт компании Nvidia из верхнего ценового диапазона.
AMD Radeon HD 7970 — Часть 2: видеоплата и синтетические тесты →