Jump to content

I have a question about PCIe lanes. Suppose you have a MB(ASUS Prime X570-Pro) with PCIe 4.0 and you have 20 PCIe 4.0 lanes on your CPU(Ryzen 3000 series). That MB has three PCIe 4.0 16X slots. If I installed two GPUs that's PCIe 4.0 capable in each of two slots, each card will essentially run at PCIe 4.0 8X speeds. So my question is this, since PCIe 4.0 is twice as fast as PCIe 3.0, does that mean if I install two PCIe 3.0 GPUs(one in each of the same 16X slots) will they both be running at full 3.0 16X speeds?

 

I hope that makes sense.

Link to comment
https://linustechtips.com/topic/1151618-pcie-bandwidth-questionsolved/
Share on other sites

Link to post
Share on other sites

7 minutes ago, Electronics Wizardy said:

the pcie gen 3 cards will run at pcie x8 gen 3 max, as they can't use the pcie 4 speeds.

That's pretty much what I figured. But I was hoping a 4.0 capable MB would be smart enough to I guess use the 4.0 bandwidth of the cpu to essentially mimic a doubling of the lanes when running at 3.0 speeds.

Link to post
Share on other sites

3 hours ago, BlenderRookie said:

That's pretty much what I figured. But I was hoping a 4.0 capable MB would be smart enough to I guess use the 4.0 bandwidth of the cpu to essentially mimic a doubling of the lanes when running at 3.0 speeds.

For that you will need motherboard that support PCIe bifurcation. Though, I don't think there is a way to convert 1x PCIe 4.0 x16 to 2x PCIe 3.0 x16 at the moment. What we can do now is either 2x PCIe 4.0 x8 or 2x PCIe 3.0 x8.

Ryzen 5 3600 | Nvidia Quadro P400 | Gigabyte B550I Aorus Pro AX | Klevv Bolt XR 2x8GB DDR4-3600 CL18

Acer Chromebook C720 @ GalliumOS

Link to post
Share on other sites

The processor has 24 pci-e lanes.

16 lanes go to the first pci-e x16 slot.

4 lanes go to the M.2 connector

4 lanes go to the chipset.

 

The chipset creates up to 8 pci-e lanes (if I remember correctly)... depends how the manufacturer configures it.

You may have the 2nd pci-e x16 slot but which is is actually only pci-e x4 electrically.

 

If the device you plug in a slot doesn't know pci-e 4.0, it will automatically fall back to pci-e 3.0 and everything works at pci-e 3.0 speeds. You don't magically get double the lanes or whatever.

 

See picture below:

 

  1d3175327a81ee6dbda7ea3fd1c67935_XL.thumb.jpg.bf0f65f7ac32a5a60a7fc8f990e636e7.jpg

Link to post
Share on other sites

GPU's just don't use that much bandwidth yet.  Even if you could make a motherboard and controller array that feed all of the available bandwidth from the CPU's pcie lanes straight into GPU/s you would only see a few FPS difference.

Grammar and spelling is not indicative of intelligence/knowledge.  Not having the same opinion does not always mean lack of understanding.  

Link to post
Share on other sites

14 hours ago, mr moose said:

GPU's just don't use that much bandwidth yet.  Even if you could make a motherboard and controller array that feed all of the available bandwidth from the CPU's pcie lanes straight into GPU/s you would only see a few FPS difference.

No one here is wanting to do anything like that. I am simply trying to understand how the PCIe lanes work and if splitting them to multiple GPUs via "bifurcation"(thanks krakkpott) is possible. I am under no illusion that a GPU needs more bandwidth. Ideally, I want to build a rendering machine for Blender with 8 GPUs each running at x2 4.0 speeds or 3.0 speeds. There are plenty of options for x1 speeds but I have tested GPU rendering at 3.0 speeds on a x1 to x16 riser and there is a little bit of a bottleneck. But the bottleneck is small enough that two lanes would solve the issue. Frames rates don't apply because each frame take many seconds or minutes.

 

Everyone, thanks for your answers. They helped me understand the issue to a better degree.

Link to post
Share on other sites

20 hours ago, BlenderRookie said:

That's pretty much what I figured. But I was hoping a 4.0 capable MB would be smart enough to I guess use the 4.0 bandwidth of the cpu to essentially mimic a doubling of the lanes when running at 3.0 speeds.

The slots are hooked up directly to the CPU, which only has 16 lanes total to split among the devices. Those 16 lanes don't go into a splitter/switch/whatever, it'd add a lot of cost to a consumer level board.

Link to post
Share on other sites

2 hours ago, BlenderRookie said:

No one here is wanting to do anything like that. I am simply trying to understand how the PCIe lanes work and if splitting them to multiple GPUs via "bifurcation"(thanks krakkpott) is possible. I am under no illusion that a GPU needs more bandwidth. Ideally, I want to build a rendering machine for Blender with 8 GPUs each running at x2 4.0 speeds or 3.0 speeds. There are plenty of options for x1 speeds but I have tested GPU rendering at 3.0 speeds on a x1 to x16 riser and there is a little bit of a bottleneck. But the bottleneck is small enough that two lanes would solve the issue. Frames rates don't apply because each frame take many seconds or minutes.

 

Everyone, thanks for your answers. They helped me understand the issue to a better degree.

You never stated what you were hoping to achieve in the OP.

 

If you want to render on multiple GPU's then maybe start looking at commercial GPU servers.

 

https://blog.boxx.com/2017/03/22/apexx-8r-8-gpus-blazing-fast-rendering/

Grammar and spelling is not indicative of intelligence/knowledge.  Not having the same opinion does not always mean lack of understanding.  

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×