Bullet on multiple threads

Post Reply
Dirk Gregorius
Posts: 861
Joined: Sun Jul 03, 2005 4:06 pm
Location: Kirkland, WA

Bullet on multiple threads

Post by Dirk Gregorius »

Is it possible to run Bullet on multiple threads on the PC? If yes, is there any example?
Enrico
Posts: 42
Joined: Thu May 17, 2007 9:34 am
Location: Stuttgart, Germany
Contact:

Re: Bullet on multiple threads

Post by Enrico »

You can reuse the SPU-stuff on the PC, there is a multithreaded dispatcher (and solver) for Win32 and Posix-threads. Just look into the "Multithreaded"-Demo.

Actually, you have integrated my Posix thread support patch, so I am curious what your real question is? ;)
Dirk Gregorius
Posts: 861
Joined: Sun Jul 03, 2005 4:06 pm
Location: Kirkland, WA

Re: Bullet on multiple threads

Post by Dirk Gregorius »

Thanks for the info. I will have a look at this.

Actually, I haven't integrated your Posix thread support patch. You might mix something up here :)
Enrico
Posts: 42
Joined: Thu May 17, 2007 9:34 am
Location: Stuttgart, Germany
Contact:

Re: Bullet on multiple threads

Post by Enrico »

Dirk Gregorius wrote:Actually, I haven't integrated your Posix thread support patch. You might mix something up here :)
Oh, yeah :oops:

Here is the thread about the Posix thread support patch, which has some small benchmarks. Might be helpful ;)
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA
Contact:

Re: Bullet on multiple threads

Post by Erwin Coumans »

Indeed, the BulletMultiThreaded demo can run the mid/narrowphase collision detection on multiple threads, when using the SpuGatheringCollisionDispatcher instead of the regular btCollisionDispatcher. Ignore the SpuParallelSolver, it is obsolete and very slow so the SpuParallelSolver will be discarded soon. Note that the parallel collision dispatcher is essentially a portable SPU task, running under SPURS as well as Win32 Threads, Posix, for 32-bit platforms.

Posix support is included in latest versions of Bullet, but under Windows Win32 Threads are recommended.

Note that the non-SPURS version hasn't been optimized yet. DMAs are faked on non-cell platforms. The most useful feature is the ability to debug and analyse the SPU code under Windows.
Hope this helps,
Erwin
VanDelayyyy
Posts: 16
Joined: Thu Jun 26, 2008 6:48 pm

Re: Bullet on multiple threads

Post by VanDelayyyy »

I'm rather new to this so please humor naive question, but can you tell me how the parallelism is achieved? Are objects grouped by location then processed in parallel on separate threads? Is there parallelism across the mid/narrowphase boundary? If there is a good doc i can learn from it would be appreciated. I need to integrate physics/graphics/audio etc. and something like RapidMind would seem to be relevant. Have you had any experience with this or similar approaches (PeakStream, perhaps)? I am tentative about diving into legacy thread-based approaches.. my inertia acting up again :>(.

thanks in advance!
VanDelayyyy

--------
Jerry: Alright. You're on a desert island, you can bring five books. Which five do you take?
George Costanza: I gotta read five books?
Jerry: Okay, only one.
[George takes a long time to answer]
Jerry: Come on!
George Costanza: Ah! I got it. The Three Musketeers.
Jerry: You've read that?
George Costanza: No. I'm saving it for the island.
Post Reply