[gameprogrammer] Physics Processing Units?

  • From: brianevans <brianevans@xxxxxxxxxxxxxxx>
  • To: gameprogrammer@xxxxxxxxxxxxx
  • Date: Tue, 08 Mar 2005 12:41:47 -0600

 Always timely coverage from the inq: 
http://www.theinquirer.net/?article=21648[1]
------ clip ------
After decades of listening about Central Processing Units, years of
listeningabout Graphic Processing Units and millimoments of listening about
audio processing units, it is time to learn the new term. It's time to start
talking about physics processing units (PPUs). 
...
------------------

So, given the choice between more general CPU's (multicored cpu's) and
specific hardware peripherals, which would you choose?  Certainly graphics
GPU's, and sound processors are specialized enough (DSP?) to merit
specialized chips.  But what about physics hardware?

------ clip -------
The answer is actually an add in card with either PCI Express or a PCI
interface with up to 128MB of dedicated GDDR 3 memory that will take over
allphysics in the games. We saw some cool demos done in software on a laptop
of what this card can do. It can operate with 32000 particles/rigid bodies
orshould I say bones? [You should, Fudo, you should. Ed.] When we talk about
fluids, such cards can handle up to 50000 rigid bones. A CPU can do a couple
hundred at the most. 
-------------------

Ok, well that certainly sounds impressive.  But I'm sure it just doesn't
magically take over all the physics.  Something will have to call into the
drivers for the card.

------ clip -------
Big guys like Gabe Novell, the developer of Half Life 2, asked for more
physics and Jon Carmak of Doom 3 wanted the same. The industry likes the
marchitecture and developers want to programme for it. The application
programming interface (API) is the well known Novodex physics engine and
AGEIA actually owns this famous physics engine company. The big publishers
have worked on the titles for the last 14 months and you will see some of
thereleases very soon. 
-------------------

I guess that settles that then.  Sounds very cool, though I loathe having to
buy another card just for games.  I would much rather them bolt it on to the
video card somehow.

(Lift off in 10... 9... 8...)
And why are these peripheral cards kicking the snot out of general purpose
CPU's?  Maybe the cell architecture is right?  Maybe we need a general
processor CPU with a bunch of really fast general purpose DSP's bolted onto
it?  We can't very well have a specialized peripheral card or chip for every
computationally expensive task we want to handle in hardware, can we?  Maybe
what we really need are a general purpose CPU connected to a mass amount of
adders, multipliers, dividers, decoders, queues, cache and whatever other
hardware widget you might conceivably need, all connected together with a
fast, switchable bus-matrix of sorts.  The idea being that you can organize
specific hardware for whatever specific purpose you want.  How about a bunch
of these things hooked together: http://en.wikipedia.org/wiki/FPGA[2] 

Looks like I'm late on this idea too...
http://en.wikipedia.org/wiki/Reconfigurable_computing[3]

--------- clip --------
Reconfigurable computing is computer[4] processing with highly flexible
computing fabrics. The principal difference when compared to using ordinary
microprocessors[5] is the ability to make substantial changes to the data
path[6] itself in addition to the control flow.

The concept of reconfigurable computing have been around since the 1960s,
when Gerald Estrin[7]'s landmark paper proposed the concept of a computer
consisting of a standard processor and an array of ?reconfigurable?
hardware.The main processor would control the behavior of the reconfigurable
hardware. The reconfigurable hardware would then be tailored made to a
specific task, such as image processing or pattern matching, as quickly as a
dedicated piece of hardware.
-----------------------

Well damn.  Still seems like a good idea though. :)

I really DO write too much.

brian.


--- Links ---
   1 http://www.theinquirer.net/?article=21648
   2 http://en.wikipedia.org/wiki/FPGA
   3 http://en.wikipedia.org/wiki/Reconfigurable_computing
   4 http://en.wikipedia.org/wiki//wiki/Computer
   5 http://en.wikipedia.org/wiki//wiki/Microprocessor
   6 http://en.wikipedia.org/wiki//w/index.php?title=Data_path&amp;action=edit
   7 
http://en.wikipedia.org/wiki//w/index.php?title=Gerald_Estrin&amp;action=edit


---------------------
To unsubscribe go to http://gameprogrammer.com/mailinglist.html


Other related posts: