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

