Is this PCIe 2.0 bandwidth low? 3.1 GB/s pinned

I have an Asus P5N-D motherboard (chipset: nforce 750i) and a 8800GTS 512 (G92). Also an E5200 CPU. I’m seeing about 3.1 GB/s device to host and host to device bandwidth with pinned memory and about 1.3 GB/s with pageable memory (32 megs of data in bandwidthTest).

Isn’t this a little low? I’ve had around 2.3 GB/s pinned and 0.9 GB/s pageable with my old PCIe 1.1 motherboard, I was expecting at least 4-4.5 GB/s practical bandwidth on 2.0.

I use the newest BIOS.

because it isn’t real PCI 2.0. The 750i chipset is capable of PCI 2.0, but the bandwith is castrated by Nvidia, to push the sells of 780i chipset.

Just great. I may swap this board for an Asus P5Q Pro (Intel P45 chipset), would that give me better bandwidth?

i think the biggest bandwith is from nvidia chips, just the 780i, not the 750i, which have 2 natural 2.0 channels.

Every other chip is castrated, or by the producer, or by the HW design.

780i only performs at ~4 GiB/s. It is still castrated because their “2” PCIE2.0 16x slots are fed from the NF200 chipset which is connected to the NB through another set of overclocked PCIE channels…

Most likely, yes. Most users on the forums report ~6 GiB/s with intel boards.

is p45 better than g45 or x48?

I’ve changed the motherboard to a P5Q Pro (P45) and the bandwidth is now 3.4 GB/s (pinned). Is there anything else I should do? Some BIOS settings?

Any ideas?

are you using the black slot or the green slot?

The blue one (“upper” one, closer to the CPU).

Looks like P45 has 16 lanes, total. On newegg it says you can enable crossfire and use the two slots as x8. The black slot is always x8. Probably in the BIOS you’ve enabled the black slot and now the the blue slot is also x8. Disable the black slot.

http://209.85.165.104/search?q=cache:gl1LR…us&client=opera

There are no settings in the bios for explicitly enabling/disabling dual GPU setups.

Updating to the newest bios didn’t help.

For what it’s worth, I’ve got a nVidia 790i board with two GX2 cards with an Intel Q9450 @2.66 GHz (1.33 GHz FSB). I get 5.7 GB/sec from CPU to GPU and 5.0 GB/sec from GPU to CPU for long transfers (64 MB) using pinned memory. No special coding tricks, and no bandwidth improvement from using both cards.

Hmm, then I have two questions:

  1. Can RAM be an issue? Ie. RAM bandwidth being the bottleneck? I have two 1gb sticks of DDR2 800MHz in dual channel
  2. What’s the command line to run bandwidthTest with pinned memory and a 64MB sample?

Well if your ram is only working single-channel, that could do it. I think the issue is that the blue slot isn’t getting its 16 lanes. I guess it’s supposed to be automatic, but looks like it’s stuck and there’s no way to force it. Sorry about your luck. If you’re feeling adventurous, you can up your PCIe frequency and see if that boosts bandwidth. (In the BIOS it can be overclocked 80%. I wonder what the nvidia card can take?) That could also rule out RAM and other bottlenecks.

For bandwidthTest parameters, you have to open up its source.

Well if your ram is only working single-channel, that could do it. I think the issue is that the blue slot isn’t getting its 16 lanes. I guess it’s supposed to be automatic, but looks like it’s stuck and there’s no way to force it. Sorry about your luck. If you’re feeling adventurous, you can up your PCIe frequency and see if that boosts bandwidth. (In the BIOS it can be overclocked 80%. I wonder what the nvidia card can take?) That could also rule out RAM and other bottlenecks.

For bandwidthTest parameters, you have to open up its source.

  1. RAM speed s probably not the bottleneck. I agree that the PCIe bus may not be in full x16 mode, although there may be other problems.

  2. I’ve got a separate set of test code, written to compare the effect of different buffer lengths and pinned/unpinned memory. I don’t use bandwidthTest.

I’ve tried some benchmarks on my RAM and they give varying results. The most optimistic reads/writes are about 2.7GB/s. This is obviously RAM<->CPU, not RAM<->GPU but if the former is that slow, can this be an indication of the bottleneck?

Did you try memtest86+? It doesn’t need an OS and will give you the true bandwidth (I think it can also explicitly check if dual channel is enabled). 2.7GB/s sounds very low.

EDIT: Actually, I don’t know if it’ll show you the “true” bandwidth, but this person is getting 2.4GB/s on DDR400 dual channel: http://www.memtest.org/pics/i875-big.gif so compare your results to him.

Sorry it took so long.

I don’t have empty CDs handy so I can’t make memtest86+ boot disks. I’ve done some benchmarking with Everest (should be more credible than those noname benchmarks I’ve been using earlier). Here are the results

Does that look okay?