A Physics Processing Unit ( PPU ) ist ein dedizierter Mikroprozessor, der für Berechnungen der Physik entwickelt wurde, insbesondere in der Physik-Engine von Videospielen. Dies ist ein Beispiel für die Hardwarebeschleunigung.
Beispiele für Berechnungen, an denen eine PPU beteiligt ist, könnten Starrkörperdynamik, Soft Body Dynamics, Kollisionserkennung, Fluiddynamik, Haar- und Bekleidungssimulation, Finite-Elemente-Analyse und das Aufbrechen von Objekten einschließen.
Die Idee ist, dass spezialisierte Prozessoren zeitaufwendige Aufgaben von der CPU eines Computers entladen, ähnlich wie eine GPU Grafikoperationen an der Stelle der Haupt-CPU durchführt. Der Begriff wurde von Ageia geprägt, um seinen PhysX-Chip zu beschreiben. Einige andere Technologien im CPU-GPU-Spektrum haben einige Gemeinsamkeiten, obwohl das Produkt von Ageia das einzige komplette war, das ausschließlich als PPU entwickelt, vermarktet, unterstützt und in einem System platziert wurde.
Geschichte [ edit ]
Ein frühes akademisches PPU-Forschungsprojekt [1][2] mit dem Namen SPARTA (Simulation von Physik auf einer Echtzeitarchitektur) wurde am Penn State [3] durchgeführt. und der University of Georgia. Dies war eine einfache FPGA-basierte PPU, die auf zwei Dimensionen beschränkt war. Dieses Projekt wurde um ein erheblich fortschrittlicheres ASIC-basiertes System namens HELLAS erweitert.
Im Februar 2006 wurde die erste dedizierte PPU PhysX von Ageia (später in nVidia zusammengeführt) veröffentlicht. Die Einheit ist am effektivsten bei der Beschleunigung von Partikelsystemen, wobei nur eine kleine Leistungsverbesserung für die Starrkörperphysik gemessen wird. [4] Die Ageia PPU ist ausführlich in ihrer US-Patentanmeldung Nr. 20050075849 dokumentiert. [5] Nvidia / Ageia produziert keine PPUs mehr Die Hardwarebeschleunigung für die Physikverarbeitung wird jetzt von einigen ihrer Grafikverarbeitungseinheiten unterstützt.
AGEIA PhysX [ edit ]
Der erste Prozessor, der als PPU beworben wurde, wurde PhysX-Chip genannt, der von einem fabless-Halbleiterunternehmen namens AGEIA eingeführt wurde. Spiele, die die PhysX-PPU nutzen möchten, müssen das PhysEX-SDK von AGEIA (früher als NovodeX-SDK bekannt) verwenden.
Es besteht aus einem Allzweck-RISC-Kern, der ein Array von benutzerdefinierten SIMD-Gleitkomma-VLIW-Prozessoren steuert, die in lokalen Bankspeichern arbeiten, und eine Switch-Fabric zum Verwalten von Übertragungen zwischen ihnen. Es gibt keine Cache-Hierarchie wie bei einer CPU oder GPU.
Der PhysX war bei drei Unternehmen erhältlich, die der Art und Weise der Herstellung von Videokarten ähneln. ASUS, BFG Technologies [6] und ELSA Technologies waren die Haupthersteller. PCs, auf denen die Karten bereits installiert waren, waren von Systemherstellern wie Alienware, Dell und Falcon Northwest erhältlich. [7]
Im Februar 2008 kaufte Nvidia Ageia Technologies und stellte schließlich die Verarbeitungsfähigkeit ein PhysX auf den AGEIA PPU- und NVIDIA-GPUs in Systemen mit aktiven ATi / AMD-GPUs schien PhysX zu 100% an Nvidia gegangen zu sein. Im März 2008 gab Nvidia jedoch bekannt, dass es PhysX zu einem offenen Standard für alle machen wird [8] so dass die wichtigsten Hersteller von Grafikprozessoren PhysX-Unterstützung für die nächste Generation von Grafikkarten haben werden. Nvidia gab bekannt, dass PhysX auch für einige seiner veröffentlichten Grafikkarten verfügbar sein wird, indem lediglich einige neue Treiber heruntergeladen werden.
Siehe Physics Engine für eine Diskussion über wissenschaftliche PPU-Projekte.
Hardwarespezifikationen für PhysX P1 (PPU) [ edit ]
ASUS und BFG Technologies kauften Lizenzen zur Herstellung alternativer Versionen von AGEIAs PPU, der PhysX P1 mit 128 MB GDDR3:
- Multi-Core-Gerät basierend auf der MIPS-Architektur mit integrierter Physikbeschleunigungshardware und Speichersubsystem mit "Tonnen von Kernen" [9][10]
- Speicher: 128 MB GDDR3-RAM mit 128-Bit-Schnittstelle
- 32-Bit-PCI 3.0 (ASUS eine PCI-Express-Versionskarte hergestellt)
- Sphere-Kollisionstests: 530 Millionen pro Sekunde (maximale Kapazität)
- Convex-Kollisionstests: 530.000 pro Sekunde (maximale Kapazität)
- Spitzenbefehlsbandbreite: 20 Milliarden pro Sekunde [19659030HavokFX [ edit ]
Das Havok SDK ist ein bedeutender Konkurrent des PhysX SDK und wird in mehr als 150 Spielen eingesetzt, darunter große Titel wie Half-Life 2, Halo 3 und Dead Rising. [12]
Um mit der PhysX PPU zu konkurrieren, sollte eine unter dem Namen Havok FX bekannte Edition die Multi-GPU-Technologie von ATI (CrossFire) und NVIDIA (SLI) nutzen, um vorhandene Karten zu nutzen bestimmte physikalische Berechnungen beschleunigen. [13]
Havok teilt den Phy Die Simulation von Effekten und Gameplay führt zu einer Physik, bei der die Effektphysik (wenn möglich) auf die GPU als Shader Model 3.0-Anweisungen geladen wird und die Spielphysik wie üblich auf der CPU verarbeitet wird. Der wichtige Unterschied zwischen den beiden ist, dass der Effekt von das Gameplay nicht beeinflusst (z. B. Staub oder kleine Trümmer von einer Explosion); Die überwiegende Mehrheit der Physikoperationen wird immer noch in Software ausgeführt. Dieser Ansatz unterscheidet sich erheblich vom PhysX-SDK, bei dem alle Berechnungen auf die PhysX-Karte verschoben werden, sofern diese vorhanden ist.
Seit der Übernahme von Intel durch Havok scheint Havok FX eingestellt oder aufgehoben worden zu sein. [14]
Vs. GPUs [ edit ]
Die Hinwendung zur GPGPU hat GPUs für die Aufgabe einer PPU besser geeignet gemacht; DX10 fügte Integer-Datentypen, eine vereinheitlichte Shader-Architektur und eine Geometrie-Shader-Stufe hinzu, mit der eine breitere Palette von Algorithmen implementiert werden kann. Moderne GPUs unterstützen Rechen-Shader, die sich über einen indizierten Bereich erstrecken und keine grafischen Ressourcen, sondern nur allgemeine Datenpuffer erfordern. NVidia CUDA bietet etwas mehr Möglichkeiten für die Kommunikation zwischen den Threads und den Arbeitsbereich, der den Threads zugeordnet ist.
Nichtsdestotrotz sind GPUs um eine größere Anzahl von längeren Latenzzeiten und langsameren Threads herum aufgebaut und um Textur- und Framebuffer-Datenpfade sowie schlechte Verzweigungsleistung ausgelegt. Dies unterscheidet sie von PPUs und The Cell als weniger gut für die Übernahme von Spielwelt-Simulationsaufgaben.
Der Codeplay-Sieve-Compiler unterstützt die PPU und gibt an, dass der Ageia physX-Chip für GPGPU-Aufgaben geeignet ist. Ageia scheint diesen Markt jedoch kaum zu verfolgen.
Intel Xeon Phi [ edit ]
Wie die Zelle sitzt Xeon Phi zwischen CPU und GPU, im Bereich zwischen allgemeiner Verarbeitung und speziellem Hochleistungs-Back- Verarbeitung beenden. Dies verwendet Caches anstelle von Scratchpads, schafft aber dennoch einen hohen Durchsatz.
AMD hat seine langfristige Absicht erklärt, den AMD-APUs die Verwendung von Radeon als Vektor-Coprozessor zu ermöglichen, der Ressourcen wie Cache-Hierarchien gemeinsam nutzt. Diese zukünftige Konfiguration begann sich in Form einer heterogenen Systemarchitektur zu materialisieren.
PS2 - VU0 [ edit ]
Auch wenn VPC von PlayStation 2 ganz anders als PhysX ist, könnte man sagen, dass dies eine frühe, eingeschränkte Implementierung einer PPU ist. Umgekehrt könnte man einem PS2-Programmierer eine PPU als weiterentwickelten Ersatz für VU0 beschreiben. Das Feature-Set und die Platzierung innerhalb des Systems sind auf beschleunigte Spielaktualisierungsaufgaben wie Physik und KI ausgerichtet. Es kann solche Berechnungen aus dem eigenen Befehlsstrom heraus laden, während die CPU mit etwas anderem arbeitet. Als DSP ist es jedoch viel mehr auf die CPU angewiesen, um nützliche Aufgaben in einer Spiel-Engine zu erledigen, und es wäre nicht möglich, eine vollständige Physik-API zu implementieren, sodass sie nicht als PPU eingestuft werden kann. VU0 ist auch in der Lage, zusätzliche Vertex-Verarbeitungsleistung bereitzustellen, obwohl dies eher eine Eigenschaft der Pfade im System ist als die Einheit selbst.
Diese Verwendung ähnelt der Physik von Havok FX oder GPU insofern, als die Allzweck-Fließkomma-Leistung eines Nebengeräts verwendet wird, um die CPU entweder in der Grafik- oder in der Physikrolle zu ergänzen.
Siehe auch [ edit ]
Referenzen [ edit
- ^ S S. Yardi, B. Bishop, T. Kelliher, "HELLAS: Eine spezialisierte Architektur für interaktive verformbare Objektmodellierung", ACM Southeast Conference, Melbourne, FL, 10. - 12. März 2006, S. 56–61.
- ^ ] B. Bischof, T. Kelliher, "Spezialisierte Hardware für die Modellierung verformbarer Objekte", IEEE-Transaktionen auf Schaltungen und Systemen für die Videotechnik, 13 (11): 1074–1079, November 2003.
- ^ "SPARTA Startseite". Cse.psu.edu. Archiviert vom Original am 30.07.2010 . 2010-08-16 .
- ^ "Exklusiv: ASUS debutiert mit AGEIA PhysX-Hardware". AnandTech . 2010-08-16 .
- ^ "United States Patent Application: 0050086040". Appft1.uspto.gov . Abgerufen 2010-08-16 .
- ^ "Archivierte Kopie". Archiviert aus dem Original am 26.04.2006 . Abgerufen 2011-06-08 . CS1 Pflege: Archivierte Kopie als Titel (Link)
- ^ "BFG-Tech-Anzeige für PhysX". Maximum PC . Zukünftige US. Mai 2006. p. 6. ISSN 1522-4279 . Abgerufen 2009-09-16 .
- ^ Nvidia bietet AMD / ATI Archivierte 2008-03-13 an der Wayback Machine
- PhysX FAQ". NVIDIA Corporation.
- ^ Nicholas Blachford (2006). "Lassen Sie uns physisch werden: In den PhysX-Physik-Prozessor".
- ^ Legit Reviews - ASUSs AGEIA PhysX P1-Karte
- ^ Spiele mit Havok
- ^ Havok FX-Produktinformationen 2007 -03-02 an der Rückwegmaschine
- ^ Shilov, Anton (2007-11-19). "GPU-Physik für jetzt tot", sagt AMDs Entwickler-Relations-Chef ". Xbit Laboratories. Archiviert vom Original am 2012-02-16 . 2007-11-26 .
Externe Links [ edit ]
No comments:
Post a Comment