I have a current application which I would like to add OpenGL rendering to. It has a main thread, which spawns N threads for computation. I will install N GPUs (2+) in the system where one GPU will have 2 displays (one for the 'console', the other for full-screen computation display), the others will have 1. Each compute thread would connect to its own GPU, create a context with a full-screen display on its attached monitor, and use OpenGL to render the results of its computation on its display.
Initially this is under Windows 7, but I need to migrate to Linux eventually. The GPUs are all GM107-based (GTX 750 ti) for now, but I do not wish to preclude the use of AMD devices if possible.
After reading the glfw documentation, I cannot see how to determine the connectivity of a monitor to a GPU, or a definitive statement that the above is possible. Is there a way? If not, is there another method outside the context of glfw to accomplish what I need to?
I don't know if it is possible to do this with GLFW, though I do know both AMD and NVIDIA provide OpenGL Extensions to do this:
I believe you need a NVIDIA Qudro card to use the NVIDIA extensions. Also after a quick reed of both extensions it looks like you need to bind you OpenGL context to a GPU at runtime, you might need to modify GLFWs CreateWindow() function to get this behaviour.
Hope that helps :)
Or, now that I think of it, you could try using SLI to utilise all the GPUs in your system and something like this to connect all the monitors you require.
Sign up for the SourceForge newsletter:
You seem to have CSS turned off.
Please don't fill out this field.