Re: [osg-users] WGL_NV_gpu_affinity

2009-01-03 Thread Stefan Eilemann


On 3. Jan 2009, at 10:01, Ferdi Smit wrote:


Interesting Stefan, I didn't know that.

So how would one achieve similar effect on non-quadro cards?


To my knowledge:

1) Use Linux/OS X
2) Soft-mod your Geforce to a Quadro
3) It might be possible with ATI cards, I haven't checked that for  
some time.



Surely it must be possible to use two GPUs independently?


You can, just not with OpenGL. Cuda, OpenCL and iirc Direct3D can  
address individual GPU's.


If not, that means that multi-GPU systems are inherently broken on  
windows?


Depends on you definition of broken. For a user it is certainly good  
to be able to drag GL windows across GPU's.


Also the overhead is 'just' broadcasting GL commands to all GPU's. If  
your window covers only one GPU, the other GPU(s) will have no  
fragments to process.


Or can I setup truly independent screens in driver settings, like  
with X?


Not that I am aware of, but I'ld like to know if you find a solution.


Cheers,

Stefan.
--
http://www.eyescale.ch
http://www.equalizergraphics.com
http://www.linkedin.com/in/eilemann



___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] WGL_NV_gpu_affinity

2009-01-03 Thread Ferdi Smit

Interesting Stefan, I didn't know that.

So how would one achieve similar effect on non-quadro cards? Surely it 
must be possible to use two GPUs independently? If not, that means that 
multi-GPU systems are inherently broken on windows? Or can I setup truly 
independent screens in driver settings, like with X? I thought that's 
what I did already. But I can see that it's doing this, as the taskbar 
on the other screens shows a preview, so it must still be sending 
commands to both cards then. Seems like a ridiculous default to me; a 
small benefit at great cost.




The default under windows is that all GL commands go to all GPU's, so 
that one can drag a window across multiple GPU's.


The default on X11 is the opposite - you only see GL on the screen 
you've used to open the display connection.


The GPU affinity extension limits the GL commands to a subset of your 
GPU's. I've done tests showing that it gives you ~15% faster 
performance on a dual-GPU system. The window was only on one 
screen/GPU. Sample code and tests can be easily done with Equalizer 
(see signature).


The extension is only available on Quadro cards, and a bit tricky to 
use. You have to create a temporary GL context to get the extension 
function pointers _on a screen driven by an nVidia card_.



HTH,

Stefan.




--
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


Re: [osg-users] WGL_NV_gpu_affinity

2008-12-29 Thread Stefan Eilemann


On 24. Dec 2008, at 14:10, Robert Osfield wrote:


If things are performing under Windows it's most likely a driver
issue. I can't see any reason why the way that the OSG is opening up
windows under Windows, or he lack of gpu affinity extension as being
the problem as normally the screen number and GPU attached to to the
associated physical screen should provide all the info the driver
needs to map things correctly.  Linux/X11 works just fine with just
the screen number so doesn't have any more information or controls
that would make it behave differently, so it's all down to the
driver/windowing system.

Now it might be that the NVidia drivers under windows are a bit
screwed when it comes to driving multiple displays and that one has to
add the extra extension usage to give it the kick up the butt that it
needs to do the right thing.  Try experimenting with the gpu affinity
extension see if it makes any difference.


The default under windows is that all GL commands go to all GPU's, so  
that one can drag a window across multiple GPU's.


The default on X11 is the opposite - you only see GL on the screen  
you've used to open the display connection.


The GPU affinity extension limits the GL commands to a subset of your  
GPU's. I've done tests showing that it gives you ~15% faster  
performance on a dual-GPU system. The window was only on one screen/ 
GPU. Sample code and tests can be easily done with Equalizer (see  
signature).


The extension is only available on Quadro cards, and a bit tricky to  
use. You have to create a temporary GL context to get the extension  
function pointers _on a screen driven by an nVidia card_.



HTH,

Stefan.

--
http://www.eyescale.ch
http://www.equalizergraphics.com
http://www.linkedin.com/in/eilemann



