Physics processing unit
Encyclopedia
A physics processing unit (PPU) is a dedicated microprocessor
Microprocessor
A microprocessor incorporates the functions of a computer's central processing unit on a single integrated circuit, or at most a few integrated circuits. It is a multipurpose, programmable device that accepts digital data as input, processes it according to instructions stored in its memory, and...

 designed to handle the calculations of physics
Physics
Physics is a natural science that involves the study of matter and its motion through spacetime, along with related concepts such as energy and force. More broadly, it is the general analysis of nature, conducted in order to understand how the universe behaves.Physics is one of the oldest academic...

, especially in the physics engine
Physics engine
A physics engine is computer software that provides an approximate simulation of certain physical systems, such as rigid body dynamics , soft body dynamics, and fluid dynamics, of use in the domains of computer graphics, video games and film. Their main uses are in video games , in which case the...

 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 motion of rigid bodies. Unlike particles, which move only in three degrees of freedom , rigid bodies occupy space and have geometrical properties, such as a center of mass, moments of inertia, etc., that characterize motion in six degrees of...

, soft body dynamics
Soft body dynamics
Soft body dynamics is a field of computer graphics that focuses on visually realistic physical simulations of the motion and properties of deformable objects . The applications are mostly in video games and film. Unlike in simulation of rigid bodies, the shape of soft bodies can change, meaning...

, collision detection
Collision detection
Collision detection typically refers to the computational problem of detecting the intersection of two or more objects. While the topic is most often associated with its use in video games and other physical simulations, it also has applications in robotics...

, fluid dynamics
Fluid dynamics
In physics, fluid dynamics is a sub-discipline of fluid mechanics that deals with fluid flow—the natural science of fluids in motion. It has several subdisciplines itself, including aerodynamics and hydrodynamics...

, 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
AGEIA
Ageia, founded in 2002, was a fabless semiconductor company. Ageia invented PhysX – a Physics Processing Unit chip capable of performing game physics calculations much faster than general purpose CPUs; they also licensed out the PhysX SDK , a large physics middleware library for game...

'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 realtime physics engine middleware SDK developed by Ageia with the purchase of ETH Zurich spin-off NovodeX in 2004...

 chip, introduced by a fabless semiconductor company
Fabless semiconductor company
A fabless semiconductor company specializes in the design and sale of hardware devices and semiconductor chips while outsourcing the fabrication or "fab" of the devices to a specialized manufacturer called a semiconductor foundry...

 called AGEIA
AGEIA
Ageia, founded in 2002, was a fabless semiconductor company. Ageia invented PhysX – a Physics Processing Unit chip capable of performing game physics calculations much faster than general purpose CPUs; they also licensed out the PhysX SDK , a large physics middleware library for game...

. Games wishing to take advantage of the PhysX PPU must use AGEIA's PhysX
PhysX
PhysX is a proprietary realtime physics engine middleware SDK developed by Ageia with the purchase of ETH Zurich spin-off NovodeX in 2004...

 SDK
Software development kit
A software development kit is typically a set of software development tools that allows for the creation of applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar platform.It may be something as simple...

