RkBlog

Hardware, programming and astronomy tutorials and reviews.

Testing GPU bandwidth limited by multiple NVMe drives on B550

Some AM4 motherboards may offer multiple M.2 slots supporting NVMe drives. PCIe connectivity may be routed in a couple of ways including limiting GPU x16 connectivity to x8 if excess drives are connected. Does that affect performance? Let's check it out using Gigabyte B550 Aorus Master.

This motherboard has 3 x M.2 slots and all of them are using the CPU PCIe lanes. The manual states that the PCIe x16 slot for the GPU operates up to x8 when second or third M.2 slot is occupied. Ryzen CPUs don't offer enough lanes to cover GPU and multiple NVMe drives so that how it has to be done.

Aside of M.2 slots the motherboard also has two extra x16 slots operating at x4 that come from the the chipset and not from the CPU. With PCIe adapters it should be possible to attach an NVMe drives there although chipset PCIe usage may incur some penalty in extreme cases.

When a second drive is connected GPU-Z states that the RTX 3070 is using PCIe 1.1 x8 with 4.0 listed only for a moment after the app is launched. This is very likely an error on the app side as the benchmarks showcased below do indicate that the GPU is using x8 4.0 or x16 3.0.

GPU-Z listing with two NVMe drives in the system

GPU-Z listing with two NVMe drives in the system

I run Aida64 and 3DMark benchmarks to see if there is any difference in performance when the GPU is allowed to use full x16 4.0 and when an unused second M.2 drive is limiting it bandwidth:

GPU benchmarks at x16 and x8 modes

GPU benchmarks at x16 and x8 modes

3DMark PCIe bandwidth test as well as Aida64 memory read benchmarks do indicate that the bandwidth got halved thus it can't be PCIe 1.1 mode as that would be up to 2GB/s. In x8 mode the read was 12 412 MB/s versus 24 476 MB/s under x16. Similarly the bandwidth test gave 13,43 GB/s vs 26,23 GB/s.

PCIe 4.0 x8 is pretty much equal to x16 3.0 and as overall gaming GPUs can't exceed that bandwidth in realistic scenarios all the gaming benchmarks show no difference when RTX 3070 uses half the available bandwidth.

So if you want more NVMe drives then for normal usage cases there is no problem with limiting GPU bandwidth (although I didn’t tested a PCIe 3.0 GPU behavior. Going to x8 3.0 may limit top-shelf cards a bit, although PCIe bifurcation could be quite smart in this case). This could start to differ a bit for some compute tasks, but also you could try using the chipset PCIe lanes for those additional drives or using SATA SSDs if you need just fast storage and not NVMe levels of fast.

RkBlog

Hardware benchmarks and reviews, 6 December 2020, Piotr Maliński

Comment article