All Topics  
Physics processing unit

 
Physics Processing Unit

   Email Print
   Bookmark   Link






 

Physics processing unit



 
 
A physics processing unit (PPU) is a dedicated microprocessor
Microprocessor

A microprocessor incorporates most or all of the functions of a central processing unit on a single integrated circuit . The first microprocessors emerged in the early 1970s and were used for electronic calculators, using Binary-coded decimal arithmetic on 4-bit Word ....
 designed to handle the calculations of physics
Physics

Physics is the natural science which examines basic concepts such as energy, force, and spacetime and all that derives from these, such as mass, charge, matter and its Motion ....
, especially in the physics engine
Physics engine

A physics engine is a computer program that simulates Newtonian physics models, using variables such as mass, velocity, friction and wind resistance....
 of video games. Examples of calculations involving a PPU might include rigid body dynamics
Rigid body dynamics

In physics, rigid body dynamics is the study of the dynamics of rigid bodies. Unlike Point particle, which move only in three Degrees of freedom , rigid bodies occupy space and have geometrical properties, such as a center of mass, moment of inertia, etc., that characterize motion in six Degrees of freedom ....
, soft body dynamics
Soft body dynamics

Soft body dynamics is an area of physics simulation software that focuses on accurate simulation of a Elasticity . That is, the object is deformation, meaning that the relative positions of points of the objects can change....
, collision detection
Collision detection

In physical simulations, video games and computational geometry, collision detection involves algorithms for checking for collision, i.e. intersection, of two given solids....
, fluid dynamics
Fluid dynamics

In physics, fluid dynamics is the sub-discipline of fluid mechanics dealing with fluid flow — the natural science of fluids in motion....
, 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
Physics engine

A physics engine is a computer program that simulates Newtonian physics models, using variables such as mass, velocity, friction and wind resistance....
 .

The term was coined by Ageia
AGEIA

Ageia, founded in 2002, was a fabless semiconductor company. Ageia invented PhysX ? a Physics Processing Unit chip capable of performing physics calculations much faster than general purpose Central processing unit; they also licensed out the PhysX Software development kit , a large physics middleware library for Computer game production....
's marketing to describe their PhysX chip to consumers.






Discussion
Ask a question about 'Physics processing unit'
Start a new discussion about 'Physics processing unit'
Answer questions from other users
Full Discussion Forum



Encyclopedia


A physics processing unit (PPU) is a dedicated microprocessor
Microprocessor

A microprocessor incorporates most or all of the functions of a central processing unit on a single integrated circuit . The first microprocessors emerged in the early 1970s and were used for electronic calculators, using Binary-coded decimal arithmetic on 4-bit Word ....
 designed to handle the calculations of physics
Physics

Physics is the natural science which examines basic concepts such as energy, force, and spacetime and all that derives from these, such as mass, charge, matter and its Motion ....
, especially in the physics engine
Physics engine

A physics engine is a computer program that simulates Newtonian physics models, using variables such as mass, velocity, friction and wind resistance....
 of video games. Examples of calculations involving a PPU might include rigid body dynamics
Rigid body dynamics

In physics, rigid body dynamics is the study of the dynamics of rigid bodies. Unlike Point particle, which move only in three Degrees of freedom , rigid bodies occupy space and have geometrical properties, such as a center of mass, moment of inertia, etc., that characterize motion in six Degrees of freedom ....
, soft body dynamics
Soft body dynamics

Soft body dynamics is an area of physics simulation software that focuses on accurate simulation of a Elasticity . That is, the object is deformation, meaning that the relative positions of points of the objects can change....
, collision detection
Collision detection

In physical simulations, video games and computational geometry, collision detection involves algorithms for checking for collision, i.e. intersection, of two given solids....
, fluid dynamics
Fluid dynamics

In physics, fluid dynamics is the sub-discipline of fluid mechanics dealing with fluid flow — the natural science of fluids in motion....
, 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
Physics engine

