views:

104

answers:

3

To what extend does OpenGL's GLSL utilize SLI setups? Is it utilized at all at the point of execution or only for end rendering?

Similarly, I know that OpenCL is alien to SLI but assuming one has several GPUs, how does it compare to GLSL in multiprocessing?

Since it might depend on the application, e.g. common transformation, or ray tracing, can you offer insight on differences depending on application type?

+2  A: 

The goal of SLI is to divide the rendering workload on several GPU. First, the graphic driver uses a either a Sort-first or time decomposition (GPU0 works on frame n while GPU1 works on frame n+1) approach. And then, the pixels are copied from one GPU to the other.

That said, SLI has nothing to do with the shading language used by OpenGL (the way the pixels are drawn doesn't really matter).

For OpenCL, I would say that you have to divide your workload between the GPU by yourself, but I am not sure.

tibur
Are you saying that SLI is useless for speeding up GLSL alone (notice, alone)? While OpenCL could do it? And hence if OpenCL replaced GLSL calculations it'd be faster?
Lela Dax
If you plan to do some computation using GLSL, it can be faster when using SLI sort-first decomposition if your application is rendering evenly on the screen (it will profit the screen splitting decomposition scheme). If you want to do it with OpenCL, you will certainly have to split your computation across the different GPUs. If you want more specialized help, we need to known what kind of problem do you want to solve.
tibur
+1  A: 

If you want to take advantage of multiple GPUs with OpenCL, you will have to create command queues for each device and run kernels on each device after splitting up the workload.

dietr
A: 

See http://developer.nvidia.com/object/sli_best_practices.html

Basically, you have to instruct the driver that you want to use SLI, and in which mode. After this, the driver will (almost) seamlessly do all the work for you.

Alternate Frame Rendering : no sync needed, so better performance, but more lag

Split Frame Rendering : lots of sync, some vertices are processed twice, but less lag.

For you GLSL vs OpenCL comparison, I don't know of any good benchmark. I'd be interested, though.

Calvin1602