Horde3D
http://horde3d.org/forums/

Parallel Software Skinning
http://horde3d.org/forums/viewtopic.php?f=8&t=1260
Page 1 of 1

Author:  Siavash [ 27.09.2010, 11:23 ]
Post subject:  Parallel Software Skinning

Hi, I had a try with Intel Threading Building Blocks today to make the software skinning parallel. Here is my results after 4 hours of reading the TBB manual and integrating that into the Horde3D :
Chicago Sample running with 200 characters Geo Updates Timer wrote:
Normal code without using SSE : about 60ms
Normal code with /arch:SSE2 : about 53ms
Parallel code with /arch:SSE2 : about 40ms

I'm getting those results on an Intel Core2 Quad 2.83GHz, and overall CPU usage staying about 45%. Here is the Patch and Binaries if anybody is interested.
[You need Intel TBB 3.0 and #define H3D_USE_TBB in order to compile the parallel code.]

Best Regards, Siavash.

Apr 17, 2013 wrote:
Patch removed, there is no point in them. However I do recommend to use OpenMP in case you don't like to add another dependency, and in case of OpenMP absence, serial code will be generated happily.

Author:  Volker [ 27.09.2010, 13:42 ]
Post subject:  Re: Parallel Software Skinning

Did you also tried using OpenMP? Would be less intel specific.

Author:  Siavash [ 27.09.2010, 15:11 ]
Post subject:  Re: Parallel Software Skinning

Volker wrote:
Did you also tried using OpenMP?
Not really, AFAIK OpenMP is not available by default to MSVC Express users so that should be a cons. But in other hand Intel TBB is widely being used by products such as Maya, UnrealEngine and lot more and is available at Linux repositories too (Ubuntu, Fedora, Gentoo and ...)

Volker wrote:
Would be less intel specific.
If you mean that final code will be running slower on non-Intel CPU manufactures, no, IMHO TBB runs everywhere fine. If you are concerned about the license, well it's licensed under GPL v2 with the libstdC++ Runtime Exception. Is it problematic?

Author:  Volker [ 27.09.2010, 17:21 ]
Post subject:  Re: Parallel Software Skinning

Siavash wrote:
If you mean that final code will be running slower on non-Intel CPU manufactures, no, IMHO TBB runs everywhere fine. If you are concerned about the license, well it's licensed under GPL v2 with the libstdC++ Runtime Exception. Is it problematic?

As long as Horde is only licensed under EPL, yes it is. Didn't know that TBB is also working on AMD CPUs.

Author:  Siavash [ 27.09.2010, 17:46 ]
Post subject:  Re: Parallel Software Skinning

Volker wrote:
As long as Horde is only licensed under EPL, yes it is.

I'm really confused :( What I thought from here is that it won't affect the Horde3D. Also here people say that it's OK to use Intel TBB in commercial products too without any problems. Here is a bit taken from libstdc++ FAQ :

libstdc++ FAQ wrote:
2.2. So any program which uses libstdc++ falls under the GPL?

No. The special exception permits use of the library in proprietary applications.

Also I asked a few questions at #FSF before and there where no problems. Please correct me if I'm wrong somewhere.

Author:  Volker [ 27.09.2010, 22:09 ]
Post subject:  Re: Parallel Software Skinning

I haven't read the exception text. I guess you're right that it doesn't affect Horde if one would use TBB.

Author:  swiftcoder [ 28.09.2010, 12:52 ]
Post subject:  Re: Parallel Software Skinning

You are correct. TBB is offerered under the same license (GPL + linking exception) as the std library, and as such can be used commercially or uin open-source projects.

The separate 'commercial license' which Intel sells, is for commercial support, and gives you extensive technical support (which the free license doesn't have).

Page 1 of 1 All times are UTC + 1 hour
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/