Fysisk processor

En fysisk processor ( eng.  Physics Processing Unit  - eng.  PPU , "fysisk accelerator", "fysikaccelerator") er en specialiseret mikroprocessor , der er designet til at beregne den fysiske interaktion mellem objekter, hovedsageligt i videospilfysikmotorer .

Eksempler på fysiske beregninger ved hjælp af en fysisk processor kan være: stiv  kropsdynamik , blød kropsdynamik ,  kollisionsdetektion , væskedynamik , bevægelsessimulering af hår, pels og stoffer, finite element - analyse , objektfejl .  

Ideen (hovedfunktion, essens) af en fysisk processor er at aflaste den centrale behandlingsenhed ( eng.  CPU  - eng.  Central Processing Unit ) fra tidskrævende opgaver inden for behandlingsfysik. En meget lignende idé bruges af moderne videokort , hvoraf hoveddelen er grafikprocessorer ( engelsk  GPU  - English  Graphics Processing Unit ).

De første fysiske processorer, der blev udviklet, er SPARTA og HELLAS .

Udtrykket "PPU" blev opfundet af Ageias marketingafdeling for at beskrive deres PhysX - chip til forbrugerne. Ageias PhysX Physical Processor  er den eneste komplette, konstruerede, konstruerede, masseproducerede, markedsførte og understøttede instans, der udelukkende er designet som en PPU . Udover PhysX findes der andre løsninger og teknologier på dette område.

Ageia PhysX

Den første processor, der blev annonceret som en "PPU", var en PhysX- chip , lavet af Ageia . Spil, der ville bruge PhysX , skulle bruge speciel undersoftware  - Ageias PhysX SDK (tidligere kendt som NovodeX SDK ) fysikmotor .

PhysX - processoren består af en generel RISC -kerne, der styrer en række tilpassede VLIW-processorer, der arbejder med SIMD- instruktioner og flydende komma [1] . Processoren arbejder med lokale hukommelsesbanker med en indbygget switch til at styre flows mellem dem. PhysX har ikke det samme cachehierarki som CPU'en eller GPU'en .

Der er i øjeblikket ingen boards med en PhysX- processor tilgængelige til salg. I den seneste tid blev tavler produceret af tre virksomheder. ASUS og BFG Technologies var de første virksomheder, der begyndte at sælge boards. Komplette computersæt med PhysX-kort installeret er tilgængelige fra computerbyggere som Alienware , Dell og Falcon Northwest.

I februar 2008 , efter at Nvidia købte Ageia Technologies , så det ud til, at alle udviklinger af sidstnævnte blev fuldstændig overført til Nvidia. I marts 2008 annoncerede Nvidia dog, at det ville gøre PhysX SDK til en åben platform tilgængelig for alle. [2] PhysX SDK - understøttelse vil være tilgængelig for alle Nvidia-videokort, der starter med 8xxx-serien. I øjeblikket forbereder Nvidia sig på at frigive en ny version af driverne, som inkluderer understøttelse af PhysX SDK i disse videokort. Den 24. juli 2008 blev det afsløret, at Nvidia ville frigive en WHQL-certificeret ForceWare - driver med understøttelse af fysikacceleration den 5. august 2008 . [3]

Den 28. juni 2008 lancerede Eran Badit fra  NGOHQ.com PhysX SDK - hardwareunderstøttelse på Radeon HD 3870 -grafikkortet . [4] NVIDIA reagerede negativt på Eran Badits initiativ, men den 9. juli 2008 fik Badit adgang til dokumentation, SDK, hardware og ingeniørers kontakter. Således åbner NVIDIA PhysX SDK for tredjepartsudviklere. [5]

Den 15. august 2008 udgav NVIDIA ForceWare 177.83-driveren, som muliggør PhysX-understøttelse i grafikkortene i serien 8, 9 og 200. Dette udvidede straks brugerbasen til over 70 millioner mennesker verden over. [6] [7]

Sektionslinks

VU0 coprocessor i PS2 som PPU

Sjette generation Sony PlayStation 2 -spilkonsol bruger en 128-bit " Emotion Engine ", som er en kombination af en central processing unit (CPU) og en digital signalprocessor (DSP). Emotion Engine består af en central 64-bit del baseret på MIPS R5900 og to 128-bit vektor coprocessorer VU0 og VU1 ( Vector Unit ) .  VU0 bruges almindeligvis til polygontransformationer, fysik og andre gameplay - relaterede ting . VU1 bruges almindeligvis til polygontransformation, belysning og andre gengivelsesrelaterede beregninger.

På trods af væsentlige forskelle fra PhysX kan VP0 betragtes som en tidlig begrænset fysisk processorimplementering. Dens funktionssæt og placering på mikroprocessorsystemet har til formål at fremskynde spiltilstandsopdateringsopgaver, herunder fysik og kunstig intelligens ; VU0 kan aflaste den centrale del af "Emotion Engine". Som en digital signalprocessor er VU0 dog meget mere afhængig af hovedprocessoren og kan ikke implementere den fulde fysiske API . Dette er grunden til, at VU0 ikke kan klassificeres som en PPU.

Dens brug svarer til at bruge Havok FX-motoren eller en GPU-fysikaccelerator, idet ressourcerne i en ekstern flydende kommaenhed til generelle formål, der fungerer som en grafik- eller fysisk accelerator, supplerer CPU'ens ressourcer.

Celleprocessor som PPU

STI Cell - processoren , som bruges i den syvende generation af Sony PlayStation 3 -spilkonsollen , har en struktur, der ligner Ageia PhysX-processoren. Designet af processoren blev skabt under hensyntagen til overvejelser svarende til Ageia PhysX. I modsætning til ATI/NVidia GPGPU og ligesom PhysX er Cell-designet designet med fokus på at give hver parallel tråd et større arbejdssæt , mere inter-thread-kommunikation og kontrol end en konventionel CPU . Dette design er meget velegnet til fysisk databehandling.  

Udtrykket "PPU" bruges ikke til at beskrive cellen, men det kommer sammen med en markedsføringsmæssig skelnen: STI Design Center -alliancen sælger processoren til en bred vifte af ikke-gaming-indlejrede applikationer; og selv som en del af PlayStation 3 er den i stand til at bruge DSP - lignende SPE'er ( Synergistic Processing Elements  - Synergistic Processing Element) til vertexbehandling ( eng  . vertex processing ), lyd, dekompression og andre opgaver.  

Havok FX

Havok SDK -fysikmotoren er hovedkonkurrenten til PhysX SDK-motoren. Det bruges i over 150 spil, inklusive spil som Half-Life 2 , The Elder Scrolls IV: Oblivion og Dead Rising . [otte]

For at konkurrere med den fysiske PhysX-processor blev Havok FX -konceptet udviklet , hvis hovedessens var at bruge grafikkortenes kraft til at fremskynde visse fysiske beregninger. Havok FX skulle kun bruges på computere udstyret med mindst to videokort forbundet med NVIDIA SLI eller ATI Crossfire . Samtidig skulle ét skærmkort fra dette bundt være helt allokeret til fysiske beregninger. [9]

Havoks løsning opdeler alle fysiksimuleringer i fysikeffekter og "gameplay"-fysik. Fysiske effekter (støv, små fragmenter og snavs fra eksplosioner, brand) behandles ved hjælp af GPU'en på videokortet som Shader Model 3.0 instruktioner (Shader Model version 3.0). "Gameplay"-fysikken håndteres af CPU'en på den sædvanlige måde. En vigtig forskel mellem de to er, at fysiske effekter ikke påvirker spillets gameplay; langt de fleste fysiske operationer udføres stadig i standardsoftware af CPU'en. Denne tilgang adskiller sig væsentligt fra PhysX SDK-motoren, som omdirigerer alle aktuelle fysikberegninger til PhysX-kortet.