A physics engine is a computer program that simulates Newtonian physics models, using variables such as mass, velocity, friction and wind resistance....
 .

The term was coined by Ageia
AGEIA

Ageia, founded in 2002, was a fabless semiconductor company. Ageia invented PhysX ? a Physics Processing Unit chip capable of performing physics calculations much faster than general purpose Central processing unit; they also licensed out the PhysX Software development kit , a large physics middleware library for Computer game production....
'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
PhysX

PhysX is a proprietary software realtime physics engine middleware Software development kit originally developed by Ageia as the NovodeX SDK. The software was PhysX can also refer to a Physics processing unit add-in card designed by Ageia to accelerate PhysX-enabled video games....
 chip, introduced by a fabless semiconductor company
Fabless semiconductor company

A fabless semiconductor company specializes in the design and sale of hardware devices implemented on semiconductor chips. It achieves an advantage by outsourcing the semiconductor fabrication of the devices to a specialized semiconductor manufacturer called a Foundry which may have several Semiconductor fabrication plant, or "fabs"....
 called AGEIA
AGEIA

Ageia, founded in 2002, was a fabless semiconductor company. Ageia invented PhysX ? a Physics Processing Unit chip capable of performing physics calculations much faster than general purpose Central processing unit; they also licensed out the PhysX Software development kit , a large physics middleware library for Computer game production....
. Games wishing to take advantage of the PhysX PPU must use AGEIA's PhysX
PhysX

PhysX is a proprietary software realtime physics engine middleware Software development kit originally developed by Ageia as the NovodeX SDK. The software was PhysX can also refer to a Physics processing unit add-in card designed by Ageia to accelerate PhysX-enabled video games....
 SDK
Software development kit

