Physics processing unit

Physics processing unit

A physics processing unit (PPU) is a dedicated microprocessor designed to handle the calculations of physics, especially in the physics engine of video games. Examples of calculations involving a PPU might include rigid body dynamics, soft body dynamics, collision detection, fluid dynamics, hair and clothing simulation, finite element analysis, and fracturing of objects. The idea is that specialized processors offload time consuming tasks from a computer's CPU, much like how a GPU performs graphics operations in the main CPU's place.

The first PPUs were the SPARTA and HELLAS .

The term was coined by Ageia's marketing to describe their PhysX chip to consumers. Several other technologies in the CPU-GPU spectrum have some features in common with it, although Ageia's solution is the only complete one designed, marketed, supported, and placed within a system "exclusively as" a PPU.

AGEIA PhysX

The first processor to be advertised as a PPU was called the PhysX chip, introduced by a fabless semiconductor company called AGEIA. Games wishing to take advantage of the PhysX PPU must use AGEIA's PhysX SDK, (formerly known as the NovodeX SDK).

It consists of a general purpose RISC core controlling an array of custom SIMD floating point VLIW processors working in local banked memories, with a switch-fabric to manage transfers between them. There is no cache-hierarchy as in a CPU or GPU.

The PhysX is currently available from 3 companies akin to the way graphics cards are manufactured. ASUS and BFG Technologies [http://www.bfgtech.com/news_8.31.05.html] are the primary manufacturers. PCs with the cards already installed are available from system builders such as Alienware, Dell, and Falcon Northwest.

In February 2008 after Nvidia bought Ageia Technologies, it seemed that PhysX went 100% to Nvidia. But on March, 2008 Nvidia announced that it will make PhysX an open standard for everyone. [ [http://www.custompc.co.uk/news/602205/nvidia-offers-physx-support-to-amd--ati.html Nvidia offers PhysX support to AMD / ATI] ] .So the main graphic-processor manufactures will have PhysX support in the next generation graphics cards. Nvidia announced that PhysX will also available to some of their released graphics card just by downloading some new drivers.

See physics engine for a discussion of academic research PPU projects.

Cell Processor vs PPUs

The STI Cell Processor found in the PlayStation 3 operates in a manner similar to the Ageia PhysX hardware; its design was driven by similar considerations. Unlike ATI/NVidia's GPGPU solutions, and like the PhysX, this design is more about providing each parallel thread with a large working set and more of the inter-thread communication and control found in a general purpose processor. As such it is very well-suited to physics calculations.

The term PPU is not used to describe it however; this appears to be a marketing distinction, in that the STI alliance are selling the processor for a broad range of embedded applications beyond gaming, and even with the PS3 system it is possible to use the SPUs' DSP-like qualities for vertex processing (the front-end of a GPU), sound, decompression, and so on.

Havok FX

The Havok SDK is a major competitor to the PhysX SDK. Used in more than 150 games, including major titles like Half-Life 2 and Dead Rising. [ [http://www.havok.com/content/blogcategory/29/73/ Games using Havok] ]

To compete with the PhysX PPU, an edition known as Havok FX was to take advantage of multi-GPU technology from ATI (CrossFire) and NVIDIA (SLI) using existing cards to accelerate certain physics calculations. [ [http://www.havok.com/content/view/187/77/ Havok FX product information] ]

Havok's solution divides the physics simulation into "effect" and "gameplay" physics, with effect physics being offloaded (if possible) to the GPU as Shader Model 3.0 instructions and gameplay physics being processed on the CPU as normal. The important distinction between the two is that "effect" physics do not affect gameplay (dust or small debris from an explosion, for example); the vast majority of physics operations are still performed in software. This approach differs significantly from the PhysX SDK, which moves all calculations to the PhysX card if it is present.

However, Havok FX seems to have been cancelled. [ [http://www.xbitlabs.com/news/multimedia/display/20071119065621_GPU_Physics_Dead_for_Now_Says_AMD_s_Developer_Relations_Chief.html X-bit labs - GPU Physics Dead for Now, Says AMD’s Developer Relations Chief ] ]

GPUs vs PPUs

The drive toward GPGPU is making GPUs more and more suitable for the job of a PPU; DX10 adds integer data types, unified shader architecture, and a geometry shader stage which allows a broader range of algorithms to be implemented; NVidia CUDA provides a little more in the way of inter-thread communication and scratchpad-style workspace associated with the threads.

Nonetheless GPUs are built around a larger number of longer latency, slower threads, and designed around texture & framebuffer data paths; this distinguishes them from PPU's & the Cell as being less well optimized for taking over game world simulation tasks.

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

Intel Larrabee & AMD Fusion

It is speculated that Intel's Larrabee (a throughput-optimized many-core implementation of the x86 architecture) will be well-suited to the role of a PPU; like the Cell, it sits between the CPU and the GPU in the spectrum of general purpose processing versus specialized high-performance back-end processing. Intel has confirmed that Larrabee's memory architecture will not use scratchpads like the Cell or Ageia PPU, and will instead be closer to a conventional CPU cache hierarchy. However, it will have extensions to enable high-throughput computing (most likely a full complement of cache-control instructions).

AMD have declared their longterm intention to use the ATI GPU as a vector coprocessor more closely tied to the CPU, sharing resources such as cache hierarchy. This future configuration is also very likely to be suitable for the role of a PPU.

PS2 - VU0

Although very different from the Phys X, one could argue the PlayStation 2's VU0 is an early, limited implementation of a PPU. Vice-versa, 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.

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.

ee also

* List of games using physics engines
* Physics Abstraction Layer
* Microsoft Robotics Studio
* Scratchpad RAM relevant to the distributed memory architecture of the Ageia Phys X PPU
* GPGPU for applications of existing GPUs to the same physics problems PPUs are designed for.

References

External links

* [http://www.ageia.com/ AGEIA Official Website]
* [http://physx.ageia.com/ AGEIA Physx Processor Website]
* [http://physx.cwx.ru/ Projects using PhysX SDK]
* [http://www.hothardware.com/articles/BFG_Ageia_PhysX_Physics_Card/ BFG AGEIA PhysX Card Review]
* [http://www.planetphysx.com/ Planet PhysX News & Information Page]
* [http://www.gamers-depot.com/interviews/agiea/001.htm PC Hardware: AGEIA PhysX Interview]
* [http://www.pcper.com/article.php?aid=140&type=expert&pid=1 PC Perspective: AGEIA PhysX Physics Processing Unit Preview]
* [http://www.havok.com/content/view/187/77/ Havok FX physics engine (middleware library) SDK]
* [http://developer.nvidia.com/object/cuda.html NVIDIA CUDA Toolkit and SDK]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • Physics Processing Unit — Un physics processing unit (PPU), est un microprocesseur, qui est dédié aux calculs physiques, plus particulièrement dans les jeux vidéo. Un PPU peut matériellement prendre en charge les calculs suivants : dynamique des corps rigides… …   Wikipédia en Français

  • Physics processing unit — Saltar a navegación, búsqueda Una Unidad de procesamiento físico (en Inglés PPU) es un microprocesador diseñado especialmente para manejar cálculos físicos en computación. Su uso esta particularmente extendido en el campo de los motores fisicos y …   Wikipedia Español

  • Physics processing unit — Un physics processing unit (PPU) est un microprocesseur qui est dédié aux calculs physiques, plus particulièrement dans les jeux vidéo. Un PPU peut matériellement prendre en charge les calculs suivants : dynamique des corps rigides dynamique …   Wikipédia en Français

  • Graphics processing unit — GPU redirects here. For other uses, see GPU (disambiguation). GeForce 6600GT (NV43) GPU A graphics processing unit or GPU (also occasionally called visual processing unit or VPU) is a specialized circuit designed to rapidly manipulate and alter… …   Wikipedia

  • Physics Abstraction Layer — Developer(s) http://sourceforge.net/projects/pal …   Wikipedia

  • Physics engine — A physics engine is a computer program that simulates Newtonian physics models, using variables such as mass, velocity, friction and wind resistance. It can simulate and predict effects under different conditions that would approximate what… …   Wikipedia

  • Physics card — A physics card is an expansion card for computers, which is used to process physics interactions as to help produce more physical action in computer generated graphics. By taking over the processing of these effects, the CPU can use more of its… …   Wikipedia

  • Time in physics — In physics, the treatment of time is a central issue. It has been treated as a question of geometry. One can measure time and treat it as a geometrical dimension, such as length, and perform mathematical operations on it. It is a scalar quantity… …   Wikipedia

  • List of important publications in physics — Optics Book of Optics *Ibn al Haytham (Alhacen)Description: The Book of Optics (Arabic: Kitab al Manazir , Latin: De Aspectibus ) is a seven volume treatise on optics and physics, written by the Iraqi Arab Muslim scientist Ibn al Haytham… …   Wikipedia

  • Plasma (physics) — For other uses, see Plasma. Plasma lamp, illustrating some of the more complex phenomena of a plasma, including filamentation. The colors are a result of relaxation of electrons in excited states to lower energy states after they have recombined… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”