[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