Dual Core/Multi-Threaded Physics.

HighTest

[H]ard|Gawd
Joined
Feb 17, 2005
Messages
1,245
Noticed this "HydraCore" article on Havoks website:

http://www.havok.com/content/view/25/46/

So is this available now or is this still in production? I would be interested in being able to take advantage of my second CPU core in games. It would be really exciting to have some of the existing Havok titles update their games with the new HydraCore to further enhance their play.

For example, Valve with their episodic releases for HL 2 could benefit from adding HydraCore updates to their Havok physics portion in Steam for Episode 2 or 3 in their HL 2: Episodic trilogy. That would even further encourage my purchase of the next releases.

Personally I find this more encouraging than SLI or CrossFire Havok FX GPU physics.
 
Question -- if Nvidia released a triple-SLi solution that involved two video cards and one core of your processor, would it excite you?

If its largely understood that GPUs far exceed CPUs in graphics processing, why do people have a hard time understanding that a PPU will have similar advantages when doing large vector calculations?

While Havok may be on to something neat with this idea, I don't really see how it can possibly hope to compete with the performance of adding a specialized piece of hardware.
 
Crysis is already recommending a dual core proc...presumably a fair amount of that processing power will go towards the physics.
 
Vidor,

I understand your point. I'm not debating the PPU in the long term, but what I do want is better utilization of what I already own.

Vidor said:
Question -- if Nvidia released a triple-SLi solution that involved two video cards and one core of your processor, would it excite you?
Not really, it would be nice to know that if I ever did purchase another GPU there may be some advantages for it outside of SLI graphics. The ability to use the second core of my existing purchase is what would excite me more.

Going with a second GPU card will cost $, Getting a PPU will cost $. Utilizing the second core of my proc? Money already spent.

In time, and when there is broad enough support for it to make it worthwhile, I'll eventually purchase a PPU. Where the excitement for me is about utilizing existing hardware to a greater degree. In time, just like the GPU altered 3D gaming, the PPU will eventually make it's impact. However utilizing the second core for enhancing physics just a little more is kind of like the shift in preference from Cyrix 6x86 procs back to Intel. Before Quake, the Cyrix dominated due to it's superior "integer" performance and many enthusiasts purchased less expensive Cyrix rigs. When Quake and the 3D gaming relm started (even if not excellerated by a GPU as we currently know them) the FPU performance was what was now real important in gaming. iNtel retook the crown at that point due to the Cyrix FPU performance at nearly half or less of the performance of the Pentium.

I equate a properly configured game using physics with a Dual-Core configuration as that comparison of the Cyrix/Intel of the days of yore. While it's not competing with the PPU in the long term, the performance benefit when properly written code is performed should show a clear benefit of a dual-core proc over a single-core in physics enhanced games. This will begin to excite gamers that don't really get excited over physics about the potential. Then they'll get ready to purchase Voodoo FX of the PPU world.
 
Hydracore is a marketing word for just SMP support.
Just like givin walkin a different name.

To be truly Physics SMP the Game engine must have mutiple threads to do all task and use Dual core for it..
Unreal3 engine wil have it Crysis to.

Dual core is not extra power but a neccisety to move on ramping up CPU power because for in one core to put more Parralelisation IPC by puting more ALU in for 'Out of order' computing doesn't cut it. The more Pipes the less performance wins due to Code dependancy's. So More cores is the solution. But that needs SMP support in software.
More independent Code.
A Dual core CPU is just a CPU but needs SMP support to use it resourses like the two cores. Transistor leakage due to the smaller ProductionProsceses, keep it clock schaling down. Introducing new techicks to keep this leakage down. Dualcore is the anser to keep on going. To keep up with other components like GPU.
Wich are Parralel computing beasts from the start. Wich just keep schaling up.
Te point is the whole software enginering for games must shift to SMP. this means also Hardware drivers, Middleware like Physsic API's. DirectX, OpenGL and of course the game engines. PPU, GPU en GPU for PhysX need SMP in drivers to. So that the CPU can use all cores to fill them with game data/code thruogh mutiple threads or be used for any task the dev are focusing on AI rendering game server.
CPU thus also Dualcore can be used for any task.
If its Graphisc like Quak4 SMP for Render module. Or Crank up the CPU PhysX Crysis. Or do it Ballanced. Like UT2007 UE3 uses Dualcore and PPU.

Hydracore is not something new but SMP where the whole industy is going. From CPU, Drivers for Dedicated hardware. All API and Game engines and that is SMP.

A Dualcore is better in derecting all the different task a game engine must do.
Optional this power can be used for physics. Some will go for it.

PhysX API is also Dualcore ready.
 
SuperGee said:
PhysX API is also Dualcore ready.

The Novodex(now PhysX API) was infact the FIRST multithreaded middelware API.
Havok is now playing catch-up...

Terra...
 
SMP is a necessary feature. With Dual core Quad etc. becoming mainstream Its common sense for not staying behind.
 
So is this available now or is this still in production? I would be interested in being able to take advantage of my second CPU core in games. It would be really exciting to have some of the existing Havok titles update their games with the new HydraCore to further enhance their play.

Oblivion uses Havok multithreaded physics. The iNumHavokThreads parameter in the ini file specifies the number of threads to allocate to the Havok engine. Not much of a performance boost as far as I can tell.

Here are the multithreading tweaks:
http://www.tweakguides.com/Oblivion_9.html
 
hexxx said:
Oblivion uses Havok multithreaded physics. The iNumHavokThreads parameter in the ini file specifies the number of threads to allocate to the Havok engine. Not much of a performance boost as far as I can tell.

