AMD
сегодня можно назвать серьёзным игроком в сфере DirectX 11 - компания
стала лидером рынка, хотя раньше ей приходилось часто выступать в роли
догоняющей. Не так давно AMD уже дала нам поддержку DirectX 10.1. И
посмотрите, к каким последствиям привёл этот шаг.
Но сегодня
ситуация иная. AMD и nVidia согласны, что DirectX 11 - это как раз тот
API, который может изменить ситуацию на рынке. Конечно, всё это только
в будущем. Собственные планы AMD в сфере программного обеспечения
DirectX 11 упоминают три игры, которые сегодня поставляются с таковой
поддержкой, ещё три игры отложенные на Q1 и две игры, ожидаемые в 2010.
Впрочем, AMD сегодня всё равно находится впереди, а nVidia на этот раз
в роли догоняющего. Но в глобальной перспективе подобное распределение
ролей может сказаться и не так сильно (если вы относите себя к
энтузиастам, а не к владельцам акций).
Догнать и перегнать
Конечно,
главной движущей силой сегодня является линейка ATI Radeon HD 5800, и,
как выходит сегодня, её основное преимущество заключается в высокой
производительности в более распространённых играх DirectX 9 и DirectX
10, поддержке Eyefinity и хорошей работе с контентом (аудио/видео)
высокого разрешения.
И хотя данный предварительный обзор
графического процессора nVidia GF100 (первой модели, построенной по
архитектуре Fermi) наполнен деталями, описывающими компоненты чипа и
принципы работы архитектуры, мы пока можем только предполагать,
насколько хорошо GF100 покажет себя по сравнению с конкурентами.
Мы
знаем, что через технологию Nvidia Surround эта компания будет
поддерживать игры на нескольких мониторах (то есть числом больше двух).
Но у видеокарты будет использоваться только два выхода на карту,
поэтому для подключения трёх мониторов потребуется конфигурация SLI.
Получается, что подобная возможность обойдётся недёшево, особенно если
сравнить со схожей поддержкой на одной Radeon HD 5850.
Мы также
немало узнали о ресурсах, которые нацелены на поддержку игр в GF100.
Поэтому вполне разумно предположить, что видеокарта на основе GF100
будет существенно быстрее видеокарт на ATI Cypress. Nvidia также
призналась нам, что видеокарта будет более "прожорливой", чем GT200 -
графический процессор, который работает на моделях линейки GeForce GTX
200.
Что мы пока не знаем: когда видеокарты на основе GF100
появятся в продаже. Nvidia упоминает первый квартал; то есть нам стоит
подождать пару месяцев, если это обещание сбудется. Мы пока не знаем
тактовые частоты GF100, а также частоты памяти GDDR5. Все эти параметры
пока неизвестны, поэтому цены на планируемые флагманские видеокарты и
их производные тоже "подвешены в воздухе". А проблема поддержки аудио и
видео высокого разрешения на данном этапе не так и важна, учитывая
известное число транзисторов GPU и рассеиваемое тепло. Но Nvidia
упоминает о том, что GF100 оснащена такой же поддержкой функций
аудио/видео, что и GeForce GT 240. То есть вы получите ускорение
воспроизведения видео Blu-ray и восьмиканальный выход LPCM, но без
поддержки вывода закодированного звука (bitstream), что уже есть у ATI
и Intel.
Мы затронули некоторые темы, которые вызовут бурную
дискуссию: пока нет видеокарты, нет спецификаций, нет даже
предварительных характеристик производительности. Но GF100 будет
горячей видеокартой. Она не будет поддерживать передачу закодированных
потоков звука bitstream (на момент выхода, затем производные от других
производителей могут обзавестись такой поддержкой). И вам потребуются
две (вероятно, дорогие) видеокарты для подключения трёх дисплеев, хотя
AMD поддерживает эту функцию на одиночных видеокартах в линейке 5000.
Звучит
немного странно, однако недавнее раскрытие деталей новой архитектуры
GF100 со стороны nVidia оставило у нас впечатление, что компания
готовит более грандиозные планы для DirectX 11. Причём касается это не
только "железа", которое сейчас находится в производстве, но и
сторонних разработчиков, которых вооружают инструментами для создания
более привлекательного контента.
Конечно, частично это связано
с саморекламой - например, плагины PhysX для 3ds Max, Maya и Softimage
выпущены на рынок, чтобы увеличить список поддержки собственного API
компании. Но набор инструментов Nexus, интегрированный в Visual Studio,
поддерживает вызовы CUDA C (конечно), а также DirectX 10/11 и OpenGL.
Для непосвящённого игрока, который может и не знать, что стоит за
выводом популярной игры на рынок, важно просто знать, что усилия nVidia
обеспечат более эффективную разработку и более качественные эффекты на
экране. И поскольку DirectX 11 - весьма специфический API в том, каким
образом он диктует требования совместимости, nVidia уверена, что
отладка на видеокарте GF100 позволит разработчикам оптимизировать игру
и под "железо" DX11 от AMD.
Но достаточно прогнозов на будущее
- мы всё же написали эту статью, поскольку узнали несколько новых
фактов о том, что появится на рынке, когда GF100 выйдет в течение
следующих пары месяцев.
GF100: чип на основе Fermi
Противоположный подход к дизайну графических процессоров AMD и nVidia сохранится и в 2010 году.
У
первой компании используется стратегия "золотой середины", когда GPU с
разумным размером (если вы можете назвать чип с 2,15 млрд. транзисторов
"разумным") нацеливается на сегмент, который мы называем high-end
рынком, а производные от него закрывают сегменты ниже. Чтобы
удовлетворить более требовательных энтузиастов, компания выпускает
видеокарты с двумя GPU - примером в данном поколении можно считать
видеокарту Radeon HD 5970.
Между тем nVidia приготовила нам
нового "бегемота". Конечно, две компании оценивают число транзисторов
по-разному, но GF100 будет состоять из более чем трёх миллиардов
транзисторов - по сравнению с 1,4 миллиардами у GT200. Пока нет
достоверной информации по поводу того, как nVidia планирует реализовать
менее дорогие версии чипов на архитектуре Fermi - компания поделилась с
нами деталями только о конкретном high-end чипе - но, как вы увидите,
дизайн явно нацелен на модульность. Поэтому если вся линейка GeForce
GTX 200 использует один и тот же (дорогой) GPU, в данном случае есть
все шансы, что Nvidia будет вносить некоторые урезания для получения
low-end версий.
Как и в случае видеокарт линейки ATI Radeon HD
5000, Nvidia использует 40-нм техпроцесс TSMC, который на данный момент
достиг достаточного уровня выхода годных кристаллов, чтобы AMD
удовлетворила спрос на свои видеокарты. Интересно будет увидеть,
столкнётся ли nVidia с аналогичными неприятностями?
Учитывая
то, что nVidia упомянула высокое энергопотребление, вполне вероятно,
что видеокарты с двумя GPU, подобные GeForce GTX 295, уступят своё
место конфигурациям с двумя видеокартами в SLI. Впрочем, мы не считаем,
что nVidia требуется видеокарта с двумя установленными GPU GF100. Если
компания сможет достичь приблизительно двукратного прироста
производительности по сравнению с GeForce GTX 285 в современных играх
(а всё говорит об этом, учитывая улучшения в текстурировании и
сглаживании, мы должны получить сценарии, в которых GF100 обеспечит
прирост более 2x), видеокарта уже сможет достойно конкурировать с
Radeon HD 5970, используя всего один графический процессор.
Строительные блоки
Почему
же мы ожидаем, что GF100 обойдёт предшествующую модель со столь
существенным отрывом? Всё дело в сравнении архитектур. К счастью,
дизайн GF100 унаследован от GT200, который можно считать наследником
небезызвестного графического процессора G80/G92. Если вы уже знакомы с
дизайнами nVidia предыдущих поколений, то с пониманием GF100 проблем не
возникнет.
Фундаментальным строительным блоком остаётся
потоковый процессор, который теперь называется ядром CUDA. У GF100
используется 512 ядер CUDA против 240 у GT200. Поэтому при равных
тактовых частотах мы потенциально можем получить 2,13x прирост по
сравнению GeForce GTX 285, если нет других оптимизаций. Впрочем, nVidia
учитывала слабости GT200 при разработке GT100, и компания утверждает,
что смогла решить многие проблемы доработкой архитектуры. В реальности
nVidia утверждает, что мы увидим производительность в современных играх
в два раза выше, чем на GT200 с активным сглаживанием 8xAA.
GPC
GT200
поддерживает 10 так называемых кластеров обработки текстур (Texture
Processing Cluster, TPC), каждый из которых оснащён тремя потоковыми
мультипроцессорами (Streaming Multiprocessor), состоящими из восьми
потоковых процессоров и восьми блоков адресации/фильтрации текстур. В
данном случае ресурсы были организованы более элегантно, начиная от
движка растеризации с фиксированными функциями до четырёх потоковых
мультипроцессоров.
Логика графического процессора разделена на
кластеры графической обработки (Graphics Processing Cluster, GPC),
которые заменяют принцип TPC, интегрируя в себя функции, которые раньше
находились снаружи TPC. Сейчас GPC оснащён собственным движком
растеризации, к которому подключены до четырёх потоковых
мультипроцессоров (SM), причём каждый SM поддерживает 32 ядра CUDA и
четыре отдельных текстурных блока (помимо логики, которую nVidia
называет двумя блоками планирования/диспетчеризации и 64 кбайт
настраиваемой кэш-/общей памяти). GF100 в полной конфигурации состоит
из четырёх кластеров GPC.
Если
посчитать, то GT200 имеет больше текстурных блоков, чем GF100 (восемь
на TPC, до 10 TPC на GPU против четырёх блоков на SM, до 16 SM на GPU).
Впрочем, здесь акцент был сделан на повышение эффективности: каждый
текстурный блок вычисляет один адрес и запрашивает четыре сэмпла за
такт. В результате GF100 достигает более высокой производительности в
реальных условиях, если верить Nvidia.
Диспетчеризация против GigaThread
Кластеры
GPC заполняются данными с помощью Nvidia GigaThread Engine. Под этим
громким названием скрывается планировщик GF100, отвечающий за рабочую
нагрузку 16 мультипроцессоров SM в чипе. Конечно, планировщик сам по
себе является важной инновацией архитектуры Fermi, поскольку он
способен создавать и планировать потоки параллельно, в отличие от
подхода "одно ядро в один момент времени", который использовался
раньше.
Конечно, движок GigaThread запрашивает данные из
кадрового буфера. На первый взгляд, шесть 64-битных контроллеров памяти
(в итоге 384 бита) дают более узкую шину памяти, чем восемь 64-битных
контроллеров GT200 (в итоге 512 битов). Впрочем, на этот раз nVidia
использует память GDDR5, которая приводит к серьёзному увеличению
пропускной способности, несмотря на менее сложный интерфейс. Если
предположить, что здесь будет использоваться память на 1200 МГц, как в
случае Radeon HD 5870, то видеокарта на основе GF100 сможет дать
пропускную способность 230,4 Гбайт/с против 153,6 Гбайт/с у Radeon.
Производительность ROP
"Задняя
часть" конвейера GF100 организована из шести блоков ROP, которые
способны выводить восемь 32-битных целочисленных пикселей одновременно.
Это выглядит весьма неплохо по сравнению с восемью блоками GT200,
которые были способны выводить четыре пикселя за такт. nVidia
поддерживает по одному 64-битному контроллеру памяти на блок, но общее
увеличение производительности составило с 32 пикселей за такт до 48
пикселей. Возможно, вы заметили в нашем обзоре Radeon HD 5870 улучшения
производительности сглаживания AMD по сравнению с предыдущими
поколениями. Между тем GeForce GTX 285 на GT200 испытывает более
сильное падение скорости после увеличения режима сглаживания.
Это
ещё одна область, в которой nVidia должна улучшить показатели GF100.
Если вы уже купили видеокарту, подобную ATI Radeon HD 5870, или вы
планируете взять модель на GF100, и при этом у вас один дисплей, то
лучше всего включить максимальные настройки детализации, чтобы в полной
мере задействовать мощные ресурсы GPU. В этом отношении GF100
поддерживает новый режим сглаживания 32x CSAA (coverage sampling
anti-aliasing), который на демонстрации nVidia устранял проблемы с
полосами на листве в Age of Conan. В результате этих оптимизаций nVidia
заявляет о падении производительности меньше 10% при переходе со
сглаживания 8x (мультисэмплинг) на 32x CSAA.
Зачем перестраивать GF100? Причина одна: геометрия
Успешные
архитектуры не переделывают просто для того, чтобы потешить публику.
Есть немало причин в решении nVidia оснастить каждый кластер GPC
собственным движком растеризации, а каждый мультипроцессор SM - так
называемым движком PolyMorph (нет, игроки WoW, вы не о том подумали).
Сначала
главное: движок PolyMorph состоит из пяти ступеней логики с
фиксированными функциями, которая работает совместно с остальной частью
мультипроцессора SM, чтобы запрашивать вершины, выполнять тесселяцию,
трансформацию области просмотра, настройку атрибутов и запись в память.
Между каждым этапом потоковый мультипроцессор SM обеспечивает функции
vertex/hull shading и domain/geometry shading. Из каждого движка
PolyMorph примитивы отсылаются на движок растеризации, каждый из
которых способен обрабатывать восемь пикселей на такт (в сумме 32
пикселя за такт по всему чипу).
Зачем нужно было разбивать
обработку геометрии на все эти этапы по сравнению с монолитной
"передней частью" конвейера, которая в прошлом работала замечательно? В
конце концов, не активировала ли AMD блоки тесселяции ещё в шестом
поколении своих GPU (помните TruForm в 2001)? Да, верно. Но сколько игр
с тех пор смогли получить преимущество от блоков тесселяции? В этом
суть.
Ещё
с дней архитектуры Nvidia GeForce 2 мы слышим о программируемых
пиксельных и вершинных шейдерах. Сегодня мы получили весьма
впечатляющие шейдеры, которые добавляют огромное количество деталей в
последние игры DirectX 9 и 10 (Nvidia заявляет о 150x увеличении
производительности шейдеров при переходе с линейки GeForce FX 5800 на
GT200). Но все мы видели не самую идеальную геометрию ландшафта,
которая полностью "хоронит" реализм наших любимых игр. Вероятно,
следующей планкой в поднятии реализма графики будет увеличение
детализации геометрии.
DirectX 11 реализует подобный шаг через
три новых этапа в конвейере рендеринга: шейдер корпуса (hull shader),
который вычисляет трансформации контрольных точек, тесселятор
(tessellator), который добавляет тесселяцию к шейдеру корпуса и выдаёт
доменные точки (domain points) и шейдер домена (domain shader), который
уже обрабатывает эти точки.
Но
чтобы получить производительность, которая бы позволяла эффективно
реализовывать тесселяцию, nVidia пришлось перейти с монолитной
"передней части" конвейера на более параллельный дизайн. Поэтому мы
получили четыре блока растеризации и 16 движков PolyMorph. Вполне
естественно, что у компании есть собственные демонстрации,
показывающие, насколько более эффективен дизайн GF100 по сравнению с
архитектурой Cypress, которая упирается в "узкий" монолитный дизайн.
Впрочем, мы бы всё же хотели сравнить производительность в таких играх,
как Aliens Vs. Predator от Rebellion Developments с включённой и
выключенной тесселяцией. В любом случае, nVidia заявляет о том, что
GF100 обеспечивает до 8x лучшую производительность, чем GT200 в
окружениях, упирающихся в геометрию.
Не просто вычислительная архитектура
До
объявления деталей о выходе GF100 мы уже немало слышали о том, что
компания воспринимает новинку как возможность изменить свою роль в
графике с акцентом на вычисления на GPU. Конечно, представители nVidia
первыми выразили опасения по поводу этого "мифа", но всё же компания
сама виновата за распространение подобного мнения.
Архитектура
Fermi была впервые объявлена на собственной конференции nVidia GPU
Technology Conference в конце сентября 2009 года, и в то время
обсуждались только характеристики дизайна, относящиеся к вычислениям.
Подобное объявление через неделю после выхода ATI Radeon HD 5870
произвело довольно сильный эффект, поскольку финальный продукт (по
слухам) должен был появиться не раньше, чем через квартал, а AMD уже
поставляла на рынок первые в мире видеокарты с поддержкой DirectX 11. В
любом случае, мы с интересом ознакомились с одним из первых детальных обзоров возможностей архитектуры Fermi.
Конечно,
сейчас nVidia пытается всех убедить, что она и не отходила от основной
идеи графической производительности. Архитектура GPC, с акцентом на
геометрии, а также полное соответствие DirectX 11 должны убедить всех
сомневающихся. Впрочем, беглый взгляд на GF100 всё равно показывает,
что компания пыталась достичь баланса между вычислениями и графикой,
включая такие намёки, как работу с числами с плавающей запятой двойной
точности или архитектуру кэша на чипе.
Каждый из 16 потоковых
мультипроцессоров SM поддерживает собственные 64 кбайт общей
памяти/кэша L1, которые могут быть сконфигурированы, например, как 16
кбайт общей памяти/48 кбайт кэша L1 или наоборот. У GT200
использовалось 16 кбайт общей памяти на мультипроцессор SM, чтобы
данные были как можно ближе, то есть чтобы минимизировать обращение к
кадровому буферу за информацией. Расширив этот массив памяти и сделав
его фактически динамически настраиваемым, nVidia решила одновременно и
проблемы графики, и вычислений. Например, в сценариях расчёта физики
или трассировки лучей у вас нет предсказуемого механизма адресации, так
что небольшая общая память/большой кэш L1 улучшают работу с памятью.
Это будет особенно заметно, когда разработчики начнут лучше
использовать преимущества DirectCompute в своих играх.
Сейчас
графический процессор обладает 768 кбайт кэша L2, который существенно
больше и функциональнее, чем 256 кбайт кэша GT200, использовавшегося
только для чтения текстур. Из-за унификации кэш L2 у GF100 заменяет кэш
текстур L2, кэш ROP и буферы FIFO чипа, поскольку любой клиент может
считывать информацию из кэша или записывать её в кэш. Это ещё одна
область, в которой nVidia явно нацелилась на повышение вычислительной
производительности. Впрочем, производительность в играх тоже должна
возрасти, поскольку мультипроцессоры SM при работе над одними и теми же
данными будут реже обращаться в память.
Конечно, верно, что
GF100 представляет собой серьёзный шаг вперёд в области того, что
сторонние разработчики смогут сделать в сфере вычислений. Катализатором
служит и то, что стандарты DirectCompute и OpenCL уже доступны, AMD
поддерживает оба API, а в будущем мы должны увидеть повышение реализма
игр через поддержку вычислений на GPU. Трассировка лучей (используемая
как по отдельности, так и вместе с растеризацией), рендеринг вокселей,
изменение глубины резкости, гидродинамика частиц и поиск пути AI - всё
это потенциальные сферы, в которых проявят себя вычисления на GPU.
Поддержка Surround
Мы
ещё помним времена, когда Matrox запускала свою видеокарту Parhelia.
Однослотовая видеокарта позволяла подключать до трёх дисплеев через
переходник. Как можно догадаться по названию, технология Surround
Gaming позволяла играть на трёх мониторах (GPU даже поддерживал
адаптивную тесселяцию полигонов - в 2002 году!) К сожалению, видеокарта
Parhelia была недостаточно быстрой, чтобы насладиться игрой даже на
одном мониторе, не говоря уже о трёх.
Выход ATI Radeon HD 5870
дал нам достаточно 3D-производительности даже в разрешении 2560x1600,
причём графическая мощь даже оставалась. Конечно, игра в разрешении
5760x1200 в режиме Eyefinity даёт существенную нагрузку на GPU Cypress,
но играть всё же можно - и даже с наслаждением!
nVidia
столкнулась со схожей ситуацией с GF100 - GPU должен обеспечивать
существенную графическую производительность. Включение GeForce 3D
Vision может задействовать часть бюджета производительности, поскольку
стереоскопический рендеринг уполовинивает частоту кадров. Но nVidia,
вне всякого сомнения, испытывает давление со стороны технологии
Eyefinity, причём открывается путь и весьма интересной реализации 3D
Vision Surround. Технология поддерживает дисплеи с разрешением до
1920x1080 и может выводить стереоскопический рендеринг до трёх
ЖК-мониторов 120 Гц. Конечно, добавление коррекции на рамку монитора
приводит к тому, что между дисплеями вы получаете невидимую область,
скрывающую часть пространства игры, но nVidia указывает, что это как
раз ближе по реалистичности к виду из окон кабины.
Если
вы не готовы потратить деньги на три 120-Гц дисплея, то nVidia
поддерживает и обычный режим Surround - та же самая технология на
тройке дисплеев с разрешением 2560x1600, очень похожая на Eyefinity. Но
есть и два существенных отличия. Первое: обе функции будут реализованы
в "будущем драйвере", который, как сообщают, должен появиться к тому
моменту, как на рынок выйдут видеокарты GF100 (причём будет
поддерживаться не только GPU GF100, но и видеокарты GT200 тоже смогут
выводить режим 3D Vision Surround). Второе: для конфигураций с тремя
дисплеями потребуется установка SLI, поскольку GPU GT200 и GF100
поддерживают выходы только на два монитора.
Преимущества: вы получите приличный потенциал производительности в играх, объединив три дисплея 1920x1080 (5760x1080) в стерео.
Недостатки:
при существующих ценах на GeForce GTX 285, вам придётся выложить за
видеокарты Nvidia Surround весьма приличную сумму, сопоставимую с одной
Radeon HD 5970. А если требуется поддержка стереоскопии, то следует
дождаться появления Acer G245 - сегодня вы будете, по большей части,
ограничены небольшими панелями 1680x1050 от ViewSonic и Samsung.
Заключение
nVidia
обещает, что мы должны увидеть видеокарты на основе GF100 в первом
квартале этого года - то есть в течение следующих двух месяцев или
через шесть месяцев после того, как AMD начала поставки своей
видеокарты Radeon HD 5870. Немалый срок для индустрии ИТ. Но если одна
GF100 хорошо покажет себя в современных играх и сможет конкурировать с
флагманом AMD Radeon HD 5970, то мы можем с уверенностью сказать, что
выпуск видеокарт DirectX 11 на полгода позднее вряд ли омрачит будущее
Nvidia, пусть даже сегодня компания получает немало критики.
Но
больше всего нас беспокоит то, что чип с тремя миллиардами транзисторов
вряд ли будет продаваться по доступным ценам. По крайней мере, пока мы
не увидим на рынке появление производных от него, видеокарты GF100
останутся эксклюзивом для тех геймеров, которые могут себе позволить
топовые видеокарты в линейке Radeon HD 5800.
Впрочем, если вы
ждёте новых событий на рынке high-end графики, то скоро будете
вознаграждены. Сложно не обсуждать представленные nVidia спецификации,
и они действительно впечатляют. Мы должны получить более чем двукратное
увеличение производительности в современных играх по сравнению с
GeForce GTX 285, а также невероятный потенциал в будущих играх
(благодаря архитектуре, оптимизированной под сложную геометрию, и GPU с
расширенной поддержкой вычислительных способностей). Так что GF100
может оказаться одним из революционных дизайнов nVidia.
Конечно,
мы не можем относиться к результатам nVidia с полным доверием. Все
результаты тестов, которые были нам представлены, были получены на
собственных компьютерах nVidia с видеокартами, чьи частоты не
объявлены. И в данном случае у нас есть только предварительные данные.
Да и видеокарты должны получиться дорогими, "прожорливыми" и горячими.
Мы по-прежнему не знаем точный срок выхода, ассортимент моделей на GPU
GF100 и цены.
Между тем AMD выпускает видеокарты DirectX 11 по
ценам от $99 до $649 (впрочем, вам придётся потратить не меньше $150,
чтобы получить нормальную производительность DirectX 11). Вы сразу же
получите поддержку Eyefinity, что весьма полезно и для погружения в
игры, и для плодотворной работы на нескольких мониторах. Да и новые
видеокарты AMD весьма хорошо вписываются в окружение домашнего
кинотеатра.
Время покажет
AMD последние месяцы
наслаждается своим лидирующим положением на рынке видеокарт, но
"зелёная" команда nVidia готовится к мощному и длительному рывку,
который обещает оказаться весьма впечатляющим, когда видеокарты GF100
начнут появляться на рынке. Скорее всего, видеокарты предоставят
геймерам собственные преимущества, добавят производительности в играх и
в вычислениях PhysX и CUDA, а также скорости в поддержке GeForce 3D
Vision. GF100 - весьма амбициозный проект, с этим не поспоришь. Но нам
нужно заполучить видеокарту в лабораторию, чтобы на практике оценить
усилия nVidia.