Введение
Расчёт 3D-графики относится к типу задач, которые хорошо распараллеливаются. Параллелизм можно найти как на уровне самих данных (вектор из 4 компонентов), так и на уровне инструкций, которые обрабатывают эти данные. Производители GPU прекрасно это понимают, поэтому параллелизм является базовым принципом (собственно, в этом плане графические и центральные процессоры заметно отличаются), на основе которого создаются 3D-чипы.
Следовательно, увеличение параллелизма является оптимальным способом повысить производительность GPU. Можно говорить о геометрических блоках, пиксельных конвейерах или потоковых процессорах, но история эволюции производительности видеокарт тесно связана с числом упомянутых блоков. Единственным ограничением является физический размер кристалла, увеличение которого приводит к повышению издержек производства (меньший выход годных чипов). В конечном итоге, оптимизация техпроцесса позволяет увеличить квоту на число транзисторов, которые может вмещать GPU (площадь кристалла, кстати, меняется мало), и повысить число вычислительных блоков.
Чтобы преодолеть упомянутое ограничение, компании, производящие 3D-чипы, приняли на вооружение идею использовать несколько графических процессоров. Опять же, данный подход оказался выгодным для мира GPU, поскольку задачи можно легко распараллелить и привязать к конкретным чипам, ограничив при этом число обменов данными между разными GPU, что намного сложнее сделать для нескольких центральных процессоров (CPU). Таким путём была создана Infinite Reality от Silicon Graphics - система очень гибко настраивается, а разные части графического конвейера находятся на отдельных картах: геометрический движок (Geometry Engine), растровый менеджер (Raster Manager), генератор дисплея (Display Generator).
Геометрический движок (Geometry Engine). Нажмите на картинку для увеличения.
Растровый менеджер (Raster Manager). Нажмите на картинку для увеличения.
Генератор дисплея (Display Generator). Нажмите на картинку для увеличения.
Систему можно настроить в разных конфигурациях, можно даже добавлять карты, чтобы повысить производительность рабочей станции. Схема растеризации сложная и нацелена на баланс нагрузки как между 80 графическими движками в каждом растровом менеджере (Raster Manager), так и между разными менеджерами. Для этого система построена на тайлах (мозаичных элементах), размер которых меняется в зависимости от числа растровых менеджеров
Истоки
Ещё одна компания с долгой историей, ныне уже не существующая 3dfx, реализовала подобный принцип на массовом рынке с выпуском второго поколения чипов Voodoo 2, которые можно было объединять через SLI (Scan Line Interleave). Счастливые обладатели двух видеокарт могли устанавливать их совместно в систему (рядом с первой видеокартой, в результате чего видеоподсистема могла занимать до трёх слотов PCI), чтобы получить удвоение скорости заполнения. Как видно по названию технологии, рендеринг выполняется чересстрочно, то есть первая видеокарта занимается растеризацией чётных строчек, а вторая - нечётных. Некоторые производители, например, Quantum 3D, смогли интегрировать два чипа Voodoo на одну карту, что позволило продвигать технологию 3dfx ещё дальше. А после интеграции двух чипов Voodoo 2 на одну карту, видеокарты можно было связывать уже в четвёрки.
Quantum 3D Mercury. На этом "монстре" 3dfx провела демонстрацию T-Buffer. Нажмите на картинку для увеличения.
С появлением AGP решения на нескольких видеокартах стали невозможны, поэтому производители, с той или иной долей успеха, пошли путём интеграции нескольких GPU на одну видеокарту. Среди таких попыток можно отметить видеокарту ATI Rage Fury MAXX, которая так и не стала успешной. Мы храним Voodoo 5 5500 в качестве сувенира тех времён, который несёт оттенок грусти и сожаления, поскольку это была последняя видеокарта от 3dfx, а версия 6000, на самом деле, принадлежала уже Quantum 3D. Затем решения на нескольких GPU исчезли с рынка ПК, найдя своё применение в других сферах. Прежде всего, в сегменте профессиональных систем, когда карты, например, от Evans&Sutherland, используют несколько чипов R300. Silicon Graphics решила отказаться от разработки собственных чипов, перейдя на GPU от ATI.
Rage Fury MAXX. Нажмите на картинку для увеличения.
Voodoo 5 5500. Нажмите на картинку для увеличения.
Многочиповые решения использовались и в сегменте игровых автоматов, в качестве примера можно привести Naomi 2 от Sega, который был построен на двух PowerVR2, данные для которых готовил геометрический процессор Elan. Затем такие решения стали даже мощнее, чем на ПК, в частности, с появлением Volari V8 Duo... извините, 3DLabs Realizm 800, пусть даже эта карта была нацелена на профессиональный рынок. Наконец, все мы помним GeForce 7950GX2, которая оставила смешанные впечатления.
GeForce 7950GX2. Нажмите на картинку для увеличения.
Истории присуще повторяться, и теперь настала очередь AMD выпустить карту с несколькими GPU в надежде закрыть high-end сегмент рынка, который оставался открытым после падения Radeon HD 2900 XT, и обеспечить соотношение цена/производительность на уровне HD 3870. Среди всего прочего, перед производителем встала серьёзная проблема - отсутствие high-end чипа после объявления об откладывании R700 на... 2009 год! Пусть даже есть небольшая вероятность того, что мы увидим гипотетическую R690 в этом году, скорее всего, учитывая современное состояние производителя, он просто представит систему CrossFire на двух R680. Но что собой представляет эта R680?