CYCLES - NVidia 580 GTX + 2 x 590 GTX - uses only 4 GPUs, why ??

Have you tried connecting all GPUs to monitors? My HD4000 doesn’t do any OpenCL, until I connect it to a monitor. Worth a try. Also, did you try switching between CUDA and OpenCL?


Just an other evidence for the developers, that it uses only 4GPUs and one is completely off load.

How can I switch it in 2.68 RC1 ?? at the moment it does not shows up in the Preferences/System/Devices …
the official status is at the moment “OpenCL support for AMD/NVidia GPU rendering is currently on hold.”

I did the same test in 2.62, 2.63a, 2.64a, using OpenCL, to see whether it is only CUDA thing or OpenCL. Blender Crashed using OpenCL in each of the version, just after uploading the data and BVH to the graphic cards, at the moment of the start of render. It worked with 2.61, but used only 1 GPU from primary card with monitor attached.

PS: tolga9009, I do not have 5 displays to check out your version

Hi zajooo, OpenCL work with 2.68RC if you start it from a DOS box:

Start a dos box jump to Blender directory and type:

set CYCLES_OPENCL_TEST=all

Start blender with blender.exe

OpenCL don´t work with HD4000 integrated chip or similar, crash during compiling kernels.
It is the same problem like AMD compiler but Nvidia cards are working.

Cheers, mib.

Hi, thanks to mib2berlin, I was able to run the OpenCL in 2.68 RC1. But the same issue, while rendering it uses only 4 GPUs +
it has some strange artifacts on render (the temp. on GPUs was around 70C, far from max temp. by specs)


\o/
IIRC these artifacts is “bugfixed” in later versions.
Really have no idea why you can´t use 5 cards.
May you try Octane too, in preferences you can enable/disable each card separate.
Download the testfiles also (bottom of the site).

http://render.otoy.com/downloads.php

I spoke with one developer (not brecht) how to extend the setup of video cards in Blender, he has it on his todo list.
More to come after 2.68 release this week. :slight_smile:

Cheers, mib.

Well it is strange that it only runs 4 from 5 GPUs, it probably rare that someone has that many so it triggers a bug thats dificult to test but could it be that for some reason the auto detect function that detects normaly the CPU limits the GPU because it thinks there are only 4 gpu avaible but in reality are 4 CPU cores? You probalby have a quad core CPU, right? Well it’s a wild guess but you could try to set under Perforance the threats to fixed and the nummer to 5.

I don’t think that this setting normaly would affect GPU rendering, but its worth a try.

thanks for this guess, I have Intel Q6600 on board, I tried this before, with no affect on number of GPUs used.

mib2berlin, Octane also uses all GPUs, I have also checked each GPUs load with GPU-Z during rendering, and all were involved in rendering.


Is anybody out there with 5 or more GPUs ? It will be nice to approve this issue on other HW setup too.

Nobody out there ??

Have you submitted a bug report to blender?

Yes, https://projects.blender.org/tracker/index.php?func=detail&aid=36137&group_id=9&atid=498

Bao2 in the cycles thread recently noticed that RNG seeds driving GPU random photon firing is currently single-threaded, would make sense for a 5th GPU to be under (or not) utilized on a 4-core CPU. I wonder if 5 GPU’s go underutilized on a hexa core.

Thanks for the point, it would be interesting to test. It should work independently on each other, even one core CPU should utilize photon firing for any number of GPUs . Would be nice to have hyperthreaded hexacore to test :wink:

My Q6600 is not HT, so it uses only four threads. We will see whether it DEPENDs on the number of threads/cores of CPU or NOT.

The random “problem” thing has not relation with zajooo problem.

Other renderers detect 5 GPU as zajooo tested, and blender not, so the problem is in cycles code, not any hardware issue with the motherboard.

Probably cycles detects the 5 cards but the code has a bug and limits the number of cards to 4.
Brecht already asked in the bug report so you only need he now has a little time to find the cause.

The way to catch this bug I think is:

  • In the tile generator void TileManager::gen_tiles_global() write to the console the number of GPU devices at this point of the code that is going to be used.

I am sure it creates 4 tiles because the number of devices is 4 at that point. If that is true my guess would be the second “virtual card” in each 590 receives same ID so they are two but cycles thinks uses one.
That could be confirmed in another setup with three different cards, but nobody has that probably.

I like this version, but can I find that TileManger in a compiled blender, unzipped on my drive ?
Can Igo to blender-2.68-RC1-windows64\2.67\scripts\addons\cycles and search it somewhere over there ??

the ID stuff, I am not sure about this, if I disable the 580 in NVidia control panel it can handle all four 590 GPUs. If it would be an ID thing, it would show only 3 tiles and use only 3GPUs then, wouldn’t ?? but maybe I am wrong