OpenGL multi-GPU support

When we create an OpenGL context on a PC, is there a way to choose which physical device or how many devices are in use? Do the latest OpenGL APIs (4.5) support multi-GPU architecture? If I have two identical graphics cards (for example, two Nvidia GeForce cards), how do I program the OpenGL API correctly to benefit from having two cards? How can I migrate my OpenGL program from one GPU version to a multi-GPU version with minimal effort?

+3


source to share


1 answer


OpenGL drivers expose multiple GPUs (in Crossfire / SLI configurations) as if they were a single GPU. Behind the scenes, the driver will (in theory) figure out how to efficiently send render calls between two GPUs. There are several ways to do this, and you have zero control over which mechanism the driver chooses.



If you want more direct control over which GPU is associated with which GL context, you need to use vendor specific extensions. AMD has WGL_AMD_gpu_association , while NVIDIA has WGL_NV_gpu_affinity .

+4


source







All Articles