Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does GLSL utilize SLI? Does OpenCL? What is better, GLSL or OpenCL for multiple GPUs?

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?

like image 975
j riv Avatar asked Sep 11 '10 15:09

j riv


2 Answers

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.

like image 149
tibur Avatar answered Sep 30 '22 19:09

tibur


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.

like image 24
dietr Avatar answered Sep 30 '22 19:09

dietr