Siden Intel købte Havok ud den 15. september 2007, er Havok FX blevet annulleret. Det blev antaget, at Intel ville fastfryse projektet med hardwareunderstøttelse til motoren på grafikkortene fra konkurrenten AMD og fokusere på at optimere motoren til sine multi-core CPU'er. [10] [11] [12]

Den 20. marts 2009 kom nyheden om, at ved den årlige Game Developers Conference 2009-begivenhed ville AMD og Havok demonstrere fysikacceleration med Radeon -grafikkort . Terry Makedon , produktchef  for ATI Catalyst , sagde, at på GDC vil AMD fremvise sin "ATI GPU Physics"-strategi og gennemføre en relateret demonstration. AMD vil bruge OpenCL -programmeringssproget til at accelerere Havok , hvis compiler er en del af ATI Stream SDK-softwarepakken. [13] [14] [15] [16]

Som lovet holdt AMD og Havok en fysik-demo på GDC 09. For første gang blev evnen til at køre "Havok Cloth" på en OpenCL-udvidelse demonstreret. Det blev oplyst, at til beregningerne af dette delsystem kræves en AMD-grafikprocessor med understøttelse af OpenCL og AMD Stream. Havoks fokus på AMDs seneste Phenom-processorer med flere kerner blev også oplyst . [17] [18] [19]

Sektionslinks

GPU vs PPU

Udviklingen af ​​GPGPU- konceptet gør GPU'er mere og mere velegnede til opgaver, der er beregnet til fysiske processorer. DirectX 10 tilføjer heltalsdatatyper , en  samlet shader-arkitektur og geometrishaders til GPU'en, som gør det muligt for GPU'en at håndtere en bredere vifte af algoritmer . NVidia CUDA giver kommunikation mellem tråde og et arbejdsområde i scratchpad -stil forbundet med tråde .   

GPU'er er dog designet til at fungere med 3D computergrafik. De har længere latency, langsommere streams, arbejder med teksturer og framebuffer .  Dette adskiller dem fra Ageia PPU og Cell som mindre egnede til fysisk modellering.

Sieve C++ Parallel Programming System understøtter PPU'en, hvilket viser, at Ageia PhysX-chippen ville være velegnet til opgaver af typen GPGPU.

Sektionslinks

Intel Larrabee & AMD Fusion

Intels Larrabee  , en båndbreddeoptimeret multi-core implementering af x86-arkitekturen, forventes at passe godt til den fysiske processorrolle . Ligesom Cell-processoren falder Larrabee mellem CPU'en og GPU'en med hensyn til dens parametre. Larrabee er designet til multi-tasking multi-threaded behandling i modsætning til specialiseret højtydende intern behandling. Intel har bekræftet, at Larrabee-hukommelsesarkitekturen ikke vil bruge midlertidige buffere som Cell eller Ageia PhysX; i stedet vil hukommelsesarkitekturen være tættere på det normale CPU-cachehierarki. Larrabee vil dog have udvidelser for at aktivere HPC (sandsynligvis en komplet erstatning af cachehåndteringsinstruktionerne).

I 2008 annoncerede AMD sit AMD Fusion- projekt . AMD Fusion bliver en processor, der kombinerer en x86-64 central processor og en grafikprocessor baseret på de nyeste modeller af Radeon -serien på en enkelt chip . Forskellige AMD Fusion- processorressourcer , såsom den hierarkiske cache, vil blive delt. Denne fremtidige konfiguration vil sandsynligvis også være egnet til PPU-rollen.

