Блок обработки физики - Physics processing unit

А блок обработки физики (PPU) является специализированным микропроцессор предназначен для обработки расчетов физика, особенно в физический движок из видеоигры. Это пример аппаратное ускорение.

Примеры вычислений с участием PPU могут включать: динамика твердого тела, динамика мягкого тела, обнаружение столкновения, динамика жидкостей, волосы и моделирование одежды, анализ методом конечных элементов, и дробление объектов.

Идея состоит в том, что специализированные процессоры разгружают трудоемкие задачи с центрального процессора компьютера, во многом подобно тому, как GPU выполняет графические операции вместо основного процессора. Термин был придуман Ageia описать его PhysX чип. Несколько других технологий в спектре CPU-GPU имеют некоторые общие черты, хотя продукт Ageia был единственным полностью разработанным, продаваемым, поддерживаемым и размещенным в системе исключительно как PPU.

История

Ранний академический исследовательский проект PPU[1][2] под названием SPARTA (Моделирование физики в архитектуре реального времени) было проведено в Пенсильвании.[3] и Университет Джорджии. Это был простой FPGA основанный на PPU, который был ограничен двумя измерениями. Этот проект был расширен до значительно более продвинутого ASIC на базе системы под названием HELLAS.

В феврале 2006 г. был выпущен первый специализированный PPU. PhysX от Ageia (позже слился с nVidia ). Агрегат наиболее эффективен при разгоне системы частиц, с небольшим улучшением производительности для физики твердого тела.[4] ППУ Ageia подробно описано в их заявке на патент США № 20050075849.[5] Nvidia / Ageia больше не производит PPU и аппаратное ускорение для обработки физики, хотя теперь оно поддерживается некоторыми из их графических процессоров.

AGEIA PhysX

Первый процессор, который рекламировался как PPU, был назван PhysX чип, представленный полупроводниковая компания fabless называется AGEIA. Игры, которые хотят использовать PhysX PPU, должны использовать AGEIA PhysX SDK, (ранее известный как NovodeX SDK).

Он состоит из RISC-ядра общего назначения, управляющего массивом настраиваемых SIMD плавающая точка VLIW процессоры, работающие в локальных банках памяти, с коммутационной фабрикой для управления передачами между ними. Здесь нет кеш-иерархия как в CPU или GPU.

PhysX был доступен от трех компаний, похожих на видеокарты изготовлены. ASUS, BFG Technologies,[6] и ELSA Technologies были основными производителями. ПК с уже установленными картами можно было приобрести у системных сборщиков, таких как Alienware, Dell, и Сокол Северо-Запад.[7]

В феврале 2008 г. Nvidia купил Ageia Technologies и в конечном итоге отключил возможность обработки PhysX на AGEIA PPU и графических процессорах NVIDIA в системах с активными графическими процессорами ATi / AMD, казалось, что PhysX на 100% перешла к Nvidia. Но в марте 2008 года Nvidia объявила, что сделает PhysX открытым стандартом для всех,[8] поэтому основные производители графических процессоров будут иметь поддержку PhysX в видеокартах следующего поколения. Nvidia объявила, что PhysX также будет доступен для некоторых из выпущенных ими видеокарт, просто загрузив несколько новых драйверов.

Увидеть физический движок для обсуждения академических исследовательских проектов PPU.

Технические характеристики оборудования PhysX P1 (PPU)

ASUS и BFG Technologies куплены лицензии на производство альтернативных версий AGEIA PPU, PhysX P1 со 128 МБ GDDR3:

  • Многоядерное устройство на базе Архитектура MIPS со встроенным оборудованием для ускорения физики и подсистемой памяти с «тоннами ядер»[9][10]
  • Память: 128 Мб GDDR3 ОЗУ со 128-битным интерфейсом
  • 32-битный PCI 3.0 (ASUS также сделал PCI Express карточка версии)
  • Сфера испытания на столкновение: 530 миллионов в секунду (максимальная производительность)
  • Выпуклый испытания на столкновение: 530 000 в секунду (максимальная производительность)
  • Пиковая пропускная способность инструкций: 20 миллиардов в секунду

Havok FX

В Havok SDK является основным конкурентом PhysX SDK, который используется в более чем 150 играх, включая такие основные игры, как Half Life 2, Halo 3 и Восстание мертвецов.[12]

Чтобы конкурировать с PhysX PPU, выпуск, известный как Havok FX было использовать преимущества технологии multi-GPU от ATI (CrossFire ) и NVIDIA (SLI ) с использованием существующих карт для ускорения определенных физических вычислений.[13]

Havok разделяет физическое моделирование на эффект и геймплей физика, при этом физика эффектов выгружается (если возможно) в графический процессор как Шейдерная модель 3.0 инструкции и физика игрового процесса обрабатываются процессором в обычном режиме. Важное различие между ними заключается в том, что эффект физика не влияет на игровой процесс (например, пыль или мелкий мусор от взрыва); подавляющее большинство физических операций по-прежнему выполняется в программном обеспечении. Этот подход существенно отличается от PhysX SDK, который перемещает все вычисления на карту PhysX, если она есть.

