«Мир ПК»

Сегодня видеоплаты могут отрисовать гораздо больше, чем предлагают процессоры

В нынешнем году производители графических процессоров, компании nVidia и ATI, анонсировали применение новой функции графических процессоров — расчета «физики» виртуального мира. Традиционно эту задачу выполняют центральные процессоры, но в последнее время они не в силах угнаться за мощностями видеоплат.

Система с тремя видеоплатами: две работают в режиме Crossfire и еще одна как физический ускоритель

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

Как это нередко бывает в ИТ-индустрии, новый подход изобрела малоизвестная маленькая компания Ageia. В марте 2006 года на конференции разработчиков игр Game Development Conference представители компании анонсировали плату с PPU (physics processing unit), т. е. «физическим процессором» или ускорителем физики. Такая плата умеет рассчитывать взаимодействие большого количества частиц; раньше эту работу выполнял центральный процессор. Вследствие большого числа параллельно работающих вычислительных блоков физический процессор выполняет ее эффективнее центрального процессора традиционной архитектуры. По крайней мере, по замыслу компании Ageia.

Мимо монстров не пройти

Конечно, лидеры индустрии видео?плат не стали спокойно наблюдать за вторжением в сферу их безусловного влияния. На той же самой конференции компания nVidia продемонстрировала работу видеоплат в качестве ускорителей физики. Архитектура современных видеоплат, как и специализированные процессоры Ageia, рассчитана на масштабные параллельные вычисления и отлично подходит для таких расчетов, как взаимодействие большого числа частиц. Несколько позже, на выставке Computex компания ATI продемонстрировала работу видеоплат на своих графических процессорах в качестве ускорителей физики.

Кто победит в этой битве Давида и двух Голиафов? Конечно, можно было бы сразу похоронить Ageia, но вспомним, что, когда зарождался рынок графических ускорителей, «оседлать» его не смогли ни Matrox, ни S3 Graphics, и даже первый лидер нового рынка — компания 3Dfx — не удержалась в седле. (Не исключено, что новый сегмент физических процессоров станет не менее прибыльным, чем сегменты центральных процессоров и графических плат; так что дистрибьюторам комплектующих стоит обратить на него пристальное внимание.) Козыри Ageia — бесплатная библиотека API (так называемый «движок» игры) для разработчиков, готовый коммерческий продукт — ускоритель PhysX стоимостью около 300 долл. (также выпускается компанией ASUSTek под тем же названием) и уже появившиеся игры с поддержкой данной платы. Самый большой недостаток — тот самый «движок»: не каждый производитель согласится осваивать новую библиотеку. Как утверждают в Ageia, сейчас 60 компаний-разработчиков создают на ней более ста игр. Время покажет, насколько они окажутся востребованными.

Кроме того, пока не ясно, насколько производительным окажется загадочный ускоритель физики компании Ageia: неизвестна не только его архитектура, но даже частота. При этом память имеет довольно скромную емкость в 128 Мбайт и всего лишь 128-разрядную шину.

Внешние факторы

Что еще может повлиять на рождение сегмента ускорителей физики? К примеру, выход процессоров Core 2 Duo показал, что производители центральных процессоров тоже не разучились резко повышать быстродействие своих продуктов. Но, скорее всего, эту нишу с легкостью поглотят видеоплаты на базе новых графических процессоров.

Для ATI неожиданным препятствием может стать ее покупка корпорацией AMD. Но сделка будет оформлена только в конце текущего года, да и не станут в AMD резать курицу, несущую золотые яйца. Напротив, ожидается, что в платформе 4х4 (ее выход намечен на конец этого года) будет предусмотрен вариант, в котором графический процессор займет второй разъем или гнездо расширения, соединенное с процессорами выделенной шиной. Такая архитектура существенно расширит возможности использования графических процессоров в качестве ускорителей физики. 


Перспективы технологии

Где пригодятся ускорители физики? Игры и кино — это только первый, очевидный шаг. Не прочь получить их и специалисты, работающие с инженерными и научными приложениями. Применение PPU позволит снять с центральных процессоров нагрузку по обсчету столкновений частиц, а это довольно большая часть работы. Конечно, лениться центральному процессору никто не даст, на них останутся многие другие операции, в том числе обработка большого количества движений и трансформаций объектов.

Главное достоинство ускорителей физики применительно к компьютерным играм — возможность точно просчитать те действия, которые раньше приходилось заменять заранее запрограммированной картинкой. Даже в современных играх картинки взрывов похожи одна на другую. При этом центральные процессоры могут в реальном времени просчитывать взаимодействие порядка сотни объектов, а физические процессоры — десятков тысяч. Поэтому и взрывы станут более реалистичными, и при этом один будет отличаться от другого. Кроме взрывов это позволит лучше отображать волосы, касание персонажей тканей, погружение в туман и т. д. Появится возможность создавать более реалистичные сцены: будет видно, за какой шторой притаился враг, а в тумане будут видны не просто тени, но и завихрения от пробегающих солдат.

Однако не все так безоблачно. На данном этапе выглядит проблематичной передача данных от физических процессоров к центральному: PhysX использует морально устаревшую PCI-шину, а в случае с видеоплатами первое время придется ограничиться шиной PCI Express x1. Действительно, использование видео?платы в качестве ускорителя физики требует применения в системе второй видеоплаты для формирования изображения. Если используются всего две видео?платы, то ускоритель физики работает на быстрой шине PCI Express x16, а если пользователь добавит к двум работающим в режиме CrossFire платам еще и третью, то ей останутся только разъемы PCI Express x1. Впрочем, если такие решения станут популярными, то и платы под них найдутся: уже сейчас Intel выпускает системную плату D975XBX с тремя разъемами х16. В случае применения физических ускорителей в научных приложениях самой острой проблемой станет задержка при передаче данных от физического ускорителя к центральному процессору, который будет сводить данные воедино. Возможным решением станет применение PPU на выделенных быстрых шинах (в частности, Hyper-Transport).