Physics Processing Unit

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

modifica

Ageia PhysX

modifica

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.[1]

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:[2]

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

Havok FX

modifica

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.[6]

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

modifica

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).

  1. ^ nVidia acquisisce Ageia, su nvidia.com, nVidia Corporation.
  2. ^ Giochi PhysX ready, su nzone.com, nVidia Corporation.
  3. ^ Ross Gardner, statement on official forum [collegamento interrotto], su daforums.bioware.com, official DAO forum, 24 giugno 2009. URL consultato il 2 luglio 2009.
  4. ^ Astragon: Kran Simulator 2009 (German), su astragon.de (archiviato dall'url originale il 25 giugno 2009).
  5. ^ Tom's Hardware Guide Italia, AMD fa la fisica con Havok, su tomshw.it. URL consultato il 17 giugno 2008 (archiviato dall'url originale il 15 giugno 2008).
  6. ^ Havok Company, Lista di titoli che supportano Havok FX, su havok.com. URL consultato il 17 giugno 2010 (archiviato dall'url originale il 21 gennaio 2011).

Voci correlate

modifica

Collegamenti esterni

modifica
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica