[eq-dev] Multi-GPU setup problem with 2 graphics interfaces

12 views
Skip to first unread message

Christian Kehl

unread,
Dec 15, 2009, 8:39:50 AM12/15/09
to eq-...@equalizergraphics.com
Hi,

I am developing an app to separate the renderpipeline for multiple GPUs. The setup was working fine for 1-pipe (1 GPU) on my Windows Vista 32-Bit laptop with a GeForce 7600 and on my Windows 7 64-Bit computer with and ATI HD4850 X2. On the second one, I also tried to run the 2-pipe 2D compound with pbuffers, but it didn't work because the app don't find the second device (the card is a dual-core 1PCB solution). Today, was running the app on my fresh laboratory computer on Windows 7 64-Bit with two nVidia GTX 275 (connected with and SLI bridge). But there, when I run the 1-pipe solution for eqPly or eqOSG (my app builds on eqOSG), the display is either flickering or the loader get's to the point where WGLEW initialization is finished, but then it stucks and doesn't display any window. When I run the normal 2-pipe 2D compound (with FBO or pbuffers), the loader gets until the point to initialize WGLWindow, but then stucks. I tried to track the error. The compiler jumps into the pipe class and loads the config. It get there 3 times, 2 times for offscreen rendering and 1 time, it should open a Window. But it doesn't. It always gets for the ws (window system) "WINDOW_NONE ....". Therefore it also does not jump into the rendering code for the channels.

Does anyone have a clue what I can try to solve that problem ?

A picture of the corresponding console is included in the mail.
--
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01

example.jpg

Stefan Eilemann

unread,
Dec 16, 2009, 2:46:05 AM12/16/09
to Equalizer Developer List
On Tue, Dec 15, 2009 at 2:39 PM, Christian Kehl <Christi...@gmx.net> wrote:
> Hi,
>
> I am developing an app to separate the renderpipeline for multiple GPUs. The setup was working fine for 1-pipe (1 GPU) on my Windows Vista 32-Bit laptop with a GeForce 7600 and on my Windows 7 64-Bit computer with and ATI HD4850 X2. On the second one, I also tried to run the 2-pipe 2D compound with pbuffers, but it didn't work because the app don't find the second device (the card is a dual-core 1PCB solution).

The X2 is most likely presented as one device through Crossfire. I'm
not sure if and how one can address the two physical GPU's. Most
likely you have to disable Crossfire, and then check with the
AMD_GPU_association extension if you see two devices.

We'll still need to add support for this extension, but it shouldn't
be a big deal. Iirc, this extension is not limited to the FirePro
lineup.

> Today, was running the app on my fresh laboratory computer on Windows 7 64-Bit with two nVidia GTX 275 (connected with and SLI bridge). But there, when I run the 1-pipe solution for eqPly or eqOSG (my app builds on eqOSG), the display is either flickering or the loader get's to the point where WGLEW initialization is finished, but then it stucks and doesn't display any window. When I run the normal 2-pipe 2D compound (with FBO or pbuffers), the loader gets until the point to initialize WGLWindow, but then stucks.

There were some recent posts regarding multi-GPU and Windows 7 on this
list. In any case, you'll need Quadro cards if you want to access the
individual GPU's under Windows.

As long as SLI (or Crossfire) is enabled, the two cards are merged
into one device - that's the whole point of these features.

HTH,

Stefan.

_______________________________________________
eq-dev mailing list
eq-...@equalizergraphics.com
http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev
http://www.equalizergraphics.com

Christian Kehl

unread,
Dec 16, 2009, 4:01:10 AM12/16/09
to Equalizer Developer List
I've also done one app with GPU association (and tried gpu_affinity) from the base up by myself. the point is that this costs a lot of time. All in all, the handling of gpu_association is much easier than gpu_affinity, because one can really set up individual rendering contexts for each GPU. But connectiing this with a Scene Graph is really painful, that's why I switched to the Equalizer.

But as far as I got it, there is no way with the Equalizer to manually separate the rendering pipeline for Multi-GPUs under Windows ? How (with the help of what system) have you done the separation in your Multi-GPU app ? I am not into Linux, so if the Equalizer doesn't work for that purpose under Windows, this would be rather devastating for my thesis (nearly desaster).

I wanted try reduce complexity at the moment by testing all this in Windows XP 64 Bit from today on, because in the readme of Equalizer, it's said you have tested it under Windows XP and that it's running. That's why, I really need to know if the manual compounding (not done by the driver) of Multi-GPUs is possible under one of your tested Windows systems.

I would really appriciate a quick response.

Sincerly,

Christian Kehl

-------- Original-Nachricht --------
> Datum: Wed, 16 Dec 2009 08:46:05 +0100
> Von: Stefan Eilemann <eile...@gmail.com>
> An: Equalizer Developer List <eq-...@equalizergraphics.com>
> Betreff: Re: [eq-dev] Multi-GPU setup problem with 2 graphics interfaces

--
Jetzt kostenlos herunterladen: Internet Explorer 8 und Mozilla Firefox 3.5 -
sicherer, schneller und einfacher! http://portal.gmx.net/de/go/atbrowser

Stefan Eilemann

unread,
Dec 16, 2009, 4:40:48 AM12/16/09
to Equalizer Developer List
Hi Christian,

On Wed, Dec 16, 2009 at 10:01 AM, Christian Kehl <Christi...@gmx.net> wrote:
> I've also done one app with GPU association (and tried gpu_affinity) from the base up by myself. the point is that this costs a lot of time. All in all, the handling of gpu_association is much easier than gpu_affinity, because one can really set up individual rendering contexts for each GPU. But connectiing this with a Scene Graph is really painful, that's why I switched to the Equalizer.

So maybe you can contribute the GPU_association to Eq?

> But as far as I got it, there is no way with the Equalizer to manually separate the rendering pipeline for Multi-GPUs under Windows ? How (with the help of what system) have you done the separation in your Multi-GPU app ?

It works well with nVidia Quadro cards and QuadroPlex boxes on XP and XP64.

Cheers,

Andreas Kirsch (in.tum)

unread,
Dec 22, 2009, 3:09:32 AM12/22/09
to Equalizer Developer List
Hello,
I'm getting an awful lot of warnings from Equalizer every time I compile
my project (warnings caused by the eq header files). Could you maybe add
something to disable those warnings in eq/eq.h? I think its possible to
push and pop disable warning #pragmas.
Cheers,
Andreas

Stefan Eilemann

unread,
Dec 23, 2009, 3:18:42 AM12/23/09
to Equalizer Developer List

Hi Andreas,

On 22. Dec 2009, at 9:09, Andreas Kirsch (in.tum) wrote:

> disable those warnings in eq/eq.h? I think its possible to
> push and pop disable warning #pragmas.

Good idea - can you send me a patch?


Best,

Stefan.

Andreas Kirsch (in.tum)

unread,
Dec 23, 2009, 12:42:48 PM12/23/09
to Equalizer Developer List
This is a mini-patch. You might want to add additional #ifdefs around
the #pragmas and only disable warnings when not building the client or
server library.
Cheers,
Andreas
eqDisableWarnings.patch

Stefan Eilemann

unread,
Jan 5, 2010, 11:57:52 AM1/5/10
to Equalizer Developer List

On 23. Dec 2009, at 18:42, Andreas Kirsch (in.tum) wrote:

> This is a mini-patch. You might want to add additional #ifdefs around the #pragmas and only disable warnings when not building the client or server library.

Applied, thanks.

Reply all
Reply to author
Forward
0 new messages