A physics processing unit (PPU) is a dedicated
microprocessor
A microprocessor is a computer processor (computing), processor for which the data processing logic and control is included on a single integrated circuit (IC), or a small number of ICs. The microprocessor contains the arithmetic, logic, a ...
designed to handle the calculations of
physics
Physics is the scientific study of matter, its Elementary particle, fundamental constituents, its motion and behavior through space and time, and the related entities of energy and force. "Physical science is that department of knowledge whi ...
, especially in the
physics engine
A physics engine is computer software that provides an approximate simulation of certain physical systems, typically classical dynamics, including rigid body dynamics (including collision detection), soft body dynamics, and fluid dynamics. I ...
of
video game
A video game or computer game is an electronic game that involves interaction with a user interface or input device (such as a joystick, game controller, controller, computer keyboard, keyboard, or motion sensing device) to generate visual fe ...
s. It is an example of
hardware acceleration.
Examples of calculations involving a PPU might include
rigid body dynamics
In the physical science of dynamics, rigid-body dynamics studies the movement of systems of interconnected bodies under the action of external forces. The assumption that the bodies are '' rigid'' (i.e. they do not deform under the action ...
,
soft body dynamics,
collision detection,
fluid dynamics
In physics, physical chemistry and engineering, fluid dynamics is a subdiscipline of fluid mechanics that describes the flow of fluids – liquids and gases. It has several subdisciplines, including (the study of air and other gases in motion ...
, hair and
clothing simulation,
finite element analysis
Finite element method (FEM) is a popular method for numerically solving differential equations arising in engineering and mathematical models, mathematical modeling. Typical problem areas of interest include the traditional fields of structural ...
, and fracturing of objects.
The idea is having 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 term was coined by
Ageia to describe its
PhysX
PhysX is an Open-source software, open-source Real-time computer graphics, realtime physics engine middleware Software development kit, SDK developed by Nvidia as part of the Nvidia GameWorks software suite.
Initially, video games supporting Ph ...
chip. Several other technologies in the CPU-GPU spectrum have some features in common with it, although Ageia's product was the only complete one designed, marketed, supported, and placed within a system exclusively being a PPU.
History
An early academic PPU research project named SPARTA (Simulation of Physics on A Real-Time Architecture) was carried out at Penn State and University of Georgia. This was a simple
FPGA based PPU that was limited to two dimensions. This project was extended into a considerably more advanced
ASIC-based system named HELLAS.
February 2006 saw the release of the first dedicated PPU
PhysX
PhysX is an Open-source software, open-source Real-time computer graphics, realtime physics engine middleware Software development kit, SDK developed by Nvidia as part of the Nvidia GameWorks software suite.
Initially, video games supporting Ph ...
from
Ageia (later merged into
Nvidia
Nvidia Corporation ( ) is an American multinational corporation and technology company headquartered in Santa Clara, California, and incorporated in Delaware. Founded in 1993 by Jensen Huang (president and CEO), Chris Malachowsky, and Curti ...
). The unit is most effective in accelerating
particle systems, with only a small performance improvement measured for rigid body physics. The Ageia PPU is documented in depth in their US patent application #20050075849. Nvidia/Ageia no longer produces PPUs and hardware acceleration for physics processing, although it is now supported through some of their graphics processing units.
File:SPARTA animation.jpg, alt=Example SPARTA animation, Example SPARTA animation
File:SPARTA board.jpg, alt=SPARTA printed circuit board, SPARTA Printed circuit board
A printed circuit board (PCB), also called printed wiring board (PWB), is a Lamination, laminated sandwich structure of electrical conduction, conductive and Insulator (electricity), insulating layers, each with a pattern of traces, planes ...
File:Hellas die.jpg, alt=Hellas die photo, Hellas die photo
AGEIA PhysX
The first processor to be advertised being a PPU was named the
PhysX
PhysX is an Open-source software, open-source Real-time computer graphics, realtime physics engine middleware Software development kit, SDK developed by Nvidia as part of the Nvidia GameWorks software suite.
Initially, video games supporting Ph ...
chip, introduced by a
fabless semiconductor company called
AGEIA. Games wishing to take advantage of the PhysX PPU must use AGEIA's
PhysX
PhysX is an Open-source software, open-source Real-time computer graphics, realtime physics engine middleware Software development kit, SDK developed by Nvidia as part of the Nvidia GameWorks software suite.
Initially, video games supporting Ph ...
SDK, (formerly known as the NovodeX SDK).
It consists of a general purpose RISC core controlling an array of custom
SIMD
Single instruction, multiple data (SIMD) is a type of parallel computer, parallel processing in Flynn's taxonomy. SIMD describes computers with multiple processing elements that perform the same operation on multiple data points simultaneousl ...
floating point
VLIW processors working in local banked memories, with a switch-fabric to manage transfers between them. There is no
cache-hierarchy like in a CPU or GPU.
The PhysX was available from three companies akin to the way
video cards are manufactured.
ASUS,
BFG Technologies, and
ELSA Technologies were the primary manufacturers. PCs with the cards already installed were available from system builders such as
Alienware,
Dell
Dell Inc. is an American technology company that develops, sells, repairs, and supports personal computers (PCs), Server (computing), servers, data storage devices, network switches, software, computer peripherals including printers and webcam ...
, and
Falcon Northwest.
In February 2008, after
Nvidia
Nvidia Corporation ( ) is an American multinational corporation and technology company headquartered in Santa Clara, California, and incorporated in Delaware. Founded in 1993 by Jensen Huang (president and CEO), Chris Malachowsky, and Curti ...
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 Nvidia. But in March 2008, Nvidia announced that it will make PhysX an open standard for everyone, so the main graphic-processor manufacturers will have PhysX support in the next generation graphics cards. Nvidia announced that PhysX will also be available for some of their released graphics cards just by downloading some new drivers.
See
physics engine
A physics engine is computer software that provides an approximate simulation of certain physical systems, typically classical dynamics, including rigid body dynamics (including collision detection), soft body dynamics, and fluid dynamics. I ...
for a discussion of academic research PPU projects.
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 architecture
MIPS (Microprocessor without Interlocked Pipelined Stages) is a family of reduced instruction set computer (RISC) instruction set architectures (ISA)Price, Charles (September 1995). ''MIPS IV Instruction Set'' (Revision 3.2), MIPS Technologies ...
with integrated physics acceleration hardware and memory subsystem with "tons of cores"
** 125 million
transistor
A transistor is a semiconductor device used to Electronic amplifier, amplify or electronic switch, switch electrical signals and electric power, power. It is one of the basic building blocks of modern electronics. It is composed of semicondu ...
s
[Legit Reviews - ASUS's AGEIA PhysX P1 Card](_blank)
/ref>
** 182 mm2 die size
** Fabrication process: 130 nm
** Peak power consumption: 30 W
* Memory: 128 MB GDDR3 RAM with 128-bit interface
* 32-bit PCI 3.0 (ASUS also made a PCI Express
PCI Express (Peripheral Component Interconnect Express), officially abbreviated as PCIe, is a high-speed standard used to connect hardware components inside computers. It is designed to replace older expansion bus standards such as Peripher ...
version card)
* Sphere
A sphere (from Ancient Greek, Greek , ) is a surface (mathematics), surface analogous to the circle, a curve. In solid geometry, a sphere is the Locus (mathematics), set of points that are all at the same distance from a given point in three ...
collision tests: 530 million per second (maximum capability)
* Convex
Convex or convexity may refer to:
Science and technology
* Convex lens, in optics
Mathematics
* Convex set, containing the whole line segment that joins points
** Convex polygon, a polygon which encloses a convex set of points
** Convex polytop ...
collision tests: 530,000 per second (maximum capability)
* Peak instruction bandwidth: 20 billion per second
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, Halo 3 and Dead Rising.
To compete with the PhysX PPU, an edition known as Havok FX was to take advantage of multi-GPU technology from ATI ( AMD CrossFire) and NVIDIA
Nvidia Corporation ( ) is an American multinational corporation and technology company headquartered in Santa Clara, California, and incorporated in Delaware. Founded in 1993 by Jensen Huang (president and CEO), Chris Malachowsky, and Curti ...
( SLI) using existing cards to accelerate certain physics calculations.Havok FX product information
Havok 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.
Since Havok's acquisition by
Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California, and Delaware General Corporation Law, incorporated in Delaware. Intel designs, manufactures, and sells computer compo ...
, Havok FX appears to have been shelved or cancelled.
PPU vs. GPUs
The drive toward
GPGPU
General-purpose computing on graphics processing units (GPGPU, or less often GPGP) is the use of a graphics processing unit (GPU), which typically handles computation only for computer graphics, to perform computation in applications traditiona ...
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 shaders, which run across an indexed space and don't require any graphical resources, just general purpose data buffers. NVidia
CUDA
In computing, CUDA (Compute Unified Device Architecture) is a proprietary parallel computing platform and application programming interface (API) that allows software to use certain types of graphics processing units (GPUs) for accelerated gene ...
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 and framebuffer data paths, and poor branching performance; this distinguishes them from PPUs and
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.
PS2 – VU0
Although very different from the PhysX, one could argue the
PlayStation 2
The PlayStation 2 (PS2) is a home video game console developed and marketed by Sony Interactive Entertainment, Sony Computer Entertainment. It was first released in Japan on 4 March 2000, in North America on 26 October, in Europe on 24 Novembe ...
's
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.
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
*
General-purpose computing on graphics processing units (GPGPU) – for applications of existing GPUs to the same physics problems PPUs are designed for
*
Microsoft Robotics Studio
*
OpenCL
OpenCL (Open Computing Language) is a software framework, framework for writing programs that execute across heterogeneous computing, heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), di ...
*
Physics Abstraction Layer
*
Scratchpad RAM – relevant to the distributed memory architecture of the Ageia PhysX PPU
*
Vision processing unit
UA6528 Price & Stock
References
External links
AGEIA Official Website(no longer available)
AGEIA Physx Processor Website(no longer available)
Projects using PhysX SDK(no longer available)
BFG AGEIA PhysX Card ReviewPlanet PhysX News & Information Page(no longer available)
(no longer available)
PC Perspective: AGEIA PhysX Physics Processing Unit Preview(no longer available)
Havok FX physics engine (middleware library) SDK(no longer available)
PhysX Toolkit and SDK{{CPU technologies
Video game hardware
Computer physics engines
Coprocessors