Фізичний процесор

Фізичний процесор ( англ. Physics Processing Unit - англ. PPU , "Фізичний прискорювач", "прискорювач фізики") - пристрій, чіп, виділений спеціалізований процесор, призначений для обробки "фізичних" обчислень переважно в фізичних движках. До прикладів фізичних обчислень, що використовують фізичний процесор, відносяться: динаміка твердих тіл ( англ. rigid body dynamics ), Динаміка м'яких тіл ( англ. soft body dynamics ), виявлення зіткнень ( англ. collision detection ), динаміка рідин ( гідрогазодинаміка), симуляція волосся, хутра та тканини, аналіз кінцевих елементів ( англ. finite element analysis ), Розломи об'єктів. Ідея (основна функція, суть) фізичного процесора полягає в розвантаженні центрального процесора ( англ. CPU - англ. Central Processing Unit ) Від трудомістких завдань по обробці фізики. Дуже схожу ідею використовують сучасні відеокарти, основною частиною яких є графічні процесори ( англ. GPU - англ. Graphics Processing Unit ).

Першими розробленими фізичними процесорами є SPARTA і HELLAS.

Термін "PPU" був вигаданий маркетинговим відділом компанії Ageia для того, щоб описати свій чіп PhysX для споживачів. Фізичний процесор PhysX, розроблений Ageia - єдиний закінчений, спроектований, розроблений, масово випускається, продаваний і підтримуваний екземпляр, який був спроектований виключно як PPU. Крім PhysX, існують і інші рішення і технології в даній сфері.


1. Ageia PhysX

Перший процесор, який був рекламований як "PPU", був чіп PhysX, створений компанією Ageia. Ігри, які хотіли задіяти PhysX, повинні були використовувати спеціальне подпрограммное забезпечення - фізичний движок PhysX SDK (раніше відомий як NovodeX SDK) розробки Ageia.

Процесор PhysX складається з RISC -ядра загального призначення, який управляє масивом настроюються VLIW-процесорів, що працюють з SIMD -інструкцій і плаваючою комою. Процесор працює з локальними банками пам'яті з вбудованим перемикачем для управління потоками між ними. PhysX не має такої ієрархії кеш-пам'яті, як CPU або GPU.

В даний час плати з процесором PhysX доступні у продажу від трьох компаній. ASUS і BFG Technologies стали першими компаніями, які почали продавати плати. Готові комплекти комп'ютерів із встановленими платами PhysX доступні від таких збирачів комп'ютерів, як Alienware, Dell і Falcon Northwest.

У лютому 2008, після того, як Nvidia купила Ageia Technologies, здавалося, що всі напрацювання останньої повністю перейшли до Nvidia. Однак у березні 2008 Nvidia заявила, що зробить PhysX SDK відкритим стандартом, доступним для всіх бажаючих. [1] Підтримка PhysX SDK буде доступна для всіх відеокарт виробництва Nvidia, починаючи з серії 8ххх. На даний момент Nvidia готує до випуску нову версію драйверів, яка включає підтримку PhysX SDK в цих відеокартах. 24 липня 2008 стало відомо, що Nvidia випустить WHQL-сертифікований драйвер ForceWare з підтримкою прискорення фізики 5 серпня 2008. [2]

28 червня 2008 Еран Бадіт ( англ. Eran Badit ), Учасник ресурсу NGOHQ.com, запустив апаратну підтримку PhysX SDK на відеокарті Radeon HD 3870. [3] Компанія NVIDIA відреагувала на ініціативу Ерана Бадіта негативно, однак 9 липня 2008 Бедіту відкрили доступ до документації, SDK, апаратного забезпечення та дали контакти інженерів. Таким чином, NVIDIA відкриває PhysX SDK для сторонніх розробників. [4]

15 серпня 2008 компанія NVIDIA випустила драйвер ForceWare 177.83, який активує підтримку PhysX у відеокартах серій 8, 9 і 200. Це негайно розширило користувача базу до більш ніж 70 мільйонів людей у всьому світі. [5] [6]

Посилання по розділу

2. Співпроцесор VU0 в PS2 як PPU

