A company called AGEIA is working on Physics Processing Unit, a chip similar to the GPUs found on graphics card but with its sole purpose to offload phyiscs calculations found in most modern games from the CPU onto their new PPU. Read more for some thoughts on this development from Kaya Memisoglu.Although it is a really interesting idea, I wonder if this concept will have success or if it will fail. Especially when looking at the new multi-core CPUs from Intel and the Cell Processor, I doubt that there will be a real market for such a highly specialised chip. It would have to offer a really huge acceleration to be more attractive than a multi-core or multi-CPU systems, with todays CPUs already offering fast acceleration of common vector operations through SSE or AltiVec.
Plus how many people would by an additional PCI card containg this chip to accelerate a handfull of games based on the Novodex Physics SDK (which seems to be the only SDK that benefits from this chip)? I guess there are only some hardcore gamers with a big budget that would spend some money on such a card.
On the other hand a PCI card based on the Cell processor seems far more attractive to the masses, as it has an open standard and can be used for far more applications than only physics simulations. The high specialisation of the AEGIA Physics chip is one of its biggest drawbacks, so I predict it will only be able to gain a negligible market share.
But only the future can tell how this PPU will position itself within the gaming market.
I’m working on a driving simulator using ODE and the Novodex guys occasionally post in the mailing list. The reason I’m hopeful is because they are or at least were pushing for an open physics language. Think OpenGL for physics. This could be huge for lots of reasons, simulators tend to be CPU bound even now with 3+ Ghz processors. I just hope they allow ODE to make use of it instead of tying it to their proprietary engine.
It’s why games still feel so unrealistic, even though they’re almost starting to look real with the right tricks and use of lighting (tricks like avoiding water, close-ups to faces, and other things that require simulations we haven’t figured out or rendering quality we don’t have hardware for).
But there isn’t much as far as working around the physics, except of course horribly limiting your game play. Remember Doom2, yea not much physics there compared to say … UT2K4. The fact that we run UT2K4 on processors a thousand times more powerful, and many years of development, might have just a little bit to do with that!
This card is a great idea; it will be convincing gamers to go back to $1500 systems now that they are used to $1000 systems. I know I’d only buy one if it was say … $70, or if I could use it for compiling.
And I think it’s PCI-E only, not PCI.
It sounds like we’re moving toward what Amiga had started, ableit with slightly evolved requirements. CPU’s for sound, graphics, and physics.
the only way to have this right is to have the physic engin at the root and the app code under it. That mean the x86 cpu need to be the coprocessor, not gonna appen.
The closest thing to have it right would be in a massive cross matrix architecture, or else you will see bottleneck everywere. 3D card only work because they are a one way road, physic require feedback from the “world” to every part of the system.
As for the API, the one that feature such function as F=MA is open enough for me.
the only way to have this right is to have the physic engin at the root and the app code under it. That mean the x86 cpu need to be the coprocessor, not gonna appen.
The closest thing to have it right would be in a massive cross matrix architecture, or else you will see bottleneck everywere. 3D card only work because they are a one way road, physic require feedback from the “world” to every part of the system.
As for the API, the one that feature such function as F=MA is open enough for me.
Theres an interview with the creators here:
http://www.gamers-depot.com/interviews/agiea/001.htm
and some more info here:
http://www.theinquirer.net/?article=21648
Oh and it comes in both pci-x and pci flavors.
I could see it as a plug-in module for video cards, but not as a stand alone card itself. At high resolution, your RAM bandwidth is going to to be hurting–especially with PCI.
The resolution shouldnt make the slightest difference. Calculating an objects motion and collision is independant of what res its rendered at.
Could do with some kind of hardware booster for all the algorithms in Octave ( http://www.octave.org/ ), such as a chip that could handle the parallel branch-free algos at extremely high speed (much like Graphics processing units or DSPs or whatever (Cell Processor!)), instead of having a bunch of parallel x86 machines that chug along.
Yeah, I certainly support some sort of open standard physics language along with hardware support. Good going guys!
On slashdot they said these would use a PCI-express port, not standard PCI.
Second these would would work similiar to Graphic cards. You offload the Physics to the card and let it output back results. Meaning that your 1.5 ghz P4, with a GPU and PPU could out perform your 3.5 ghz P4 with the same GPU while playing Duke Nukem Forever.
don’t see this being used for anything else except maybe rendering.
it is so funny that the computer architecture is now moving towards specialized systems (and parts of it) although the computer, as we use it nowadays, is regarded as a modern computer only because of the fact that it is designed to be a device general enough to do all kinds computations.
now that we can do all kinds of computations on a modern computer, we see that the “von Neumann”-architecture is gerneral but not powerful enough. and that’s fairly intriguing and amusing, the whole computer science wouldn’t have evolved without it and has a strong belief that it is the only way a computer can work.
Those of you saying it’ll be a strain on RAM bandwidth: the card has 128 MB GDDR3. Wonder how that’s going to be used…
If you go to the interview link above they mention it will be out for both pci-x and pci, they even have a shot of the board.
The PPU doesn’t render anything it just calculates the physics part of the game eg collision detection, freeing up the CPU to do something else.
“The resolution shouldnt make the slightest difference. Calculating an objects motion and collision is independant of what res its rendered at.”
Motion and collision detection calculations will be affected by resolution for small objects. Deformation calculations (a big part of the physics modeling, I think) would most certainly be affected by resolution.
I’ve seen a picture of a prototype board which is a clever hybrid of both architectures in that it had the pci interface on 1 edge and pci-e on the other allowing them to test both simply by flipping the card over.
Didn’t see yet on their website how they implement this, either an ASIC or FPGA. It would be way cooler if a general purpose FPGA board with top of the line Virtex or Stratix devices were used on say PCIe with the Physics engine just a download package.
That would allow same HW to be used in general for other supercomputer problems and for volume sales to several markets to share the dev costs. Dumping the entire dev cost onto just Pyhsics/game market means initial costs will be high. This needs more research but clearly the gaming market could help drive plugin board accelerators.
my 2c
as mentionned some weeks ago (here or elsewhere I don’t remember) to me, the future is this (maybe in addition to a physics chip 😉 :
OpenRT:
http://graphics.cs.uni-sb.de/RTGames/
prototype raytraced Q3 (look at the video):
http://graphics.cs.uni-sb.de/~sidapohl/egoshooter/
prototype RT chip:
http://www.saarcor.de/
imagine a flight simulator that renders the whole earth as is without tricks:
http://graphics.cs.uni-sb.de/MassiveRT/boeing777.html
I don’t think anybody here disagrees with the idea that physics (more precisely, physics-related mathematical operations) are important for games and some niche applications. The question is whether a dedicated processor or faster generic processors will give the best price-performance value.
If CELL can give better or comparable physics calculation performance WHILE still possessing enough CPU cycles for the other requirements of gaming, then I’d go with the generic solution. While we’re at it, how will CELL compare to the performance of accelerated 3D GPUs? Can it handle the same requirements at the same performance? If so, then I’d probablye prefer to throw in more CELL processors on that high-speed bus of theirs.
Physics yes, but simplified, right? Is an additional co-processor really neccessary for this or could this be easier done with advanced code on the main CPU?
I remembered a quote from a coder, forget the name, who said (roughly):
It has to be appear as real physics, but you don’t use the real thing. In the end all what counts is that it should *look* real, who cares what is behind.
Remember the old days when hardware 3D acceration was done using add-in boards that plugged into the graphics card? Do you remember the VooDoo1? If you do, then I guess I don’t need to say much.
In those times, yes we did need a separate board but then graphics cards got better and one wasn’t required. For now, we might need these PPU boards. In the future that might change because they might start incorporating them in the CPU or GPU core. Who knows.
I think this might be a prett neat thing. If a the PPU can do all the physic calculations which is probably pretty CPU intensive, then the CPU can do other things. Not only that, but hopefully we’ll see some really wild physics in the whole gaming enviroment. Truely emmersive gaming. I’m just not sure what else the main CPU would be doing. I guess just general tasks like allocating memory, input control, network control, and other tasks.
Have some knowledge of this ASIC (Not FPGA). Saw the specs awhile ago, never really read them in detail. As I understand, this ASIC it is a series of FP vector processors (I don’t remember how many, a bunch… 8 – 16?) controlled by an internal MIPS core. It is more accurate to think of this along the lines of CELL with a dedicated API aimed at physics. When I first read the specs of cell, I thought Ageia (but actually cooler.) As far as the chip is concerned, it doesn’t care what it is calculating, it could be physics, it could be lotto numbers, I suppose it could be finding prime numbers. It is simply a bunch of generic number crunchers. But, again, I skimmed through the document, and couldn’t give you more details.
But it is real, and there is teir one interest I know as a fact.
More advanced/better AI, and more individual entities doing their own thing would both be a good idea.
And all of those onboard controller chips aren’t specialized? Or the chip on your modem card? Your sound card? I assume your CPU is processing the data stream directly from your HDD, making corrections as it goes?
As computing matures, specialized chips help push down areas where bottlenecks form. You could hold the “Cell” in reverence, but there is no reason why a Cell would have higher processing power than a Cell-like physics chip. Ultimately it comes down to “Do we need more of this for gaming to advance and can we get this built onto the main CPU?” History has shown Yes, and No.
Personally I cringe every time I watch those exquisitely rendered Tekken 5 characters in all their reflection and bump mapped glory, flapping clothing, and highly expressive facial animations grapple with eachother like they were both mimes covered in invisible plastic eggs.
A dedicated physics chip could be useful in areas other than games.
One that comes to mind in physical modelling of musical instruments, this takes vast amounts of computing power and a dedicated CPU could come in very handy. I wouldn’t be the least bit surprised if this turns up in a synth in the not too distant future.
…and people doing er, Physics could probably use them.
Take for example PURE. Quote from thier website – “PURE PCI Rendering Card – contains 8 x AR350 Raytracing Processors”
http://www.art-render.com/products.ihtml?page=pureoverview
So it can potentially be useful.
Throwing more processing power at physics in games is a good idea. There’s no doubt about that, as it can open a whole new dimension of gameplay.
Then again, I have my doubts whether this chip has a bright future, considering that multi-core is all the rage these days, and we might see a Cell-like architecture in the PC in the not too distant future.
The thing is, graphics benefits a lot from dedicated circuitry. Yes, there’s a trend to more and more programmable graphics hardware, but notice how two critical parts of the graphics pipeline don’t become programmable: The rasterizer (i.e. the part that turns vertex data into fragment/pixel data) and the texture samplers. These are both operations that are very expensive on a general purpose architecture (ever wonder why software renderers only do nearest filtering?), but benefit *a lot* from dedicated hardware.
Now maybe it turns out that there are similarly dominant special operations in physics simulations, but somehow I doubt it. That, combined with the fact that most people don’t need physics simulation (while they *do* need at least a little bit of graphics hardware acceleration) is why I believe some Cell-like multipurpose coprocessor will eventually beat this physics coprocessor out of the market. Mind you though, that might still be some years down the line…
The success of such a board will mainly depend on developers supporting it. Epic, Ubisoft and some other big name developers have already pledged support. It will have 15 titles that use it by the time it comes out (they say release will be late this year) so if other developers follow suit then gamers will have to buy the card or not be able to play the games at all.
Sure at first they will support both people that have the ppu and people that don’t (software rendering option in older games when 3d cards first came out anyone?) but slowly phase them out as developers get a better handle on what the ppu can do.
What someone should invent are these really cool processors that can act in parralel at very high speeds. You know, kinda work in “cells”. That way the code can be programmable.<BR><BR> If you missed that, I’m saying that IBM’s new cell processors should take care of this. You could either use 1-4 as a co-processor for cool stuff, or as a main processor. They should have the juice for something like this, and they’d be programmable to a higher level then something like what’s proposed here could ever be. The downside is that these wouldn’t be hardware upgradable as much as buying a new card and plopping it into a PCIe slot would be.
I don’t see why they just don’t license the chip out to card manufacturers and simply make a card with both a GPU and a physics processing unit.. That would be killer!
That’s what I’m thinking too. It would probably be easier for GPU manufactures to license this then make a dual-core type processor that has a GPU and a PPU then slap that onto the video card. There’s enough bandwidth there for both the GPU and PPU. At least there should be.
I’ve been wondering whether the new shader languages are flexible enough to allow physics simultions on the GPU.
An not just gaming physics. I’m thinking about Navier-Stokes based simulations and similar stuff.
read on http://www.linuxgames.com