С момента приобретения Havok компанией Intel, Havok FX, похоже, был отложен или отменен.[14]

PPU против графических процессоров

Стремление к ГПГПУ сделал графические процессоры более подходящими для работы с PPU; DX10 добавил целочисленные типы данных, унифицированную архитектуру шейдеров и этап геометрического шейдера, который позволяет реализовать более широкий спектр алгоритмов; Современные графические процессоры поддерживают вычислительные шейдеры, которые работают в индексированном пространстве и не требуют никаких графических ресурсов, а только буферы данных общего назначения. NVidia CUDA предоставляет немного больше способов межпотокового взаимодействия и рабочее пространство в стиле блокнота связанные с потоками.

Тем не менее, графические процессоры построены на основе большего числа более длительных задержек, более медленных потоков и предназначены для путей к данным текстуры и буфера кадра, а также низкой производительности ветвления; это отличает их от PPU и Ячейка как менее оптимизированный для решения задач моделирования игрового мира.

В Компилятор Codeplay Sieve поддерживает PPU, что указывает на то, что микросхема Ageia PhysX подходит для задач типа GPGPU. Однако похоже, что Ageia вряд ли будет преследовать этот рынок.

Intel Xeon Phi

Как клетка, Ксеон Пхи находится между ЦП и ГП, в диапазоне между обработкой общего назначения и специализированной высокопроизводительной внутренней обработкой. Это использует кеши, а не блокноты, но все же удается достичь высокой пропускной способности.

AMD заявили о своем долгосрочном намерении обеспечить AMD APU использовать Radeon в качестве векторного сопроцессора, разделяя ресурсы, такие как иерархия кеша. Эта будущая конфигурация начала материализоваться в виде Гетерогенная системная архитектура.

PS2 - VU0

Хотя он сильно отличается от PhysX, можно утверждать, что PlayStation 2 с VU0 - это ранняя ограниченная реализация PPU. И наоборот, можно описать PPU для программиста PS2 как усовершенствованную замену VU0. Его набор функций и размещение в системе ориентированы на ускорение задач обновления игры, включая физику и ИИ; он может разгрузить такие вычисления, работая с собственным потоком инструкций, в то время как ЦП работает над чем-то другим. Однако, будучи DSP, он гораздо больше зависит от ЦП для выполнения полезной работы в игровом движке и не может реализовать полный физический API, поэтому его нельзя классифицировать как PPU. Также VU0 может обеспечивать дополнительную мощность обработки вершин, хотя это скорее свойство путей в системе, а не самого устройства.

Это использование похоже на физику Havok FX или GPU в том, что мощность с плавающей запятой общего назначения вспомогательного устройства используется для дополнения ЦП в графических или физических ролях.

Смотрите также

использованная литература

  1. ^ С. Ярди, Б. Бишоп, Т. Келлихер "HELLAS: специализированная архитектура для интерактивного моделирования деформируемых объектов ", Юго-восточная конференция ACM, Мельбурн, Флорида, 10–12 марта 2006 г., стр. 56–61.
  2. ^ Б. Бишоп, Т. Келлихер "Специализированное оборудование для моделирования деформируемых объектов, "IEEE Transactions on Circuits and Systems for Video Technology, 13 (11): 1074–1079, Nov. 2003.
  3. ^ "Домашняя страница СПАРТА". Cse.psu.edu. Архивировано из оригинал в 2010-07-30. Получено 2010-08-16.
  4. ^ «Эксклюзив: ASUS представляет оборудование AGEIA PhysX». АнандТех. Получено 2010-08-16.
  5. ^ «Заявка на патент США: 0050086040». Appft1.uspto.gov. Получено 2010-08-16.
  6. ^ «Архивная копия». Архивировано из оригинал на 2006-04-26. Получено 2011-06-08.CS1 maint: заархивированная копия как заголовок (ссылка на сайт)
  7. ^ "Реклама BFG Tech для PhysX". Максимальный ПК. Будущее США. Май 2006. с. 6. ISSN  1522-4279. Получено 2009-09-16.
  8. ^ Nvidia предлагает поддержку PhysX для AMD / ATI В архиве 2008-03-13 на Wayback Machine
  9. ^ "Часто задаваемые вопросы по PhysX". Корпорация NVIDIA.
  10. ^ Николас Блахфорд (2006). «Давайте перейдем к физике: внутри физического процессора PhysX».
  11. ^ Официальные обзоры - карта ASUS AGEIA PhysX P1
  12. ^ «Игры с использованием Havok». Архивировано из оригинал на 2012-04-18. Получено 2007-02-19.
  13. ^ Информация о продукте Havok FX В архиве 2007-03-02 на Wayback Machine
  14. ^ Шилов, Антон (19.11.2007). «Физика графических процессоров на данный момент мертва, - заявил глава отдела по работе с разработчиками AMD». Xbit Laboratories. Архивировано из оригинал на 2011-12-01. Получено 2007-11-26.

внешние ссылки