| Physics Processing Unit |
Article Index for Physics |
Website Links For Physics |
Information AboutPhysics Processing Unit |
| CATEGORIES ABOUT PHYSICS PROCESSING UNIT | |
| video game hardware | |
| computer physics engines | |
|
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 Agiea'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-heirachy as in a CPU or GPU. The PhysX is currently available from 3 companies akin to the way , Dell , and Falcon Northwest . 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 & 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 marketting & application distinction in that the STI alliance are pushing the processor for a broad range of embedded applications beyond "game-update", and in the PS3 system it is also possible to utilize the SPU's dsp-like qualities for vertex processing (the front-end of a GPU), sound, decompression etc. HAVOK FX™ Havok FX SDK is major competitor to the PhysX SDK. Used in more than 150 games, including major titles like Half-Life 2 and Dead Rising . Games using Havok To compete with the PhysX PPU, Havok FX will be able to take advantage of multi-GPU technology from ATI ( CrossFire ) and NVIDIA ( SLI ) using existing cards to accelerate certain physics calculations. 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 are 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. 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 Seive compiler supports the PPU, indicating that the Agiea physX chip would be suitable for GPGPU type tasks. However Ageia seem unlikely to pursue this market. INTEL LARABEE It is speculated that intel's Larabee (a thruput 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 have confirmed that Larabee's memory architecture will not use scratchpads like the cell or Ageia PPU, and instead be closer to a conventional CPU cache heirachy; but it will have extentions to enable high throughput computing (most likely a full complement of cache-control instructions) 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. Vica versa, one could describe a PPU to a PS2 programmer as an evolved replacement for VU0. Its feature-set & placement within the system is geared toward accelerating game update tasks including physics & AI; it can offload such calculations working off it's own instruction stream whilst the CPU is operating on something else. Being a DSP however it is much more dependant on the CPU to do usefull 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 useage is similar to Havok FX or GPU physics in that an auxillary unit's general purpose floating point power is used to complement the CPU in either graphics or physics roles. SEE ALSO
EXTERNAL LINKS
|
|
|