PDA

View Full Version : Question about SLI



pango
02-01-2008, 04:33 AM
Below is the text from NVIDIA's SLI document :
"any change to local memory on one GPU (for example, dynamic texture updates) will often require

a data broadcast to other GPUs. This can introduce a performance penalty depending on the size

and characteristics of the data."

Is it means if I update a texture's data,the data will be broadcast to the other GPU?My program

update a texture's data with a video stream,and display it in a 3D scene,as we know every frame

of video is different,so only the texture in rendering GPU need to be updated,broadcast to other

one is redundant,so is there a way to prevent the data broadcasting under SLI working mode?

I also want to know which bus the NV driver use to broatcast data?Is it PCI-E,or the birdge

connector link 2 GPUs?

dimensionX
02-01-2008, 11:13 AM
What SLI mode are you using (AFR, SPR, Compatibility) ?

Brolingstanz
02-02-2008, 01:55 AM
I seem to recall an Nvidia extension for dealing with cards in SLI mode. NV_GPU_sublimity... or something like that ;-)

ZbuffeR
02-02-2008, 01:57 AM
More like NV_GPU_affinity i think :)

Brolingstanz
02-02-2008, 02:02 AM
NV_GPU_sublime_affinity :)

pango
02-02-2008, 11:41 PM
I'm using AFR mode

pango
02-03-2008, 01:15 AM
NV_GPU_sublime_affinity :)

Is it a GL extension?Where can I get the description of it?

ZbuffeR
02-03-2008, 02:28 AM
Here is the spec and the real name : WGL_nv_gpu_affinity (http://developer.download.nvidia.com/opengl/specs/WGL_nv_gpu_affinity.txt)

This is a GL extension available for Nvidia cards in Rel95 drivers and later.

Brolingstanz
02-03-2008, 03:33 AM
Sorry for any confusion, pango. :)

It was an absurd attempt to simultaneously praise Nvidia and allude to a relevant spec.

pango
02-03-2008, 05:40 AM
I had looked at the document about "WGL_NV_gpu_affinity" extension,but this extension only introduce a method of creating a dc that is bound to a specific GPU,but my problem is:
"How to prevant data broadcast to other GPUs under SLI AFR working mode",I can not find any clew from the doc.

I'm interested in SLI just for it can give my program multi-gpu parallel rendering capability without code rewriting,but from NV's documents it also seems to have some usage restrictions,so

I post below question:
Is SLI a good resolution for multi-gpu rendering?How many programs in market use it?Is it suit for the program that has mass of data to transfer between host and gpu(such as my video

processing program)?

Chris Lux
02-03-2008, 07:12 AM
"How to prevant data broadcast to other GPUs under SLI AFR working mode",I can not find any clew from the doc.
the answer is that you can not. SLI appears completely transparent to the application. sure the application can do some things to better fit a SLI operation mode, but it simply does not know.

Jan
02-03-2008, 07:19 AM
"Completely transparent" ? If it were so, we wouldn't need to do anything, it would work just out of the box.

Even Crysis does not yet support SLI properly, so it can't be that easy.

Jan.

Chris Lux
02-03-2008, 12:28 PM
yes it is transparent to the application. as i said SLI only works when certain conditions are met. complex renderers like crysis' may not be able to meet this conditions trivially, so nvidia sends devtecs to tell the developers how to take advantage of SLI. but there is nothing that can directly to support it, there are only guidelines.

Brolingstanz
02-04-2008, 07:17 AM
Pango, if you're still confused you might want to look at the "sli best practices" white paper at Nvidia developer.. chock full of tasty performance tips.