A software development kit is typically a set of development tools that allows a software engineer to create application software for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar platform....
, (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 video card
Video card

A video card, also known as a graphics accelerator card, display adapter, or graphics card, is an expansion card whose function is to generate and output images to a display....
s are manufactured. ASUS
ASUS

ASUSTeK Computer Incorporated , a Taiwanese multinational company, produces motherboards, graphics cards, optical drives, PDAs, computer monitors, notebook computers, Server , computer networking devices, mobile phones, computer cases, Electronic component, and computer cooling systems....
 and BFG Technologies
BFG Technologies

BFG Technologies is a privately held United States-based supplier of premium 3D computer graphics video cards based on NVIDIA graphics technology....
  are the primary manufacturers. PCs with the cards already installed are available from system builders such as Alienware
Alienware

Alienware is an United States computer hardware company and a wholly-owned subsidiary of Dell It mainly assembles third party components into desktop computers with custom enclosures for high-performance gaming....
, Dell
Dell

Dell, Inc. is a multinational corporation technology corporation that develops, manufactures, sells, and supports personal computers and other computer-related products....
, and Falcon Northwest
Falcon Northwest

Falcon Northwest is a personal computer manufacturing company located in Medford, Oregon, USA which was founded in 1992 by its current president, Kelt Reeves....
.

In February 2008 after Nvidia
NVIDIA

Nvidia is a multinational corporation specializing in the manufacture of graphics processing unit technologies for workstations, desktop computers, and mobile devices....
 bought Ageia Technologies, it seemed that PhysX went 100% to Nvidia
NVIDIA

Nvidia is a multinational corporation specializing in the manufacture of graphics processing unit technologies for workstations, desktop computers, and mobile devices....
. But in March, 2008 Nvidia announced that it will make PhysX an open standard for everyone. . So the main graphic-processor manufactures will have PhysX support in the next generation graphics cards. Nvidia announced that PhysX will also be available to some of their released graphics card just by downloading some new drivers.

See physics engine
Physics engine

A physics engine is a computer program that simulates Newtonian physics models, using variables such as mass, velocity, friction and wind resistance....
 for a discussion of academic research PPU projects.

Cell Processor vs PPUs

The STI Cell Processor found in the PlayStation 3
PlayStation 3

The PlayStation 3 is the third home video game console produced by Sony Computer Entertainment, and the successor to the PlayStation 2 as part of the PlayStation ....
 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
DSP

The abbreviation DSP can refer to:...
-like qualities for vertex processing (the front-end of a GPU), sound, decompression
Decompression

Decompression has several meanings:* in physics: the release of pressure and is the opposition of physical compression* in medicine and aviation: decompression sickness...
, and so on.

Havok FX

The Havok
Havok (software)

Havok Physics is a physics engine developed by Irish company Havok . It is designed for computer game and video games by allowing interaction between objects or other characters in real-time and by giving objects physics-based qualities in three dimensions....
 SDK is a major competitor to the PhysX SDK. Used in more than 150 games, including major titles like Half-Life 2
Half-Life 2

Half-Life 2 is a science fiction first-person shooter Video game and the sequel to the highly acclaimed Half-Life . It was developed by Valve Corporation and was released on November 16, 2004, following a protracted five-year, $40 million development cycle during which the game?s source code was leaked to the Internet....
 and Dead Rising
Dead Rising

Dead Rising is a action-adventure game, survival horror video game with console role-playing game elements video game developer by Capcom and produced by Keiji Inafune....
.

To compete with the PhysX PPU, an edition known as Havok FX
Havok (software)

Havok Physics is a physics engine developed by Irish company Havok . It is designed for computer game and video games by allowing interaction between objects or other characters in real-time and by giving objects physics-based qualities in three dimensions....
 was to take advantage of multi-GPU technology from ATI
Ati

As a word, Ati may refer to:* Ati, Chad, a town in Chad* Ati , a Negrito ethnic group in the Philippines** Ati-Atihan Festival, an annual celebration held in the Philippines...
 (CrossFire
Crossfire

A crossfire is a military term for the siting of weapons so that their arcs of fire overlap. This tactic came to prominence in World War ISiting weapons this way is an example of the application of the defensive principle of mutual support....
) and NVIDIA
NVIDIA

Nvidia is a multinational corporation specializing in the manufacture of graphics processing unit technologies for workstations, desktop computers, and mobile devices....
 (SLI
Scalable Link Interface

Scalable Link Interface is a brand name for a multi-Graphics processing unit solution developed by Nvidia for linking two or more video card together to produce a single output....
) using existing cards to accelerate certain physics calculations.

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.

GPUs vs PPUs

The drive toward GPGPU
GPGPU

General-purpose computing on graphics processing units is the technique of using a graphics processing unit, which typically handles computation only for computer graphics, to perform computation in applications traditionally handled by the central processing unit....
 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
Sieve C++ Parallel Programming System

The Sieve C++ Parallel Programming System is a C++ compiler and parallel runtime designed and released by Codeplay that aims to simplify the Parallel Computing of code so that it may run efficiently on multi-processor or multi-core systems....
 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
Larrabee (GPU)

Larrabee is the Codename for a graphics processing unit chip that Intel is developing separately from its Intel GMA. Larrabee is expected to compete with GeForce and Radeon products from NVIDIA and ATI Technologies respectively....
 (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.

See also

  • List of games using physics engines
  • Physics Abstraction Layer
  • Microsoft Robotics Studio
    Microsoft Robotics Studio

    The Microsoft Robotics Developer Studio is a Microsoft Windows-based environment for robot control and simulation. It is aimed at academic, hobbyist, and commercial developers and handles a wide variety of robot hardware....
  • Scratchpad RAM
    Scratchpad RAM

    Scratchpad memory , also known as scratchpad, scatchpad RAM or local store in computer terminology, is a high-speed internal memory used for temporary storage of calculations, data, and other work in progress....
     relevant to the distributed memory architecture of the Ageia Phys X PPU
  • GPGPU
    GPGPU

    General-purpose computing on graphics processing units is the technique of using a graphics processing unit, which typically handles computation only for computer graphics, to perform computation in applications traditionally handled by the central processing unit....
     for applications of existing GPUs to the same physics problems PPUs are designed for.


External links