GPU on PCIe 2.0 vs PCIe 3.0 speed.

Hi all, I was thinking of pairing my GTX 970 4GB with another GPU most likely a GTX 1060 6GB.
The problem is that my Mobo has only 1xPCIe 2.0 and 1xPCIe 3.0 slots. (and two PCI slots)

I’ve been searching through Internet and a lot of people claim that the performance bottleneck is neglect-able at least in games.

I can’t find if the same is true for Cycles or other GPU render engines.

Is it a more valid approach to buy a more powerful GPU (eg.1070, 1080) and use one instead of two?

That sounds odd, which motherboard is this? Are you sure the slots have different PCIe versions?

Almost all GPUs require PCIe x16 slots to physically fit. Most motherboards only have PCIe x1 (very narrow) and PCIe x16 slots (very wide). It’s common for motherboards to have two x16 slots, but only one is wired to use 16 lanes and the other uses only 8 or 4 (x8 and x4). It is also possible to drive an x16 GPU on an x1 slot using an adapter.

If there were really two different versions on your board, that means the theoretical bandwidth per lane for the PCIe 2 would be only 500 MB/s vs 985MB/s for the PCIe 3. However, you’d still have to take into account the amount of lanes provided (i.e. multiply by 16, 8 or 4).

I’ve been searching through Internet and a lot of people claim that the performance bottleneck is neglect-able at least in games.

It usually is, because for best performance, you’d want to minimize PCIe transfer while the game is running. The difference is in the load times (usually negligble) and the per-frame transfers (different for every game, but usually a small factor).

I can’t find if the same is true for Cycles or other GPU render engines.

Right now, Cycles only does GPU transfers on load and during image updates, the PCI bandwidth is a negligble factor in both cases.

However, Cycles also needs to fit the entire scene into GPU memory, otherwise rendering will fail. In the future, Cycles may implement streaming data in during rendering, easing the memory limit but increasing the stress on the PCIe bus. I’m only aware of one GPGPU render that does this, which is Redshift. You may want to ask that community how much impact PCIe bandwidth has in practice.

Is it a more valid approach to buy a more powerful GPU (eg.1070, 1080) and use one instead of two?

Looking just at PCIe bandwidth, I’d say no. Two 1070s will have better price/performance than one 1080, but they’ll also consume more power and produce more heat.

@BeerBaron

Thank you for the answer, this is a real help.

I guess I messed it up with the specs.
The mobo is an ASROCK B75 Pro-3M which claims to have:

1 x PCI Express 3.0 x16 slot (PCIE1: x16 mode)
1 x PCI Express 2.0 x16 slot (PCIE2: x4 mode)
2 x PCI slots

I hope it’s more clear now

thats looks like an budget board, i dont recommend putting two cards in it. though in theory pcie speeds dont matter much, the board isnt rated for sli, which means 2 gpu’s would likey cause stability issues, or simply not work. theres a good chance you wouldnt get the full speed of the 1070 any way, due to budget board components.

i know it talks about crossfire support, but notice how it says only the 3.0 has support. but sli isnt crossfire, and is different from 2 gpu’s. when it comes to budget boards, its hard to know.

ive seen my share of bottlenecking with high end gpu’s. it can be quite significant. even just a few bios setting can boost performance, but that would require experimenting.

@Daedalus_MDW

Thanks for the info,but I’m already using two GPU’s without a problem.

A GTX 650 for display and my GTX 970 only for rendering.
What I was thinking using GTX 1060 for display and both cards for rendering.

Am I missing something?

Unless you provide some sources for these claims, I’m just gonna say these are things you simply believe without any real foundation.

CUDA doesn’t need or use SLI and it’s generally recommended to turn it off. When using multiple GPUs with Cycles, there is no communication between them whatsoever. They are independent devices. There’s also very little communication between the GPU and CPU during rendering. There is no reason why lower PCIe bandwidth should significantly impact performance and I have never seen anyone demonstrate otherwise.

As for “budget components”, how would these impact performance besides the lower amount of PCIe lanes? I’m not saying it can’t be happening, but I’m not just taking your word for it.

ive seen my share of bottlenecking with high end gpu’s. it can be quite significant. even just a few bios setting can boost performance, but that would require experimenting.

Oh really? What BIOS settings would those be?