10
$\begingroup$

I have a GTX 1060 6GB in my current build, and I also have a GTX 960 2GB in storage.

I was wondering if I got one of these PCI Express X1 to X16 Extension Adapter, and got both of my GPUs in one build (not SLI or CrossFire, just in the same system) would I be able to use both GPUs for rendering simultaneously?

I don't care if this means having them both render separate tiles in one instance of Blender, or rendering separate frames in two instances. I'm using Cycles for everything I do.

$\endgroup$

1 Answer 1

15
$\begingroup$

You can use multiple different GPUs for rendering, as long they are from the same brand (AMD, NVidia, or Intel) you should be able to use them simultaneously to render in Blender Cycles.

If you keep them out of any proprietary GPU pairing technologies setup like SLI or Crossfire, the operating system detects them as two discrete GPUs and see both graphics cards, Blender should be able to see them as discreet GPUs in the user preferences.

This will virtually decrease render times almost linearly, proportionally to each additional compute device performance, as opposed to pairing technologies which have significant performance penalties and lose efficiency with each additional GPU unit.

You can then prior to rendering select which ones to use. You can also have different instances of Blender use their own devices independently, though you may experience performance penalties caused by different processes fighting for shared resources elsewhere in your system, namely available memory, and CPU time for pre-processing your scene.

Under Edit > User Preferences > System > Cycles Render Device you can activate your choice of computing device (CUDA, Optix, HIP or openAPI) and pick from the list of available devices below to chose which ones to use for each running session. From the Properties Window > Render Properties you can then set the device to GPU while Cycles is set as active render engine.

Have in mind that when using multiple GPUs for rendering a single scene you will always be bound by the lowest available memory on the card with the least amount of VRAM. Since GPUs still can't share memory access, a copy of the whole scene must be fully loaded into each individual graphics card memory, so it must fit entirely into the available RAM of each individual GPU, failing that may abort rendering.

Having two GPUs from very far apart generations may eventually cause problems in the long run. As each generation ages it is eventually phased out, and at some point one last driver version compatible with the older model is launched.

Since you can't have more than one driver version installed at one time, you will essentially be stuck at that release if you wish to keep using your older GPU, even if newer drivers are available for your newest graphics card

This shouldn't generally be an issue by itself, but some newer software (like games) may some times not work properly on older drivers, or outright refuse to launch on older driver, forcing you to either update and temporarily lose access to the older card, or not update and miss out on the benefits of newer drivers.

If that is the case you may always revert at a later tame when the newer driver is no longer required.

$\endgroup$
9
  • 5
    $\begingroup$ Worth noting: available vRAM for rendering will be limited to the size of the smallest card. So if one of the cards has 6Gb and the other one 2, the 1060 will only use 2 for rendering. $\endgroup$
    – user1853
    Nov 30, 2016 at 4:01
  • $\begingroup$ @cegaton I don't mean to bump an old question, but does that mean I could have 3 Instances of blender Rendering at once? On on my 1060, one on the 960, then one on CPU? $\endgroup$ Dec 7, 2016 at 1:24
  • 2
    $\begingroup$ @JoshSilveous You can have many instances at once. Be aware that at some point you'll get diminishing returns when you hit the limit of what your computer can handle efficiently. Do keep in mind that even when you render on GPU, the CPU is not idle: there are still a lot of processing going on with it. If what you are after is efficiency look into more gpus of the same capacity or a render farm service (much more affordable than getting your own hardware) $\endgroup$
    – user1853
    Dec 7, 2016 at 2:39
  • $\begingroup$ @cegaton I was not aware that GPU rendering used CPU, so then Just rendering seperate instances with two GPUs would be better? $\endgroup$ Dec 7, 2016 at 2:40
  • $\begingroup$ It is always better to do only one single render at each time. Using more GPUs to make a single render is better than using each GPU to do separate renders. $\endgroup$ Dec 7, 2016 at 2:48

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .