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

Reply via email to