Ігрова приставка шостого покоління Sony PlayStation 2 використовує 128-бітний процесор "Emotion Engine", який є комбінацією центрального процесора (CPU) і цифрового сигнального процесора (DSP). Emotion Engine складається з центральної 64-бітної частини, побудованої на основі MIPS R5900, і двох 128-бітових векторних співпроцесорів VU0 і VU1 ( англ. Vector Unit ). VU0 зазвичай використовується для трансформації полігонів, фізики та інших речей, що мають відношення до геймплею. VU1 зазвичай використовується для трансформації полігонів, освітлення та інших обчислень, пов'язаних з візуалізацією.

VP0 умовно можна вважати обмеженою реалізацією фізичного процесора. Його набір ознак і розміщення в межах мікропроцесора пристосовані до прискорення поновлення ігрових завдань, включаючи фізику і штучний інтелект; VU0 може розвантажити центральну частину "Emotion Engine". Будучи цифровим сигнальним процесором, VU0, однак, є набагато більш залежним від центрального процесорного елемента і не може бути здатним до здійснення повного фізичного API. Саме тому VU0 не може класифікуватися як PPU.

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


3. Процесор Cell як PPU

Процесор STI Cell, який використовується в ігровій приставці сьомого покоління Sony PlayStation 3, має схожу структуру з процесором Ageia PhysX. Дизайн процесора створений з урахуванням схожих до Ageia PhysX міркувань. На відміну від ATI / NVidia GPGPU, і як PhysX, дизайн Cell спроектований з акцентом на забезпеченні кожного паралельного потоку з великим робочим безліччю ( англ. working set ), Великою кількістю межпотокових зв'язків ( англ. inter-thread communication ) І управлінням, ніж у звичайному центральному процесорі. Такий дизайн дуже підходить для фізичних обчислень.

Термін "PPU" не використовується для опису Cell, однак він проявляється разом з маркетинговим відмінністю: альянс STI Design Center продає процесор для широкого діапазону вбудованих додатків, що не відносяться до ігор; та навіть у складі PlayStation 3 він здатний використовувати DSP -подібні SPE ( англ. Synergistic Processing Elements - Синергічний Оброблювальний Елемент) для вершинної обробки ( англ. vertex processing ), Звуку, декомпресії та інших завдань.


4. Havok FX

Фізичний движок Havok SDK є головним конкурентом движка PhysX SDK. Він використовується більш ніж в 150-ти іграх, включаючи такі ігри, як Half-Life 2, The Elder Scrolls IV: Oblivion і Dead Rising. [7]

Щоб конкурувати з фізичним процесором PhysX, була розроблена концепція Havok FX, основна суть якої полягала у використанні потужностей відеокарт для прискорень певних фізичних обчислень. Havok FX мав використовуватися тільки на комп'ютерах, оснащених мінімум двома відеокартами, з'єднаними за допомогою NVIDIA SLI або ATI Crossfire. При цьому одна відеокарта з цієї зв'язки повинна була повністю виділятися для фізичних обрахунків. [8]

Рішення Havok ділить всі фізичні симуляції на фізичні ефекти і "Геймплейний" фізику. Фізичні ефекти (пил, дрібні осколки й уламки від вибухів, вогонь) обробляються за допомогою графічного процесора на відеокарті як інструкції Shader Model 3.0 ( Шейдерная модель версії 3.0). "Геймплейний" фізика обробляється за допомогою центрального процесора звичайним способом. Важливою відмінністю між цими двома напрямками є те, що фізичні ефекти не впливають на геймплей гри; величезна більшість фізичних операцій все ще виконується стандартним програмним способом за допомогою CPU. Цей підхід значно відрізняється від движка PhysX SDK, який перенаправляє всі поточні фізичні обчислення на карту PhysX.

Так як 15 вересня 2007 фірма Intel викупила фірму Havok, то "Havok FX" був скасований. Передбачалося, що Intel заморозить проект апаратної підтримки движка на відкритих свого конкурента, компанії AMD, і зосередиться на оптимізації движка під свої багатоядерні CPU. [9] [10] [11]

