Okay the 4th GPU has entered the building.
After I taught myself CUDA I wrote my own program to enumerate the CUDA drivers present and was seeing 3 even though the nVidia control panel and the MMC device panel was showing 4. So it's not BOINC Manager.
I deinstalled all the nVidia drivers, rebooted and checked in the registry at
Hkey_Local_Machine\Hardware\DeviceMap\Video
to see what I had. There were 3 devices Video0, Video1 and Video2 present which were all standard VGA drivers. I then installed Forceware 185.68 and rebooted.
I now had 10 devices in the registry. I navigated down to
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\
and looked to see what was present. Here we see a list of registry keys like
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\(GPU ID)\0000
where there is a key for each GPU. I searched the list and for each GPU e.g.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\{D82C4D9A-396A-4292-A538-A8F8F22FFEB5}\0000\Settings field (where {D82C4D9A-396A-4292-A538-A8F8F22FFEB5} is a GPU id)
and looked for the words NVIDIA GeForce GTX 295.
I presumed (luckily correctly) that the 1st GPUID with those words i nthe Settings field had the monitor on it. To the following 3 GPU's I added the following registry keys:-
DisplayLessPolicy DWORD 1
LimitVideoPresentSources DWORD 1
at the
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\(GPU ID)\0000
level in the registry tree and rebooted.
Now I only have 2 monitors showing in the nVidia control panel as having my desktop on them but my own CUDA program shows 4 GPUS. I fired up BOINC Manager which still displays that it found only 3 (due to the string length being exceeded I expect) but I have 4 running GPUS. |