Lucid HYDRA — совместная работа двух GPU разных производителей
Компания Lucid практически неизвестна большинству пользователей, так же как и ее единственный бренд — LucidLogix. Однако в последнее время в Глобальной сети всё чаще появляются материалы со ссылками на эту небольшую компанию. Lucid не имеет собственных производственных мощностей, а основным направлением ее работы является разработка чипов. В ее активе порядка 50 различных патентов и поддержка со стороны нескольких известных инвесторов, включая Intel Capital. В этой статье мы рассмотрим технологию компании Lucid под названием HYDRA Engine. Отметим, что данная технология является попыткой осуществить прорыв в области работы нескольких видеокарт на современных пользовательских ПК и предполагает совместное применение видеокарт, основанных на различных графических чипах (AMD и NVIDIA).
Более двух лет назад, в 2008 году, компания Lucid представила прототип своей микросхемы под названием HYDRA 100, изготовленной по 130-нанометровому технологическому процессу. В состав чипа HYDRA Engine входят небольшой RISC-процессор и блок логики, который реализует алгоритм распределения задач между графическими процессорами. Главной особенностью этой и последующих моделей является возможность совместной работы нескольких графических чипов, при этом общая производительность графической подсистемы компьютера будет расти пропорционально производительности добавленного в компьютер графического процессора. Особо стоит отметить, что, в отличие от решений, предлагаемых двумя основными производителями графичес-ких чипов, — CrossFire и SLI, при применении HYDRA 100 можно использовать связку любых видеокарт на базе любых графических чипов. Такой эффект достигается благодаря тому, что чип Hydra 100 — программно-аппаратное решение, тогда как технологии CrossFire и SLI реализованы с помощью программных алгоритмов, применяющихся в драйверах производителей. Основной идеей технологии Lucid HYDRA является перехват команд API Microsoft DirectX и OpenGL, поступающих от центрального процессора, с последующим их разделением в чипе HYDRA для обработки всеми доступными графическими процессорами (от двух до четырех).
В 2009 году компания Lucid объявила о выпуске обновленного чипа под названием HYDRA 200. Новый чип изготавливается по нормам технологического процесса 65 нм, имеет большую производительность и меньшее энергопотребление. Микросхема LT24102 на данный момент является топовым процессором Lucid и совместима с интерфейсом PCI Express 2.0 с заявленным тепловыделением до 5,5 Вт. Процессор поддерживает 48 линий PCIe, что позволяет подключить до трех видеокарт со скоростью x16 или до четырех со скоростью x8. Последняя версия этой модели имеет встроенный 300-МГц процессор RISC с кэшем объемом 64 Кбайт для инструкций и 32 Кбайт для данных.
Новая модель микросхемы поддерживает объединение чипов от NVIDIA и AMD в конфигурацию из двух, трех или четырех видеокарт. Обновленная версия поддерживает современный стандарт PCI Express 2.0, может эффективно работать практически с любыми процессорными чипсетами, а также совместима с последними версиями API DirectX 9.0c, DirectX 10.1 и DirectX 11 и полностью отвечает всем требованиям современных операционных систем Windows Vista и Windows 7.
Технология Lucid HYDRA предоставляет три новых режима работы нескольких видеокарт. Режим N-mode предполагает работу нескольких видеокарт на базе графических чипов NVIDIA, при этом модели не имеют значения. Отметим, что технология SLI обеспечивает работу нескольких видеокарт NVIDIA только одной линейки. Режим A-mode предполагает совместную работу нескольких видеокарт на базе графических чипов AMD. Режим X-mode является самым интересным для пользователей, поскольку дает возможность объединить видеокарты на базе графических процессоров разных производителей.
Рассмотрим режимы работы технологий CrossFire и SLI и их отличия при обработке кадров, поскольку есть весомые причины, по которым компании AMD и NVIDIA используют в конфигурациях с несколькими графическими процессорами видеокарты с близкими характеристиками производительности.
Технология CrossFire компании AMD поддерживает три режима вывода картинки игры или другого 3D-приложения на монитор с помощью нескольких видеокарт. Режим AFR (Alternate Frame Rendering) предполагает режим работы видеокарты, когда каждый графический чип отвечает за четные или нечетные кадры. Таким образом, на одной видеокарте формируется четный кадр, а на другой — нечетный, для пользователя же они выводятся по порядку. Режим Supertiling предполагает разделение экрана на квадраты 32x32 пиксела, которые попеременно обрабатываются и выводятся каждой видеокартой в связке. Режим Scissor основан на разделении каждого кадра на две равные части, каждая из которых обрабатывается и выводится отдельной видеокартой. Компания AMD утверждает, что последний режим оптимален для игр и приложений, использующих API OpenGL. Для остальных игр, применяющих API DirectX, компания AMD рекомендует использовать режим AFR, поскольку большинство игр оптимизировано именно под него.
Главный конкурент AMD — компания NVIDIA — предлагает два режима производительности для технологии SLI. Оба они практически соответствуют режимам AFR и Scissor, единственное отличие заключается в том, что последний режим называется у NVIDIA по-другому — Split-Frame. Как и у AMD, этот режим не такой эффективный, как AFR, и поэтому практически не используется.
Проблема при реализации режимов вывода половинчатого кадра — Split-Frame и Scissor — кроется в том, что каждому из графических чипов приходится хранить в памяти полноценный кадр, а не его часть. Соответственно при применении этих режимов существенно возрастает нагрузка на графическую память, а значит, ограничивается ее пропускная способность. В результате в большинстве случаев при использовании нескольких графических чипов режим AFR применяется чаще всего. При этом для рендеринга картинки на двух видеокартах оптимальным будет использование двух одинаковых графических адаптеров, которые будут делить между собой четные и нечетные кадры. И даже если видеокарты будут идентичными и основанными на одном графическом ядре, в этом режиме может получиться так, что следующий кадр будет выводиться на миллисекунды дольше, чем предыдущий, что вызовет подергивание картинки на экране монитора.
Компания Lucid поставила перед собой задачу примирить видеокарты с разной производительностью, заставить их работать в одной системе и устранить потребность в дополнительных контактных соединениях между ними. Для того чтобы воплотить эту идею, Lucid в своей микросхеме реализовала перехват вызовов API DirectX/OpenGL на пути следования от центрального процессора к рендерингу кадра на видеокарте. Чтобы балансировать нагрузку между двумя разными по производительности графическими чипами, Lucid разбила каждый кадр на несколько «задач рендеринга» (rendering tasks). В данном случае «задача» может представлять собой какойлибо участок кадра, 3D-объект или последовательность полигонов. Эти задачи распределяются между установленными видеокартами через драйверы производителей, которые и не подозревают о существовании программно-аппаратного решения Lucid HYDRA, поскольку чип HYDRA использует стандартный Device Driver Interface в Windows 7. Собранные видеокартами задачи возвращаются в промежуточный слой (кешсборки), где уже собирается полноценный кадр, после чего он отсылается на видеокарту с подключенным дисплеем как 2D-объект.
Для того чтобы эффективно сбалансировать нагрузку для различных видеокарт с разной производительностью, чип HYDRA использует механизм обратной связи, который оценивает производительность установленных видеокарт в реальном времени и соответствующим образом распределяет нагрузку между ними. То есть слабому графическому процессору отдаются задачи, не требующие высокой производительности, а мощному — более «тяжелые».
Нельзя не упомянуть и об ограничениях этой технологии. Как скорость эскадры кораблей равняется скорости самого тихоходного из них, так и в HYDRA поддержка инструкций DirectX 11 будет осуществляться только в случае использования двух поддерживающих их видеокарт. Если одна видеокарта не поддерживает API DirectX 11, то HYDRA не позволит применять DirectX 11 на объединенном графическом чипе. Это касается и технологии PhysX, которая доступна только для видеокарт NVIDIA. Также нельзя обойти вниманием и то, что режим, когда видеокарты AMD и NVIDIA работают одновременно, может быть установлен только при использовании операционной системы Windows 7, которая позволяет устанавливать несколько драйверов для видеокарт.
Поскольку Lucid HYDRA является программноаппаратным решением, пользователю необходимо поставить дополнительный драйвер Lucid, который позволит управлять этим чипом. При этом драйвер для HYDRA постоянно модифицируется, обновляясь с учетом правок, внесенных в оригинальные драйверы NVIDIA и AMD. Однако если та или иная игра не поддерживается драйвером HYDRA, работать она сможет лишь на одном графическом адаптере. То есть пользователю необходимо будет ждать обновления не только официальных драйверов видеокарты, но и драйвера Lucid.
Учитывая вышеописанные проблемы, лишь немногие производители системных плат уже представили решения с интегрированным чипом Lucid HYDRA. Единственным реальным прототипом с работающей версией этого чипа является системная плата MSI Big Bang Fuzion. И дело здесь отнюдь не в сложности установки подобного компонента, а в стоимости и окупаемости этой затеи. Средняя цена системной платы MSI Big Bang Fuzion (чипсет P55) составляет около 350 долл. За эти деньги можно приобрести системную плату на базе более мощного чипсета Intel X58. Необходимость установки нескольких графических плат также не вызывает энтузиазма у пользователей. За небольшой прирост производительности они вынуждены будут заплатить несоизмеримо высокую цену. При этом, несмотря на возможность балансировать нагрузку на видеокарты на лету, компания Lucid рекомендует использовать видеокарты с максимально близкими показателями производительности, чтобы получить большую производительность. При установке мощной видеокарты в сочетании с очень медленной моделью можно не получить желаемого результата. В целом микросхемы Lucid хотя и представляют собой инновационный продукт, но относятся к узкому сегменту рынка компьютерных комплектующих.