20 березня 2009 з'явилася новина про те, що на щорічному заході Game Developers Conference 2009 компанії AMD і Havok продемонструють прискорення фізики силами відеокарт Radeon. Террі Македон ( англ. Terry Makedon ), Менеджер продукції ATI Catalyst, заявив, що на GDC компанія AMD покаже свою стратегію "ATI GPU Physics" та проведе відповідну демонстрацію. AMD буде використовувати для прискорення Havok мову програмування OpenCL, компілятор якого входить до складу програмного пакету "ATI Stream SDK". [12] [13] [14] [15]

Як і було обіцяно, AMD і Havok провели демонстрацію фізики на GDC 09. Вперше були продемонстровані можливості виконання "Havok Cloth" на розширенні OpenCL. Було заявлено, що для розрахунків даної підсистеми необхідний графічний процесор від AMD з підтримкою OpenCL і AMD Stream. Також було заявлено про орієнтацію Havok на новітні багатоядерні процесори AMD Phenom. [16] [17] [18]

Посилання по розділу

5. GPU проти PPU

Розвиток концепції GPGPU робить графічні процесори все більш і більш придатними для завдань, які призначаються для фізичних процесорів. DirectX 10 додає в GPU цілочисельні типи даних ( англ. integer data types ), уніфіковану шейдерну архітектуру ( англ. unified shader architecture ) І геометричні шейдери, які дозволяють графічному процесору обробляти більш широкий діапазон алгоритмів. NVidia CUDA забезпечує межпотоковие зв'язку ( англ. inter-thread communication ) І робочу область сверхоператівного стилю ( англ. scratchpad-style workspace ), Пов'язану з потоками.

Тим не менш, GPU спроектовані для роботи з комп'ютерною тривимірною графікою. Вони мають більший час очікування, більш повільні потоки, працюють з текстурами і фреймбуффером ( англ. framebuffer ). Це відрізняє їх від Ageia PPU і Cell як менш добре оптимізовані для того, щоб виконувати фізичні моделювання.

Sieve C + + Parallel Programming System підтримує PPU, показуючи, що чіп Ageia PhysX був би відповідним для задач типу GPGPU.

Посилання по розділу

6. Intel Larrabee & AMD Fusion

Очікується, що Intel Larrabee - многоядерная реалізація х86-архітектури з оптимізованою пропускною спроможністю, - буде добре підходити для ролі фізичного процесора. Як і процесор Cell, Larrabee за своїми параметрами знаходиться між центральним і графічним процесорами. Larrabee призначений для універсальної багатозадачного многопоточной обробки на противагу спеціалізованої високоефективної внутрішньої обробки. Компанія Intel підтвердила, що архітектура пам'яті в Larrabee не буде використовувати тимчасові буфери, як Cell або Ageia PhysX; замість цього архітектура пам'яті буде ближче до звичайної ієрархії кеша CPU. Однак Larrabee буде мати розширення для включення високопродуктивних обчислень (найбільш ймовірним є повна заміна інструкцій з управління кешем).

Компанія AMD оголосила про свій проект AMD Fusion. AMD Fusion буде являти собою процесор, який на одному кристалі буде об'єднувати стандартних центральний х86-64 процесор і графічний співпроцесор, створений на основі останніх моделей серії Radeon. Різноманітні ресурси процесора AMD Fusion, такі як ієрархічний кеш, будуть використовуватися спільно. Ця майбутня конфігурація, ймовірно, також буде придатною для ролі PPU.


