Hi again,
It's a Intel Centrino Duo x86 processor (Dell XPS laptop), Intel Core2 CPU T7600 @ 2.33GHz. (2 cores)
I use 32bit Ubuntu Gutsy (7.10), and the compiler is gcc 4.1.3.
I checked again now, the demo is using the Posix threads.
Let me know if I can help with anything!
best regards,
Ola
Posix Thread Support - Patch & small benchmark
-
- Posts: 169
- Joined: Sun Jan 14, 2007 7:56 pm
- Location: Norway
-
- Posts: 42
- Joined: Thu May 17, 2007 9:34 am
- Location: Stuttgart, Germany
Re: Posix Thread Support - Patch & small benchmark
Ok, I have the AMD64 Build fixed
I was not able to reproduce the problem with double precision
The problem with the segmentation faults is something in cellDma*(). I have it somewhat working, some parts still missing...
I was not able to reproduce the problem with double precision
The problem with the segmentation faults is something in cellDma*(). I have it somewhat working, some parts still missing...
-
- Posts: 133
- Joined: Wed Jul 27, 2005 1:05 pm
- Location: Berkeley, CA
Re: Posix Thread Support - Patch & small benchmark
Can you please provide a patch for your fixes, against the current googlecode SVN?
-
- Posts: 42
- Joined: Thu May 17, 2007 9:34 am
- Location: Stuttgart, Germany
Re: Posix Thread Support - Patch & small benchmark
Sure, when I am finishedJohn McCutchan wrote:Can you please provide a patch for your fixes, against the current googlecode SVN?
On x86 I can reproduce the problem with double precision, on x86_64 I am running into several assertions. And on both systems I am fighting with Null-Pointers in the SpuFakeDma-stuff...
-
- Posts: 133
- Joined: Wed Jul 27, 2005 1:05 pm
- Location: Berkeley, CA
Re: Posix Thread Support - Patch & small benchmark
Okay. Sorry, I was confused and thought that you had fixed the bugs. Let me know how it goes.
-
- Posts: 42
- Joined: Thu May 17, 2007 9:34 am
- Location: Stuttgart, Germany
Re: Posix Thread Support - Patch & small benchmark
With SVN revision 1130 (most recent) I have a patch to make everything compile. However, in handleCollisionPair() the CollisionShape-pointers are NULL which causes the segmentation faults on any Linux system. I don't know the code so it takes me a while to dig through everything... When changing the memory copy stuff in SpuFakeDma I get rid of these crashes. Then there are some more bad pointers with proxy-objects.
I can send you the x86_64 patch, if you want. Crashes are on both architectures.
I can send you the x86_64 patch, if you want. Crashes are on both architectures.
-
- Site Admin
- Posts: 4221
- Joined: Sun Jun 26, 2005 6:43 pm
- Location: California, USA
Re: Posix Thread Support - Patch & small benchmark
BulletMultiThreaded was designed for Cell SPUs for 32bit and single precision floating point.
Making this part work for 64-bit and double precision could be a big effort. The regular non-multi threaded Bullet engine (under Bullet/src) should work in both 32bit and 64bit, as well as single and double precision.
Currently AllBulletDemos relies on BulletMultiTheaded, but we will remove this dependency in Bullet 2.68.
Hope this helps,
Erwin
Making this part work for 64-bit and double precision could be a big effort. The regular non-multi threaded Bullet engine (under Bullet/src) should work in both 32bit and 64bit, as well as single and double precision.
Currently AllBulletDemos relies on BulletMultiTheaded, but we will remove this dependency in Bullet 2.68.
Hope this helps,
Erwin
-
- Posts: 42
- Joined: Thu May 17, 2007 9:34 am
- Location: Stuttgart, Germany
Re: Posix Thread Support - Patch & small benchmark
So you suggest writing a second BulletMultiThreaded will be faster, easier and "better" than fixing the current one?Erwin Coumans wrote:BulletMultiThreaded was designed for Cell SPUs for 32bit and single precision floating point.
Making this part work for 64-bit and double precision could be a big effort. The regular non-multi threaded Bullet engine (under Bullet/src) should work in both 32bit and 64bit, as well as single and double precision.
Currently AllBulletDemos relies on BulletMultiTheaded, but we will remove this dependency in Bullet 2.68.
-
- Site Admin
- Posts: 4221
- Joined: Sun Jun 26, 2005 6:43 pm
- Location: California, USA
Re: Posix Thread Support - Patch & small benchmark
Borh rewriting the current BulletMultiThreaded and rewriting a new one are valid options. There is an upcoming contribution that could be a good alternative to the new multi threaded version. We can't provide more info about this contribution right now.So you suggest writing a second BulletMultiThreaded will be faster, easier and "better" than fixing the current one?
For the existing BulletMultiThreaded: we will need to review the existing BulletMultiThreaded and see what parts need to be optimized to take benefit of multi-core systems with shared cache.
The Cell SPU DMA has been implemented as an expensive memcpy, and some other slow operations should be replaced, and some prefetch operations added etc.
We received a fast multi-core system (thanks Intel!) so once we have time we can optimize things. Also the constraint solver lacks a lot of optimizations that are in the regular solver.
Hope this helps,
Erwin
-
- Posts: 17
- Joined: Thu Jun 12, 2008 1:32 pm
Re: Posix Thread Support - Patch & small benchmark
Do you already have some more details on this "upcoming contribution"? When will it be available (roughly)? I think a lot of people, including me, are interested in this.There is an upcoming contribution that could be a good alternative to the new multi threaded version. We can't provide more info about this contribution right now.