, (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 was available from three companies akin to the way video card
Video card
A video card, Graphics Card, or Graphics adapter is an expansion card which generates output images to a display. Most video cards offer various functions such as accelerated rendering of 3D scenes and 2D graphics, MPEG-2/MPEG-4 decoding, TV output, or the ability to connect multiple monitors...

s are manufactured. ASUS
ASUS
ASUSTeK Computer Incorporated is a multinational computer technology and consumer electronics product manufacturer headquartered in Taipei, Taiwan. Its product range includes motherboards, desktops, laptops, monitors, tablet PCs, servers and mobile phones...

, BFG Technologies
BFG Technologies
BFG Technologies was a privately held U.S.-based supplier of power supplies and 3D video cards based on NVIDIA graphics technology and a manufacturer of high-end gaming/home theater computer systems. BFG Technologies branded products were available in North America and Europe at retailers and...

, and ELSA Technologies were the primary manufacturers. PCs with the cards already installed were available from system builders such as Alienware
Alienware
Alienware is an American computer hardware subsidary of Dell, Inc. It mainly assembles third party components into desktops and laptops with custom enclosures for high-performance gaming. These products also support graphically intense applications such as video editing, simulation, and audio editing...

, Dell
Dell
Dell, Inc. is an American multinational information technology corporation based in 1 Dell Way, Round Rock, Texas, United States, that develops, sells and supports computers and related products and services. Bearing the name of its founder, Michael Dell, the company is one of the largest...

, 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. The company began its existence focusing on high-end systems for Flight Simulation...

.

In February 2008 after Nvidia
NVIDIA
Nvidia is an American global technology company based in Santa Clara, California. Nvidia is best known for its graphics processors . Nvidia and chief rival AMD Graphics Techonologies have dominated the high performance GPU market, pushing other manufacturers to smaller, niche roles...

 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
NVIDIA
Nvidia is an American global technology company based in Santa Clara, California. Nvidia is best known for its graphics processors . Nvidia and chief rival AMD Graphics Techonologies have dominated the high performance GPU market, pushing other manufacturers to smaller, niche roles...

. 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
Physics engine
A physics engine is computer software that provides an approximate simulation of certain physical systems, such as rigid body dynamics , soft body dynamics, and fluid dynamics, of use in the domains of computer graphics, video games and film. Their main uses are in video games , in which case the...

 for a discussion of academic research PPU projects.

PhysX P1 (PPU) hardware specifications

ASUS
ASUS
ASUSTeK Computer Incorporated is a multinational computer technology and consumer electronics product manufacturer headquartered in Taipei, Taiwan. Its product range includes motherboards, desktops, laptops, monitors, tablet PCs, servers and mobile phones...

 and BFG Technologies
BFG Technologies
BFG Technologies was a privately held U.S.-based supplier of power supplies and 3D video cards based on NVIDIA graphics technology and a manufacturer of high-end gaming/home theater computer systems. BFG Technologies branded products were available in North America and Europe at retailers and...

 bought licenses to manufacture alternate versions of AGEIA's PPU, the PhysX P1 with 128MB GDDR3.
  • Multi-core MIPS architecture
    MIPS architecture
    MIPS is a reduced instruction set computer instruction set architecture developed by MIPS Technologies . The early MIPS architectures were 32-bit, and later versions were 64-bit...

    -based device with integrated physics acceleration hardware and memory subsystem with "tons of cores"
  • 125 million transistor
    Transistor
    A transistor is a semiconductor device used to amplify and switch electronic signals and power. It is composed of a semiconductor material with at least three terminals for connection to an external circuit. A voltage or current applied to one pair of the transistor's terminals changes the current...

    s
  • 182 mm2 die
    Die (integrated circuit)
    A die in the context of integrated circuits is a small block of semiconducting material, on which a given functional circuit is fabricated.Typically, integrated circuits are produced in large batches on a single wafer of electronic-grade silicon or other semiconductor through processes such as...

     size
  • Memory: 128 MB
    Megabyte
    The megabyte is a multiple of the unit byte for digital information storage or transmission with two different values depending on context: bytes generally for computer memory; and one million bytes generally for computer storage. The IEEE Standards Board has decided that "Mega will mean 1 000...

     GDDR3
    GDDR3
    Graphics Double Data Rate 3 is a graphics card-specific memory technology, designed by ATI Technologies with the collaboration of JEDEC.It has much the same technological base as DDR2, but the power and heat dispersal requirements have been reduced somewhat, allowing for higher performance memory...

     RAM on 128-bit interface
  • Interface
    User interface
    The user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...

    : 32-bit PCI
    Peripheral Component Interconnect
    Conventional PCI is a computer bus for attaching hardware devices in a computer...

     3.0 (ASUS also made a PCI-Express 1x version card)
  • Sphere
    Sphere
    A sphere is a perfectly round geometrical object in three-dimensional space, such as the shape of a round ball. Like a circle in two dimensions, a perfect sphere is completely symmetrical around its center, with all points on the surface lying the same distance r from the center point...

     collision tests: 530 million per second (maximum capability)
  • Convex collision tests: 530,000 per second (maximum capability)
  • Peak Instruction Bandwidth: 20 billion per second
  • Peak Power Consumption: 30 W
  • Fabrication Process: 130 nm

Havok FX

The Havok
Havok (software)
Havok Physics is a physics engine developed by Irish company Havok. It is designed primarily for video games, and allows for real-time collision and dynamics of rigid bodies in three dimensions. It provides multiple types of dynamic constraints between rigid bodies , and has a highly optimized...

 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 , the sequel to Half-Life, is a first-person shooter video game and a signature title in the Half-Life series. It is singleplayer, story-driven, science fiction, and linear...

, Halo 3
Halo 3
Halo 3 is a first-person shooter video game developed by Bungie for the Xbox 360 console. The third installment in the Halo franchise, the game concludes the story arc begun in Halo: Combat Evolved and continued in Halo 2...

 and Dead Rising
Dead Rising
is an action-adventure, survivor horror video game, developed by Capcom and produced by Keiji Inafune. It was released on August 8, 2006 exclusively for the Xbox 360 video game console. The game was a commercial success. It has been introduced into the Xbox 360 "Platinum Hits" lineup, and a cell...

.

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 primarily for video games, and allows for real-time collision and dynamics of rigid bodies in three dimensions. It provides multiple types of dynamic constraints between rigid bodies , and has a highly optimized...

 was to take advantage of multi-GPU technology from ATI
Ati
As a word, Ati may refer to:* Ati, a town in Chad* Ati, a Negrito ethnic group in the Philippines* Ati-Atihan Festival, an annual celebration held in the Philippines* Ati, a queen of the fabled Land of Punt in Africa...

 (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 I....

) and NVIDIA
NVIDIA
Nvidia is an American global technology company based in Santa Clara, California. Nvidia is best known for its graphics processors . Nvidia and chief rival AMD Graphics Techonologies have dominated the high performance GPU market, pushing other manufacturers to smaller, niche roles...

 (SLI
Scalable Link Interface
Scalable Link Interface is a brand name for a multi-GPU solution developed by NVIDIA for linking two or more video cards 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.

Since Havok's acquisition by Intel, Havok FX appears to have been shelved or cancelled.

GPUs vs PPUs

The drive toward GPGPU
GPGPU
General-purpose computing on graphics processing units is the technique of using a GPU, which typically handles computation only for computer graphics, to perform computation in applications traditionally handled by the CPU...

 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 parallelization 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 (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 long term 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
PlayStation 2
The PlayStation 2 is a sixth-generation video game console manufactured by Sony as part of the PlayStation series. Its development was announced in March 1999 and it was first released on March 4, 2000, in Japan...

'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

  • Physics card
    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 power for other tasks...

  • Physics Abstraction Layer
  • Microsoft Robotics Studio
    Microsoft Robotics Studio
    Microsoft Robotics Developer Studio is a 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 GPU, which typically handles computation only for computer graphics, to perform computation in applications traditionally handled by the CPU...

    for applications of existing GPUs to the same physics problems PPUs are designed for.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK