La Physics Processing Unit o PPU, è un microprocessore dedicato per la gestione del calcolo della fisica degli oggetti virtuali, specialmente per quanto riguarda i calcoli di fisica presenti nel motore grafico di un videogioco.

È quindi un'enorme rivoluzione, soprattutto nel campo della grafica tridimensionale, in quanto tutti i movimenti degli oggetti, la dinamica dei fluidi, la simulazione del movimento di capelli e abiti, la distruzione di oggetti e tutto quello che riguarda il tridimensionale non viene più elaborato dalla CPU del computer, ma dal processore della scheda, ottimizzato per quel tipo di calcoli.

Alla CPU viene quindi tolta una determinata mole di lavoro, rendendo disponibile tale potenza risparmiata per l'impiego in altre operazioni, tra cui la gestione del sistema operativo, del motore di gioco, dell'intelligenza artificiale ecc.

Implementazioni Ageia PhysX Il primo microprocessore ad essere pubblicizzato come PPU prendeva il nome di PhysX e fu introdotto sul mercato dall'azienda chiamata Ageia. Ciò avveniva tra la fine del 2005 e l'inizio del 2006, periodo in cui fu messa in commercio la prima scheda discreta con il microprocessore PPU al posto del GPU. Tale scheda, nella sua prima generazione, aveva le seguenti caratteristiche:

N° di transistors: 125 milioni Dimensioni del die: 182 mm² Memoria: 128 MB GDDR3 RAM su interfaccia a 128-bit Interfaccia di connessione: PCI Test collisione di sfere: 530 milioni/s Test collisione di poligoni convessi: 530.000 al sec Bandwidth di istruzioni massimo: 20 bilioni/sec Consumo: 30 W Processo produttivo: 130 nm

I videogiochi che intendevano avvantaggiarsi dell'accelerazione offerta dalla PPU PhysX dovevano usare il kit NovodeX SDK fornito da Ageia stessa. A supportare i prodotti PhysX furono 2 aziende già note per la produzione di schede video: ASUS e BFG Technologies. Oltre alla vendita di schede nel canale retail vennero messi in vendita (in particolare da Dell e Alienware) anche dei PC con la scheda PhysX già installata.

Ageia è stata acquistata da nVidia il 4 febbraio 2008, la quale ha l'intenzione di sfruttare il motore PhysX tramite CUDA e la sua tecnologia per l'utilizzo della GPU per la gestione dei calcoli fisici presenti nei videogiochi.

nVidia

Qualunque scheda grafica GeForce con supporto CUDA 2.0 (ovvero tutte le schede della serie 8/9/100/200/400 dotate almeno di 32 Cuda Cores e di 256MB di memoria video) può utilizzare PhysX con i prodotti supportati senza il bisogno di installare una scheda aggiuntiva. nVidia ha comunque continuato a supportare le soluzioni su scheda grafica esterna precedentemente elaborate da Ageia fino alla release 8.xx.xxxx dell'nVidia PhysX System Software.

A partire dai driver ForceWare 186.xx nVidia ha deciso di disattivare il supporto a PhysX quando nel sistema è presente una GPU di un produttore diverso (ad esempio AMD). Fonti interne a nVidia hanno reso noto che la decisione è stata resa necessaria a causa dei costi di sviluppo, per poter garantire uno standard qualitativo maggiore oltre che per motivi di business. Questa decisione ha visto la community di appassionati giungere alla creazione di una patch per Windows 7, che disabilita il controllo del produttore della GPU presente nei driver ForceWare. nVidia ha inoltre aggiunto una bomba ad orologeria nelle versioni 196.xx e 197.xx che rallenta le prestazioni con PhysX attivo e inverte le leggi di gravità nelle applicazioni, causando effetti di fisica sballati; anche questi, rimossi dalla community di appassionati con una successiva patch.

Con l'avvento dei driver ForceWare 257.15, si era inizialmente constatato che nVidia avesse rimosso queste restrizioni; ma in seguito l'azienda ha comunicato su un suo blog che si trattava di un bug dei driver e che la possibilità di utilizzare PhysX con una scheda ATI sarà nuovamente eliminata nella versione WHQL dei prossimi driver ForceWare.

Le modalità di funzionamento di nVidia PhysX sono 3: Standard: la singola scheda grafica installata nel sistema si occupa del rendering della scena 3D e del calcolo della fisica del videogioco. SLI: le due schede grafiche installate nel sistema lavorano in parallelo tramite la tecnologia SLI e si occupano insieme del rendering della scena 3D e del calcolo della fisica del videogioco. Multi-GPU: delle due schede grafiche installate nel sistema, una si occupa del rendering della scena 3D e l'altra del calcolo della fisica del videogioco

I seguenti giochi supportano nVidia PhysX:

