[ODE] Multi-threading

Tyler Streeter tylerstreeter at gmail.com
Fri Aug 19 14:52:57 MST 2005


> >I think OpenMP is not the right solution for PC architectures and game 
> 
> algorithms.< 
> 
>   
> 
> Agreed.  As cool as OpenMP is, PC and console developers need much finer
> control over how, when and why threads are created.  ...
> 

> ...My personal opinion is that for a game
> you only need multiple threads per core if you are exploiting some sort of
> hardware parallelism (hard drive, network card, etc.) 
> 

It seems to me that most of these arguments (i.e. referring to "finer
control") are referring to functional parallelism, though, not data
parallelism (which I think is the case with parallel physics/collision
detection).  As long as the problem can be broken into a bunch of
small chunks, each being processed in exactly the same way, we have
data parallelism, and that's what OpenMP is good for.  I don't know
how practical this solution is in the near future, but later when we
have lot of cores to use on standard machiens, it might be.

I thought of OpenMP first because of what I heard at the GDC earlier
this year.  There were multiple talks about OpenMP in games.  Also,
when Ageia gave their presentation (using a multi-core Pentium chip,
not the PhysX chip; I'm guessing it wasn't quite ready for a public
demo), they used a "fork and join" model* that closely matches what
OpenMP does.

Tyler

* See the picture here: http://www.linux-mag.com/content/view/1556/2082/



More information about the ODE mailing list