Noter

  1. Nicholas Blachford. Lad os blive fysisk: Inde i PhysX Physics Processor  (engelsk) (2006). Hentet 10. juni 2014. Arkiveret fra originalen 14. juli 2014.
  2. Ben Hardwidge. Nvidia tilbyder PhysX-understøttelse til AMD/ATI  (engelsk)  (downlink) . custompc.co.uk (10. marts 2008). Hentet 30. marts 2009. Arkiveret fra originalen 11. oktober 2008.
  3. Pavel "xAnder" Shubsky. NVIDIA WHQL-driver til PhysX - begyndelsen af ​​august (downlink) . Hasardspil (24. juli 2008). Dato for adgang: 27. juli 2008. Arkiveret fra originalen 28. juli 2008. 
  4. BlackCat. PhysX er hacket og ikke længere eksklusivt for NVIDIA-kort . IXBT.com (28. juni 2008). Hentet 9. juli 2008. Arkiveret fra originalen 29. juni 2009.
  5. Pavel "xAnder" Shubsky. NVIDIA åbner PhysX-understøttelse for ATI Radeon? (utilgængeligt link) . Hasardspil (9. juli 2008). Hentet 9. juli 2008. Arkiveret fra originalen 17. maj 2013. 
  6. NVIDIA frigiver driver til PhysX hardwaresupport . GameDev.ru (15. august 2008). Dato for adgang: 27. oktober 2008. Arkiveret fra originalen 5. januar 2012.
  7. Vinnie er Head of Technical Services for XFX Europe. Næsten gratis fysik . RusDoc.ru (14. oktober 2008). Hentet 19. oktober 2008. Arkiveret fra originalen 5. januar 2012.
  8. Spil ved hjælp af Havok (downlink) . Hentet 16. oktober 2008. Arkiveret fra originalen 18. april 2012. 
  9. Havok FX produktinformation (downlink) . Hentet 16. oktober 2008. Arkiveret fra originalen 2. marts 2007. 
  10. Anton Shilov. GPU Physics er død for nu, siger AMD's Developer Relations-chef Nvidias Chief Exec forudsiger "negative synergier" med Intels opkøb af Havok  (  utilgængeligt link) . X-bit labs (19. november 2007). Hentet 27. februar 2011. Arkiveret fra originalen 16. februar 2012.
  11. Anton Shilov. Intel køber  Havok . Bit-tech (15. september 2007). Hentet 27. februar 2011. Arkiveret fra originalen 16. februar 2012.
  12. Arseny Gerasimenko. Intel annoncerede købet af Havok . 3DNews (17. september 2007). Hentet 27. februar 2011. Arkiveret fra originalen 2. november 2009.
  13. Ben Hardwidge. AMD demonstrerer GPU-fysik på GDC i næste  uge . Bit-tech (20. marts 2009). Hentet 23. marts 2009. Arkiveret fra originalen 16. februar 2012.
  14. Alexander Shemetov. Fysik acceleration med AMD GPU'er kommer snart . 3DNews (23. marts 2009). Hentet 23. marts 2009. Arkiveret fra originalen 26. marts 2009.
  15. BESS!. AMD vil vise "fysikacceleration" i deres GPU'er med Havok API ved GDC2009 (utilgængeligt link) . iXBT (24. marts 2009). Hentet 24. marts 2009. Arkiveret fra originalen 3. juli 2017. 
  16. Pavel Shubsky. AMD vil demonstrere fysikbehandling . Gambling (magasin) (23. marts 2009). Hentet 24. marts 2009. Arkiveret fra originalen 31. marts 2009.
  17. Pavel Shubsky. AMD demonstrerede fysik . Gambling (magasin) (27. marts 2009). Hentet 27. marts 2009. Arkiveret fra originalen 31. marts 2009.
  18. BESS!. AMD og Havok på Game Developers Conference 2009 (link ikke tilgængeligt) . iXBT (27. marts 2009). Hentet 28. marts 2009. Arkiveret fra originalen 3. juli 2017. 
  19. Alexander Shemetov. Havok og AMD viste OpenCL-fysik på GDC . 3DNews (29. marts 2009). Hentet 30. marts 2009. Arkiveret fra originalen 30. marts 2009.

Links