Hi,

we are currently working on a routine that deforms large vertex arrays on the 
fly. To speed this up we implemented multithreading using OpenThreads.

Simple example:

We have a point cloud of e.g. 10 million points. The calculation is done on 
e.g. 4 processors.
The first thread is assigned to processor 0 using setProcessorAffinity(0) and 
works on the first 2.5 million points. On the second thread 
setProcessorAffinity(1) is applied. The other points are equivalently handled 
by processors 2 and 3. Performance scales by about 90% per doubled processor 
count.

This works fine on WINDOWS 32-Bit.

When testing this on 64bit Linux we noticed that setProcessorAffinity returns 
-1. Performance does not scale at all. All operations seem to be executed on 
one CPU.
I already learned that using pthreads on linux setProcessorAffinity won't work 
at all? The operation system does not seem to automatically apply our threads 
to different cpus.

So what can you suggest to distribute our calculations to multiple cpus on 
LINUX?


Thank you!

Cheers,
Johannes

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=33205#33205





_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to