Adrenalin 2: Rush Hour Age of Empires III (solo in versione Mac) Alpha Prime APB Army of Two Auto Assault Alliance of Valiant Arms Batman: Arkham Asylum Backbreaker B.A.S.E. Jumping Bet on Soldier: Blackout Saigon Bet on Soldier: Blood of Sahara Bet on Soldier: Blood Sport Beowulf: The Game Bladestorm: The Hundred Years' War Borderlands Brothers in Arms: Hell's Highway Captain Blood CellFactor: Combat Training CellFactor: Revolution City of Villains Crazy Machines 2 Cryostasis: Sleep of Reason Dark Physics Dark Void Darkest of Days Desert Diner Dragon Age: Origins Dragonshard Dusk 12 Empire Above All Empire Earth III Entropia Universe

Fallen Earth Fat Princess Frontlines: Fuel of War Fury Garshasp Gears of War Race Driver: Grid Global Agenda Gluk'Oza: Action GooBall Gothic 3 Gunship Apocalypse Heavy Rain Helldorado: Conspiracy Hero's Journey Hour of Victory Huxley H.A.V.E. Online iFluid Infernal Inhabited island: Prisoner of Power Joint Task Force Kran Simulator 2009 Kuma\War Aura of Wisdom Mafia 2 Magic Ball 3 Mass Effect Mass Effect 2 Medal of Honor: Airborne Metro 2033 Mirror's Edge Mobile Suit Gundam: Crossfire Monster Madness: Battle for Suburbia

Monster Truck Maniax Myst Online: Uru Live Need for Speed: Shift Nights: Journey of Dreams Nurien Odd Blox Open Fire (ed il seguito, Open Fire Gold) Overlord 2 Parabellum Paragraph 78 Pirates of the Burning Sea Prince of Persia Point Blank PT Boats: Knights of the Sea Rail Simulator Red Steel Rise of Nations: Rise of Legends Risen Robert Ludlum's The Bourne Conspiracy Roboblitz Sacred 2 Shadowgrounds (solo in versione Linux) Shadowgrounds: Survivor Sherlock Holmes: The Awakened Showdown: Scorpion Silverfall Sovereign Symphony Sonic e il Cavaliere Nero Sonic e gli Anelli Segreti Speedball 2 Stoked Stoked Rider: Alaska Alien

Switchball Trine The Hunt The Stalin Subway The Void Tom Clancy's Ghost Recon Advanced Warfighter Tom Clancy's Ghost Recon Advanced Warfighter 2 Tom Clancy's Rainbow Six: Vegas Tom Clancy's Splinter Cell: Double Agent Tortuga: Two Treasures Turok Two Worlds Ultra Tubes Unreal Tournament 3 Unreal Tournament 3: Extreme Physics Mod Valkyria Chronicles Velvet Assassin Warfare Warmonger: Operation Downtown Destruction W.E.L.L. Online Winterheart's Guild X-Men le origini - Wolverine WorldShift Zombie Driver

AMD AMD ha invece siglato il 12 giugno 2008 una partnership con Havok, sussidiaria di Intel, che produce il middleware Havok.

Havok FX L'SDK Havok è il maggior contendente del PhysX SDK. Usato in più di 150 giochi, inclusi titoli di grande successo quali Half-Life 2, Alan Wake, BioShock 2 e Fallout 3.

Per competere con PhysX PPU, venne commercializzata una versione del middleware nota come Havok FX che si avvantaggiava del supporto alle tecnologie Multi-GPU quali CrossFire (per ATI) e SLI (per nVidia usando le scheda video già installate nel sistema per accelerare l'esecuzione dei calcoli di fisica).

Le soluzioni offerte da Havok dividono la simulazione della fisica in effetti di fisica e in fisica che influisce sul gameplay, con gli effetti di fisica che sono inviati (ove possibile) alla GPU tramite istruzioni per lo Shader Model 3.0 mentre la fisica che influisce sul gameplay viene normalmente processata dalla CPU. L'importante differenza tra i due è che gli effetti di fisica non influiscono sul gameplay (polvere o piccoli detriti generati da un'esplosione, ad esempio). La maggior parte dei calcoli di fisica, ad ogni modo, è effettuata via software; questo approccio è totalmente differente da quello utilizzato nell'SDK PhysX, il quale invia tutti i calcoli di fisica alla scheda grafica esterna (se presente).

A partire dall'acquisizione di Havok operata da Intel, Havok FX sembra essere stato accantonato e in seguito cancellato.

Intel Larrabee Si è molto speculato riguardo alle possibilità che la futura architettura grafica di Intel, chiamata Larrabee possa ben prestarsi al ruolo di PPU; essa è come il processore Cell, situata a metà tra la CPU e la GPU nel campo del general purpose. Intel ha confermato che l'architettura di Larrabee non utilizzerà memoria con funzionalità scratchpad, e sarà pertanto più vicina alle convenzionali gerarchie di cache presenti sulle CPU. Essa, ad ogni modo, avrà delle estensioni che renderanno possibile l'abilitazione all'esecuzione di tante istruzioni con un output di dati piuttosto basso (come avviene, in pratica sulle CPU).

Note

Voci correlate Motore fisico

Collegamenti esterni

Categoria:Microprocessori