I have a GTX 980 & a GTX 1060 in my system.
When I use either ONE to render a simple scene, the render completes and says that 29MB of graphical memory were used at peak.
However, if I enable both of them, the render fails with “CUDA out of memory error”.
The fact that I am able to do the render on the gpu with the lowest amount of memory among the two tells me that it is a software rather than actual hardware problem.
I’ve tried updating the NVIDIA driver to its latest release(397.93) and blender to 2.79b; it didn’t help as the same problem persists.
I’m using Windows 7 64-bit, by the way.
Error screenshot:
Thanks for the idea.I’ve monitored the situation with the sensors.
Before I start any render, my GTX 980 (4GB) connected to display has only 252 MB of VRAM used.
With only that card enabled, the usage jumps up to 1075 MB during rendering.
So, I see no way that adding another 6GB card leads to “out of memory” error.
… and how it behaves (what do sensors/log show) when using both (you can switch which card to sense in bottom left side)
BTW
the card running the display will consume roughly ~ 1GB vRAM more (dependent on monitor resolution) so it’s better to have the one with more memory running display(s)
PS
i forgot GTXs can’t be set to run headless (do computing only), thus all GTXs consume more than needed
alternatively, you can have both GPUs running separately via two Blender scenes/files open - set one to use 1060 and other to use 980
& finally, you can run from command line without using extra resources for display
oh… one last note set render to “keep UI” and don’t open UV/Image editor, you’ll save ~10s/frame
The rendering crashes in less than a second after the start. It allocates almost no memory in that case.
That is to say, I’ve tried to render the thing for multiple times and the memory usage was constant.
It was ~1GB on the 1060 before, it remained ~1GB after. Same with the 980.
So, there is no way this is a true memory overflow.
Is it same with every scene or is it scene specific?
If second, can you post a scene in question?
Otherwise analyze in detail, go through settings & rendering objects on/off systematically to find the guilty party.
Some other things that also come to mind:
Is PSU fine? Motherboard, RAM, CPU, over/under-clocked… all systems go?
Tried rendering with another engine using both GPUs?
I have just tested the system’s stability.
The CPU sustained a 10-minute LinX test and finished it without errors.
I’ve loaded both GPUs with AIDA64 Extreme, and the PSU worked fine.
I stressed the 1060 with Furmark, no artifacts there.
All the DirectX games I play on the 980 don’t seem to go wrong either.
Apart from the latest stable release (v.2.79b) I’ve also tried 2.78c and the newest official daily build (as of June 04). Same thing here.
BTW, I’ve just ran OTOY OctaneBench and it failed with an error very similar to blender’s cycles:
At this moment I suppose that it’s a driver issue. However, I’ve reinstalled it twice already (of course I used the newest versions), and it is unlikely that a wrong installation could be the source of the issue.
However, AIDA64 Extreme managed to load both GPUs with OpenCL, and the driver didn’t fail or anything.
So I think it’s an error in some CUDA library in the driver.
I’ve tried installing the older driver(391.35, to be precise). And it worked. All three versions of blender
I’ve tried (2.78c, 2.79b & June 04 daily build) don’t seem to have any problems. Same thing with OctaneBench.
So, some change between the 391.36 and 397.93 is causing such weird behavior.
I’m not sure though if it’s a real driver bug or just some library change that wasn’t taken into account by blender developers yet.
I will probably figure out the exact version from which the problem starts and write to NVIDIA so that they check.
As for @Serin’s question, I have a 980 in the top slot, and the monitor is connected to that card. However, the 1060 is recognized as the “render” GPU by all OpenGL applications. So, they both are shown as “Display” in blender user preferences, even though no monitor is physically connected to the 1060.
It might be worth swapping them. I run a similar maxwell/pascal set up and have always had the more powerful card in the primary PCIe slot.
But then again I’m on win10, so who the fak knows if that’ll make any difference.