AMD says that the Havok physics API can sit on top OpenCL and Stream.
AMD might have publicly declared its support for Havok’s gaming physics technology, but the company has been curiously quiet about GPU-accelerated physics since
Intel bought Havok in 2007. Since then, AMD has revealed that it’s still
working with Havok, but has only really talked about running Havok on AMD’s x86 CPUs. However, AMD has now revealed that it plans to demonstrate its own GPU-accelerated physics technology at the Game Developers Conference (GDC) next week.
AMD’s Catalyst product manager, Terry Makedon, revealed on his
Twitter feed that AMD would reveal its
“ATI GPU Physics strategy,” and added that there may also be
“a demo being thrown down next week at GDC.” Makedon also said that
"Havok is indeed our partner of choice," when asked about the talk. The
60-minute talk, called “Having Your Cake and Eating it Too: Increasing Game Realism, Scale and Reach” will take place at GDC on 26 March.
The summary for the session says that AMD will discuss “the latest on game computing featuring open, standards-based physics with OpenCL and ATI Stream.” AMD’s stream computing director, Patti Harrell, explained to us a while ago that “the beauty of Havok is that ultimately we would expect it to sit on top of these industry standard APIs as they become available. So we’re working with them, and in fact there’s a team in our consumer group who works very closely with them on a daily basis.”
AMD found itself in a difficult situation after Intel bought Havok and Nvidia bought Ageia, and the company claimed that talks about GPU acceleration using the Havok FX API effectively
broke down after Intel bought Havok. Since then, the focus for AMD has been CPU support for the physics API. At the time, Havok’s managing director, David O’Meara, explained the priority for CPUs, saying that
“the feedback that we consistently receive from leading game developers is that core game play simulation should be performed on CPU cores.”
However, he added that GPU physics acceleration could become a feature in the future, saying that
“the capabilities of massively parallel products offer technical possibilities for computing certain types of simulation. We look forward to working with AMD to explore these possibilities.”
Is GPU-accelerated physics going to play a major part in the future of PC gaming, and should AMD be working on accelerating Havok with Stream and OpenCL rather than using Nvidia’s PhysX API? Let us know your thoughts in
the forums.
13 Comments
Discuss in the forums Replyand HAVOK is used by ALOT of games, so if they can find away to enable gpu physics with those games the possibilities are endless and everyone will be happy :P
however, that doesn't exclude the fact that i think it's really lame that nvidia uses physx as a proprietary API, when they could open it to anybody who would want to use it for free. it seems to me they just want to make some money to palliate the losses of the mobile 8 and 9 series gpus and the money spent to buy ageia.
wouldn't it be SO much better for the industry if amd and nvidia worked together on physx, and brought the tech to all gamers and devs? everybody would use it since every card maker would have the tech, and gamers would be happier.
seriously, competition is good, but how about leaving it aside from time to time for the greater good?
NVIDIA was right at the time to purchase Ageia and make it run on their GPUs. If they could buy Havok instead they would have done so, but Ageia was made from the start to run on dedicated physics processing hardware which Havok was not. Old games using Havok can't automatically run it's physics on the CPU. They would need to be patched for this to happen and I doubt most games would receive "GPU physics updates". Games that are 2-3 years old rarely receive feature upgrades, seldom bug fixes.
Also I don't get why people are focusing so much on a single physics middleware. When DirectX 11 Compute Shader comes about I'm sure this will be the standard instead and the other middleware will be rewritten to take advantage of this if they have to.
There are multiple layers here.
Game <--> Physics middleware --> GPU API: CUDA, Streams, OpenCL --> GPU hardware itself
Agree with bolded part.
Havok has had GPU physics since HavokFX, which if I recall correctly, was built to use with the DX9 API. The future will be the same, using OPENCL/DX11. I disagree Ageia was a smart business choice, rather a snap judgement to establish the market and corner it, which will fail. The compute shader in DX11 will allow it to be used RATHER than stream/cuda, right? Therefore companies could bypass the propriatary APIs and build (ex: physics) engines using it. Since the key to success is always the lowest common denominator, OpenCL/DX11 will be the future of these engines, as they will run on all upcoming hardware, rather than a proprietary API by a gfx company or subsidiary, such as physx using CUDA, or even HAVOK using OpenCL through stream (and possibley CUDA). OpenCL can run through cuda/stream, but dx11/compute shader will be it's own thing. If anything, OpenCL is the "now" for current gpus, and DX11 is the future, as it will allow for less layers.
I know you don't, but I think many don't realize physX was NEVER about dedicated hardware. It's all about a closed API (software SDK) and charging licensing fees to use it, no matter what Ageia or nvidia WANT you to believe. All they have done is code it in a way unusable to those whom they don't want it to. This is why we see it now available on the Wii/PS3, neither of which use CUDA or some kind of dedicated hardware. With how quickly it was ported to CUDA from whatever Ageia used for their chip, it is even more apparent. With the upcoming programability of more open APIs, physX will be forced to include its self to be programmed using OCL/DX11 or die, as it would, as you said, be replaced by a more open standard...Such as what Havok is, and has always done.
As such, as soon as this hits market, I imagine that nvidia will both license the tech from havok to run through cuda->opencl, and try to license physX in the same way (stream->opencl). These are only stepping stones to dx11 though.
This is not unlike sli and crossfire. Nvidia likes a closed standard only usable on their hardware to drive sales and marketshare, and will do whatever they can to keep it that way. ATi (and AMD) have ALWAYS been about open standards, as fanboi as it may sound. Just as ATi allowing crossfire on Intel boards opened the way to SLI on non-nvidia motherboards, this will open the way to physX without the requirement of cuda.
You can call it a smart business decision on nvidia's part, I just call them *******s.
We optimized the open source Bullet Physics SDK for CUDA and PLAYSTATION 3 SPUs, and are collaborating with Intel on Larrabee optimizations and AMD on an OpenCL version. Bullet is used by several commercial game companies, including Rockstar on GTA IV, Sony Computer Entertainment, and Disney Interactive to name a few.
These optimizations will be available for anyone to use, and we target for a low-level Physics API, similar to OpenGL/D3D. This way, anyone can benefit from new hardware, not just PhysX and Havok developers.
We are discussing these topic at the Physics Tutorial on next weeks Game Developers Conference.