I've been looking into thread/process affinity with respect to a
dual-GPU setup. This is what I found back then:
2 processes, CPU affinity on different cores, each renders the full
scene on a different GPU
OSG_THREADING=SingleThreaded
(1 core shows heavy use, 2nd core show moderate use, 2 cores idle)
Quadro 5600 8800GTX
Multi-GPU / Multi-Processing 16 15 (fps)
OSG_THREADING=ThreadPerContext
(CPU Affinity is set but appears to be ignored: 1 core shows heavy use,
others idle)
Multi-GPU / Multi-Processing 11 14 (fps)
So, yes, it helps if the CPU load is balanced across cores, even for
this simple 25M polygon scene that is for 99% GPU. Also, OSG seems to
mess up manual settings when set to multi-threading :) Check CPU loads
in the performance monitor. Don't let 3 cores stand idle all the time;
it's a waste of available processing time, and this will only get worse
in the future with more cores.
Side note, I finally received my 4GB memory, so I can get this quad
core, dual GTX260, pcie 2.0 machine running :) Let's see if it behaves
differently from a Quadro+8800 on pcie 1.1.
Ulrich Hertlein wrote:
Additionally: what is the communities' experience with manually assigning
processes to cores? Does it work?
It sounds like a good idea but in my experience it's best to leave the
scheduling up to the operating system to handle core affinity (except when
you're running Windows which has a completely fscked-up round-robin scheduler).
Cheers,
/ulrich
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
--
Regards,
Ferdi Smit
INS3 Visualization and 3D Interfaces
CWI Amsterdam, The Netherlands
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org