2 GPUs and 8 displays

Hi,


We have a bit complicated display setup, which requires us to render to 8 different displays. For that reason, we have a PC with 2 separate graphics cards (GeForce GTX 970), each connected to 4 displays. The graphics cards are in a non-SLI configuration as we need all 8 display outputs (SLI disables display outputs on one of the cards).


Can Psychtoolbox support rendering simultaneously on 2 GPUs, each with a separate OpenGL context? 


I assume the answer is no, as we tried the code below:


---

PsychImaging('PrepareConfiguration');
PsychImaging('AddTask', 'General', 'FloatingPoint32Bit');
PsychImaging('AddTask', 'General', 'NormalizedHighresColorRange');

screen_1 = 1; % screen on 1st GPU
screen_2 = 2; % screen on 2nd GPU

[screen_win1, screen_rect1] = PsychImaging('OpenWindow', screen_1, 0,
[], [], [], [], [], 0);

[screen_win2, screen_rect2] = PsychImaging('OpenWindow', screen_2, 0,
[], [], [], [], [], 0);

---


and it fails on Ubuntu 16.04 even if both screens are on the same GPU. 


How difficult would it be to add support to more GPUs (and separate OpenGL contexts) in Psychtoolbox and where to start?  We have some GPU programming knowledge and can work with 8 displays if we create our own OpenGL application (which is one option for us), but we would still like to have all the functionality of Psychtoolbox. 


Thank you,


Rafal




Need way more information about setup, proprietary or oss driver, demo code, exact error messages.

PTB can handle multiple gpu's and/or multiple independent screens on multiple gpu's, if the gpu's match well enough in capabilities (which is a given for two identical GTX970) and the system is set up properly otherwise, e.g., proper use of XOrgConfCreator/Selector, or nvidia setup tool.

Your PsychImaging sample code is expected to fail if that was exactly how it was written.

No time in the next couple of hours to look into this further.
-mario