___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] WGL_NV_gpu_affinity

2008-12-24 Thread Ferdi Smit

Hello Robert,

Ok, I'll experiment with it. I can't right now though because I'm on 
holidays and only have a laptop. I do wonder why the extension is there 
if setting up a screen alone is enough. The window manager does give a 
little preview of the screen in the taskbar, so it is fetching data; 
perhaps that's the cause of the slowness... I'll try in Jan...


Robert Osfield wrote:

Hi Ferdi,

On Wed, Dec 24, 2008 at 11:16 AM, Ferdi Smit  wrote:
  

Is WGL_NV_gpu_affinity no longer useful on windows?



I believe it's a relatively new extension, so rather than no longer
useful, it may be become useful, but just not deployed yet.  I'm not
very familiar with this extension don't know if it can directly
address the performance issues you are seeing.  More thoughts below.

  

Because it is not used
in the win32 graphics window. I'm asking this because even though I can open
rendering windows on two GPUs and use them in parallel in two distinct
processes (by having two screens, one for each gpu, just like in linux/X),
the frame rate is cut in half on windows, while it is not on linux. So I'm
wonder if rendering commands are actually still send to both cards. Driving
multiple GPUs independently is a pain anyhow...



If things are performing under Windows it's most likely a driver
issue. I can't see any reason why the way that the OSG is opening up
windows under Windows, or he lack of gpu affinity extension as being
the problem as normally the screen number and GPU attached to to the
associated physical screen should provide all the info the driver
needs to map things correctly.  Linux/X11 works just fine with just
the screen number so doesn't have any more information or controls
that would make it behave differently, so it's all down to the
driver/windowing system.

Now it might be that the NVidia drivers under windows are a bit
screwed when it comes to driving multiple displays and that one has to
add the extra extension usage to give it the kick up the butt that it
needs to do the right thing.  Try experimenting with the gpu affinity
extension see if it makes any difference.

Robert.
___
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


Re: [osg-users] WGL_NV_gpu_affinity

2008-12-24 Thread Robert Osfield
Hi Ferdi,

On Wed, Dec 24, 2008 at 11:16 AM, Ferdi Smit  wrote:
> Is WGL_NV_gpu_affinity no longer useful on windows?

I believe it's a relatively new extension, so rather than no longer
useful, it may be become useful, but just not deployed yet.  I'm not
very familiar with this extension don't know if it can directly
address the performance issues you are seeing.  More thoughts below.

> Because it is not used
> in the win32 graphics window. I'm asking this because even though I can open
> rendering windows on two GPUs and use them in parallel in two distinct
> processes (by having two screens, one for each gpu, just like in linux/X),
> the frame rate is cut in half on windows, while it is not on linux. So I'm
> wonder if rendering commands are actually still send to both cards. Driving
> multiple GPUs independently is a pain anyhow...

If things are performing under Windows it's most likely a driver
issue. I can't see any reason why the way that the OSG is opening up
windows under Windows, or he lack of gpu affinity extension as being
the problem as normally the screen number and GPU attached to to the
associated physical screen should provide all the info the driver
needs to map things correctly.  Linux/X11 works just fine with just
the screen number so doesn't have any more information or controls
that would make it behave differently, so it's all down to the
driver/windowing system.

Now it might be that the NVidia drivers under windows are a bit
screwed when it comes to driving multiple displays and that one has to
add the extra extension usage to give it the kick up the butt that it
needs to do the right thing.  Try experimenting with the gpu affinity
extension see if it makes any difference.

Robert.
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


[osg-users] WGL_NV_gpu_affinity

2008-12-24 Thread Ferdi Smit
Is WGL_NV_gpu_affinity no longer useful on windows? Because it is not 
used in the win32 graphics window. I'm asking this because even though I 
can open rendering windows on two GPUs and use them in parallel in two 
distinct processes (by having two screens, one for each gpu, just like 
in linux/X), the frame rate is cut in half on windows, while it is not 
on linux. So I'm wonder if rendering commands are actually still send to 
both cards. Driving multiple GPUs independently is a pain anyhow...


--
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