Примітки

  1. Ben Hardwidge Nvidia OFFERS PhysX Support To AMD / ATI - www.custompc.co.uk/news/602205/nvidia-offers-physx-support-to-amd--ati.html (Англ.) . custompc.co.uk (10 березня 2008 року). (Недоступна посилання - історія -
  2. Павло "xAnder" Шубський WHQL-драйвер NVIDIA для PhysX - на початку серпня - www.igromania.ru/HardwareNews/7622/WHQL-draiver_NVIDIA_dlya_PhysX_v_nachale_avgusta.htm. Ігроманія (24 липня 2008 року). (Недоступна посилання - історія -
  3. BlackCat PhysX зламаний і більше не є ексклюзивом для карт NVIDIA - www.ixbt.com/news/hard/archive.shtml?2008/0628 # id106781. IXBT.com (суботі, 28 червня 2008). Читальний - www.webcitation.org/65VMcM8Vg з першоджерела 17 лютого 2012.
  4. Павло "xAnder" Шубський NVIDIA відкриє підтримку PhysX для ATI Radeon? - www.igromania.ru/HardwareNews/7514/NVIDIA_otkroet_podderzhku_PhysX_dlya_ATI_Radeon.htm. Ігроманія (9 липня 2008 року). (Недоступна посилання - історія -
  5. NVIDIA випустила драйвер для апаратної підтримки PhysX - www.gamedev.ru/industry/news/?id=3099. GameDev.ru (15 серпня 2008). Читальний - www.webcitation.org/65VMdTPlj з першоджерела 17 лютого 2012.
  6. Вінні - начальник технічного обслуговування європейського підрозділу компанії XFX. Майже безкоштовна фізика - www.rusdoc.ru/articles/pochti_besplatnaja_fizika/17873/. RusDoc.ru (14 жовтня 2008 року). Читальний - www.webcitation.org/65VMeDziW з першоджерела 17 лютого 2012.
  7. Games using Havok - www.havok.com/content/blogcategory/29/73/
  8. Havok FX product information - www.havok.com/content/view/187/77/
  9. Anton Shilov GPU Physics Dead For Now, Says AMD's Developer Relations Chief Nvidia's Chief Exec Predicts "Negative Synergies" with Intel's Acquisition of Havok - (Англ.) . X-bit labs (19 листопада 2007 року). Читальний - www.webcitation.org/65VMghHZU з першоджерела 17 лютого 2012.
  10. Anton Shilov Intel To Acquire Havok - www.bit-tech.net/news/industry/2007/09/15/intel_to_acquire_havok/1 (Англ.) . Bit-tech (15 вересня 2007 року). Читальний - www.webcitation.org/65VMhgRUm з першоджерела 17 лютого 2012.
  11. Арсеній Герасименко Intel заявила про придбання компанії Havok - www.3dnews.ru/news/intel_zayavila_o_priobretenii_kompanii_havok/. 3DNews (17 вересня 2007 року).
  12. Ben Hardwidge AMD To Demo GPU Physics AT GDC Next Week - www.bit-tech.net/news/hardware/2009/03/20/amd-to-demo-gpu-physics-at-gdc/1 (Англ.) . Bit-tech (20 березня 2009 року). Читальний - www.webcitation.org/65VMibivm з першоджерела 17 лютого 2012.
  13. Олександр Шеметов Прискорення фізики засобами GPU від AMD вже скоро - www.3dnews.ru/news/uskorenie_fiziki_sredstvami_gpu_ot_amd_uzhe_skoro/. 3DNews (23 березня 2009 року).
  14. BESS! AMD покаже "прискорення фізики" в своїх GPU з API Havok на GDC2009 - www.ixbt.com/news/hard/index.shtml?11/73/05. iXBT (24 березня 2009 року). Читальний - www.webcitation.org/65VMjrg6V з першоджерела 17 лютого 2012.
  15. Павло Шубський AMD продемонструє обробку фізики - www.igromania.ru/HardwareNews/8958/AMD_prodemonstriruet_obrabotku_fiziki.htm. Ігроманія (журнал) (23 березня 2009 року). (Недоступна посилання - історія -
  16. Павло Шубський AMD продемонструвала фізику - www.igromania.ru/HardwareNews/8991/AMD_prodemonstrirovala_fiziku.htm. Ігроманія (журнал) (27 березня 2009 року). (Недоступна посилання - історія - web.archive.org / web / * / http://www.igromania.ru/HardwareNews/8991/AMD_prodemonstrirovala_fiziku.htm)
  17. BESS! AMD і Havok на Game Developers Conference 2009 - www.ixbt.com/news/hard/index.shtml?11/74/50. iXBT (27 березня 2009 року). Читальний - www.webcitation.org/65VMl86Oh з першоджерела 17 лютого 2012.
  18. Олександр Шеметов Havok і AMD показали на GDC фізику на OpenCL - www.3dnews.ru/news/havok_i_amd_pokazali_na_gdc_fiziku_na_opencl/. 3DNews (29 березня 2009 року).