Content deleted Content added
m Disambiguating links to General-purpose computing on graphics processing units (link changed to General-purpose computing on graphics processing units (software)) using DisamAssist. |
|||
(48 intermediate revisions by 34 users not shown) | |||
Line 1:
{{more sources|date=March 2015}}
{{short description|Type of dedicated microprocessor}}
A '''physics processing unit''' ('''PPU''') is a dedicated [[microprocessor]] designed to handle the calculations of [[physics]], especially in the [[physics engine]] of [[video game]]s. It is an example of [[hardware acceleration]]. Examples of calculations involving a PPU might include [[rigid body dynamics]], [[soft body dynamics]], [[collision detection]], [[fluid dynamics]], hair and [[Cloth modeling|clothing simulation]], [[finite element analysis]], and fracturing of objects.
The idea is
==History==
An early academic PPU research project<ref>S. Yardi, B. Bishop, T. Kelliher, "[http://www.cs.scranton.edu/%7Ebishop/2006acmse.pdf HELLAS: A Specialised Architecture for Interactive Deformable Object Modeling]", ACM Southeast Conference, Melbourne, FL, March 10–12, 2006, pp. 56–61.</ref><ref>B. Bishop, T. Kelliher, "[http://www.cs.scranton.edu/%7Ebishop/TCSVT.ps Specialized Hardware for Deformable Object Modeling]," IEEE Transactions on Circuits and Systems for Video Technology, 13(11):1074–1079, Nov. 2003.</ref> named SPARTA (Simulation of Physics on A Real-Time Architecture) was carried out at Penn State<ref>{{cite web |url=http://www.cse.psu.edu/~mdl/sparta/ |title=SPARTA Homepage |publisher=Cse.psu.edu |access-date=2010-08-16 |
February 2006 saw the release of the first dedicated PPU [[PhysX]] from [[Ageia]] (later merged into [[nVidia|Nvidia]]).
<gallery class="center" caption="Academic PPU research projects">
</gallery>
==AGEIA PhysX==
The first processor to be advertised
It consists of a general purpose RISC core controlling an array of custom [[Single instruction, multiple data|SIMD]] floating point [[VLIW]] processors working in local banked memories, with a switch-fabric to manage transfers between them. There is no [[Cache hierarchy|cache-hierarchy]]
The PhysX was available from three companies akin to the way [[video card]]s are manufactured. [[ASUS]], [[BFG Technologies]],<ref>{{cite web |url=http://www.bfgtech.com/news_8.31.05.html |title=:::News Release::: |access-date=2011-06-08 |url-status=dead |archive-url=https://web.archive.org/web/20060426124859/http://www.bfgtech.com/news_8.31.05.html |archive-date=2006-04-26 }}</ref> and [[ELSA Technologies]] were the primary manufacturers. PCs with the cards already installed were available from system builders such as [[Alienware]], [[Dell]], and [[Falcon Northwest]].<ref>{{cite magazine | url=
In February 2008, after [[Nvidia]] bought Ageia Technologies and eventually cut off the ability to process PhysX on the AGEIA PPU and NVIDIA GPUs in systems with active ATi/AMD GPUs, it seemed that PhysX went 100% to
See [[physics engine]] for a discussion of academic research PPU projects.
Line 30 ⟶ 31:
===PhysX P1 (PPU) hardware specifications===
[[ASUS]] and [[BFG Technologies]] bought licenses to manufacture alternate versions of AGEIA's PPU, the PhysX P1 with 128 MB GDDR3:
* Multi-core device based on the [[MIPS
** 125 million [[transistor]]s<ref name="Legit Reviews">
** 182 mm<sup>2</sup> [[die (integrated circuit)|die]] size
** Fabrication process: [[130 nanometer|130 nm]]
Line 42 ⟶ 43:
==Havok FX==
The [[Havok (software)|Havok]] SDK is a major competitor to the PhysX SDK
To compete with the PhysX PPU, an edition known as [[Havok (software)|Havok FX]] was to take advantage of multi-GPU technology from [[ATI Technologies|ATI]] ([[AMD CrossFire]]) and [[NVIDIA]] ([[Scalable Link Interface|SLI]]) using existing cards to accelerate certain physics calculations.<ref>[http://www.havok.com/content/view/187/77/ Havok FX product information] {{webarchive|url=https://web.archive.org/web/20070302132522/http://www.havok.com/content/view/187/77/ |date=2007-03-02 }}</ref>
Havok
Since Havok's acquisition by [[Intel]], Havok FX appears to have been shelved or cancelled.<ref name="Shilov2007">{{cite web |title=GPU Physics Dead for Now, Says
==
The drive toward [[GPGPU]] has made GPUs more suitable for the job of a PPU; DX10 added integer data types, unified shader architecture, and a geometry shader stage which allows a broader range of algorithms to be implemented; Modern GPUs support [[compute
Nonetheless GPUs are built around a larger number of longer latency, slower threads, and designed around texture
The [[Sieve C++ Parallel Programming System|Codeplay Sieve compiler]] supports the PPU, indicating that the Ageia physX chip would be suitable for GPGPU type tasks. However Ageia seem unlikely to pursue this market.
==
Although very different from the PhysX, one could argue the [[PlayStation 2]]'s [[PlayStation 2 hardware#Specifications|VU0]] is an early, limited implementation of a PPU. Conversely, one could describe a PPU to a PS2 programmer as an evolved replacement for VU0. Its feature-set and placement within the system is geared toward accelerating game update tasks including physics and AI; it can offload such calculations working off its own instruction stream whilst the CPU is operating on something else. Being a DSP however, it is much more dependent on the CPU to do useful work in a game engine, and would not be capable of implementing a full physics API, so it cannot be classed as a PPU. Also VU0 is capable of providing additional vertex processing power, though this is more a property of the pathways in the system rather than the unit itself.▼
▲Its feature-set and placement within the system is geared toward accelerating game update tasks including physics and AI; it can offload such calculations working off its own instruction stream whilst the CPU is operating on something else. Being a DSP however, it is much more dependent on the CPU to do useful work in a game engine, and would not be capable of implementing a full physics API, so it cannot be classed as a PPU.
This usage is similar to Havok FX or GPU physics in that an auxiliary unit's general purpose floating point power is used to complement the CPU in either graphics or physics roles.
==See also==
* [[adapteva]]▼
* [[Digital signal processor]]▼
* [[
* [[Microsoft Robotics Studio]]
* [[Scratchpad RAM]] - relevant to the distributed memory architecture of the Ageia PhysX PPU▼
▲* [[GPGPU]] - for applications of existing GPUs to the same physics problems PPUs are designed for
▲* [[adapteva]]
* [[OpenCL]]
▲* [[Digital signal processor]]
* [[Vision processing unit]]
* UA6528 Price & Stock<ref>https://www.digipart.com/part/UA6528</ref>
==References==
{{Reflist|30em}}
==External links==
* [http://www.ageia.com/ AGEIA Official Website] (no longer available)
* [https://web.archive.org/web/20060407040318/http://physx.ageia.com/ AGEIA Physx Processor Website] (no longer available)
* [https://web.archive.org/web/20080601230649/http://physx.cwx.ru/ Projects using PhysX SDK] (no longer available)
* [http://www.hothardware.com/articles/BFG_Ageia_PhysX_Physics_Card/ BFG AGEIA PhysX Card Review]
* [
* [https://web.archive.org/web/20050309033254/http://www.gamers-depot.com/interviews/agiea/001.htm PC Hardware: AGEIA PhysX Interview] (no longer available)
* [https://web.archive.org/web/20051221231246/http://www.pcper.com/article.php?aid=140&type=expert&pid=1 PC Perspective: AGEIA PhysX Physics Processing Unit Preview] (no longer available)
* [https://web.archive.org/web/20070302132522/http://www.havok.com/content/view/187/77/ Havok FX physics engine (middleware library) SDK] (no longer available)
* [http://developer.nvidia.com/object/cuda.html NVIDIA CUDA Toolkit and SDK]
* [https://developer.nvidia.com/gameworks-physx-overview PhysX Toolkit and SDK]
Line 99 ⟶ 91:
[[Category:Video game hardware]]
[[Category:Computer physics engines]]
[[Category:Coprocessors]]
|