Here are the multithreading tweaks:
http://www.tweakguides.com/Oblivion_9.html

Thanks! I'd been holding off on Oblivion, but this last bit of info has me heading to the store to pick it up.
 
This sounds to me like the normal SMP movement in games that we ought to be seeing with the popularity of multi-core. It's just going to improve framerates, not allow better physics.

Although a small improvement would be possible, I think developers are going to be much more interested in the other two physics solutions that are much more powerful.
 
If the performance is better, then the physics that can be done will also be better. This applies to all methods of doing physics (PPU, CPU, GPU, etc).

There is nothing magical about a PPU or GPU that allows it to do more advanced physics than a CPU. They're just faster than the CPU, and so will presumably be doing better physics; but, if physics can be sped up on the cpu, then we will get better physics on it (relatively speaking).
 
jimmyb said:
There is nothing magical about a PPU or GPU that allows it to do more advanced physics than a CPU. They're just faster than the CPU, and so will presumably be doing better physics; but, if physics can be sped up on the cpu, then we will get better physics on it (relatively speaking).

Actually, a PPU and a GPU are different than a CPU. The difference is that a PPU and a GPU are parallel, whereas a CPU is not.

One of the things that requires parallel processors is graphics. Running graphics on a two-core CPU would be like running them on a two-pipe GPU. That's why CPU's can't do graphics.

Another thing that requires massive parallel equations is physics. Therefore, it needs the pipelines of a GPU or a PPU to do well.

So, for the same reason that extra cores can't do graphics, extra cores can't do physics either.

Of course, there would be some sort of improvement. Probably nothing more than an increase in the number of active bodies. A PPU or GPU offers much more potential than even an eight-core CPU.
 
PPUs and GPUs are way more parallel than CPUs but I would think they extract most of their performance advantage by having dedicated algorithms embedded in the silicon. For this reason you can make smaller, simpler cores and because there aren't many dependancies, you can execute many of the calculation in parallel. I wouldn't say parallel processing is a requirement of graphics / physics processing, more of a convenience.

I would think that collision detection would be one aspect of physics calculations that wouldn't be easy to multithread, this is probably why people are noticing extreme frame rate drops at certain moments. It is probably also one of the reasons behind the extremely high internal bandwidth of the PPU.
 
@HOCP4ME

I think you missed my point. I fully admit that a PPU/GPU can do physics faster than a CPU, but if you are able to get a CPU to do physics faster, through smp etc., then you will have the option of doing "better" physics at the cost of that gained performance (more objects, more complex models, etc).

This was in response to your comment, "It's just going to improve framerates, not allow better physics".
 
I think a DC supporting game must formost cranck up the physX load.
A reason for this lak of difference in oblivibion, by just enable smp in the ini file has no influence because this low single core load. influence fanish in a GPU dependant game. and more for users with a midrange G-card.

For enabling be noticable some factors are make a difference.
a ) By enabling SMP for Physic a alternative PhysX load must be avaible.
b ) The new thread is hardcoded to take the other core.
C ) The game is more CPU dependant. Like a flight sim. Or IDsoft games.
D ) The focus for Dualcore support only to physics.
Maybe the average fps make no difference but what about the dips? runing smoother.

Think about this the option for dev's are great.
A game consist of different modules where some can be also SMP multi threaded.
* Render engine 1 or more threads
* Sound 1
* Server 1 ore more
* AI 1
* load thread 1 temporaly
* Decoding thread 1 tempory
* physix 1 or more
* input 1

Where al can be combine in one mixed thread.

As you see the tread combination are endless. and must be split so scheduled over a CPU with just 2 cores. where Thread load could differ very much.
plus the 10 to 20 system thread most idle but not all. Plus apps in background. Like a game supporting app/thread Like teamspeak. savety firewall, virus scanner.

So if not hardcoded affinity to a specific core. on runtime the Physx thread could run with the heavy render thread on the same Core. While the lot more light threads runs on the other.

Quake4 went for supporting 2 treads. But not for where the P4 EE DC the 840EE with HT on is left out of the picture.

So it's a bit more complicated.
 
I think you missed my point. I fully admit that a PPU/GPU can do physics faster than a CPU, but if you are able to get a CPU to do physics faster, through smp etc., then you will have the option of doing "better" physics at the cost of that gained performance (more objects, more complex models, etc).

Okay, I guess you're right. But the difference won't be enough to stamp out GPU/PPU physics, it will just be an added bonus.
 
HOCP4ME said:
Okay, I guess you're right. But the difference won't be enough to stamp out GPU/PPU physics, it will just be an added bonus.

Exactly, as the original poster of this thread, I never intended for the thread to indicate that dual-core enabled software physics would stamp out GPU/PPU. As you are noticing, I and several others are just wanting our "added bonus" for our existing dual-core purchases.

Note my statement back towards the beginning of the thread.

HighTest said:
I understand your point. I'm not debating the PPU in the long term, but what I do want is better utilization of what I already own.
 
HOCP4ME said:
Okay, I guess you're right. But the difference won't be enough to stamp out GPU/PPU physics, it will just be an added bonus.
Not just that. As Dualcore are becoming Mainstream a lot faster then the way Hardware accelerated Physics does. Wich means it's becoming the common Base level of Physics as a dev's target platform. wich with no problem can be gameplay Physics to. Like what always is in some form in a FPS, weapon PhysX. Where PhysicsGPU do just effectphysics for the near Future a DC can add to it all.
Where PPU can extend on DC with all physics at a way more larger scale.
Makes me think of Crysis again.
Where GPU Physics leave out gameplay physX but will support it a bit later next one or two + years?

So Games will get more Physics.
 
Back
Top