PCI express readpixels performance

I know a few developers are interested in this so I thought I’d post it.

ATI X600XT MB/sec
glCopyPixels 1220
glDrawPixels 917
glReadPixels 196

For comparison the X800XT AGP card got around 84 MB/sec, that is fairly typical for ATI on AGP.

NVidia cards give around 180MB/sec with AGP, I am waiting for the results of NVidia’s PCI express cards.

196MB/sec is disappointing to say the least but it is double the AGP figure.

I have been asked to write an article on readback speed with pci express, I might do it but not sure I’m the most qualified. If there is anyone who would like to do this instead, let me know.

AFAIK the new ATI series use a PCI Express Bridge, not a native PCI Express interface. So maybe that is the reason for the low glReadPixels performance.

Let’s just hope that this is an “early driver” kind of thing.

AFAIK it is NVIDIA that uses a bus bridge chip on the card, not ATI. Dunno what ATI does but if it’s a bridge it’s at least on the same die.

P.S. Just did a quick search and yup, it looks like NVIDIA claims the ATI is bridged on the chip. He he, more GFX wars, :slight_smile:

http://www.theinquirer.net/?article=16651

Dunno who to believe :frowning: If this is true ATI was playing fast & loose with the word native.

There should be decidicated independent PCI Express channels for sending data upstream/downstream data from the card, so one would expect with properly written drivers that both would be the same speed, yes?

196MB/s is very disappointing.

Stephen_H: There can be, but there doesn’t need to be. AGP can be fast in both directions (3Dlabs cards do it), but most consumer graphics cards only support AGP transfers for draw and PCI for read.

Adrian: Were those numbers for NV4x or NV3x hardware?

-Won

Originally posted by dorbie:
[b]P.S. Just did a quick search and yup, it looks like NVIDIA claims the ATI is bridged on the chip. He he, more GFX wars, :slight_smile:

http://www.theinquirer.net/?article=16651

Dunno who to believe :frowning: If this is true ATI was playing fast & loose with the word native.[/b]
There are three things that are constant. Tax, death and nVidia spreading FUD.

Perhaps, however I recall it was ATI that stated their interface was native PCI-Express and NVIDIA’s wasn’t. Seems there’s plenty of FUD being spread on both sides.

Originally posted by Won:
Adrian: Were those numbers for NV4x or NV3x hardware?
The 180MB/sec is for the NV30.

Yup, Humus is definately on red side now :slight_smile:

The right image’s left bottom area looks weird. Usually chip subunits don’t span from one edge to the other. The pic just looks weird.

Dorbie, both companies made their own annoucements on PCI Ex.
ATI will go for native and add a bridge for AGP.
NV will go for AGP and add a bridge for PCI Ex.

This whole PCI-Express bridge v. native “debate” is pointless. There is nothing wrong with NVIDIA’s decision to go with the bridge; in fact, they provide ample technical justification for why it’s a reasonable interim solution. If it’s just a marketing issue, then I’m surprised that NVIDIA even acknowledged ATI’s attacks at all, although they kinda back-channeled it so only places like L’Inq would report it.

I wonder if we’ll see the bridge in a motherboard. Might be an easy way to get PCI-Express on AGP nForce chipsets.

Anyway, I’m not sure how anyone would tell the difference between a plain old serializer and an AGP->PCI-Express bridge with those images. I would imagine most of the area would be buffering and the hundreds of data/address lines in both cases. The smoking gun would be if they pointed out the AGP bus control logic, but finding that would probably require some serious sleuthing besides the casual scrutiny of die photos.

-Won

Yup, Humus is definately on red side now
Now? He has been ever sense he interened for them a year ago or so.

Originally posted by dorbie:
Perhaps, however I recall it was ATI that stated their interface was native PCI-Express and NVIDIA’s wasn’t. Seems there’s plenty of FUD being spread on both sides.
It is native PCI-e. But for AGP cards it’s bridged down to AGP8x. NVidia does it the other way around. Native AGP8x, bridged to PCI-e, with the result that no PCI-e features nor the speed of the interface will be available on their cards, even if they are in a PCI-e slot.

ATi have only provided truthful information, of course packed in the fluffy PR lull-lull though, while nVidia on the other hand is trying to imply that ATI has been lying and is doing the same thing as they do, which is wrong and plain FUD.

Originally posted by Won:
There is nothing wrong with NVIDIA’s decision to go with the bridge; in fact, they provide ample technical justification for why it’s a reasonable interim solution.
It’s a technical decision like any other with pros and cons. Somehow though nVidia couldn’t take that we had a checkbox feature that their cards didn’t. If they just said “well, we don’t have native PCI-e, but it won’t matter anyway because … bla bla”, then it would be fine. But what they are doing now would be like ATI claiming that nVidia doesn’t really have SM3.0 support and provide DxCapsViewer output from old drivers where it wasn’t yet enabled as evidence.

Touche. I’ve also read that NVIDIA’s AGP (when bridged) is clocked at 12x or 16x so it should be sufficient for unidirectional transfers (depending on how the bandwidth is actually distributed). We shall see when those NV40s stop being back-ordered, and when those fancy 3Dlabs cards become available.

-Won

ATi have only provided truthful information
Yeah, sure Humus :slight_smile:

ATI is supplying true PCI Express cards

ATI’s video processors have a native, or “true” PCI Express interface. They can communicate directly with the PCI Express bus at PCI Express speeds. Other graphics companies have cards that are compatible with PCI Express, but they are still only AGP cards that are “bridged” by a second chip to be physically compatible with PCI Express slots on the motherboard. This architecture can only work at AGP speeds, and is more vulnerable to failure, performance bottlenecks and incompatibility with software applications.

So, let the PR do their job, and stay out of it.

So please explain to me how this is false.

Edit: Ok, so it’s stretching the truth a little since these are problems the end-user likely won’t see. But it’s on a whole different level. This is a discussion of technical merit on the different solutions, while what nVidia does is spreading false information about our implementation and is using that to claim that ATI is lying and hypocritical.

To bring this thread back on topic…

A 6800 on a fast P4 with AGP8X should be able to get 600MB/s readpixels (assuming no reformatting cost, latest drivers, etc).

PCI-E is really hit-or-miss at the moment since the support is preliminary across the board. Suffice it to say that with fully mature chipsets, GPUs, and drivers, it isn’t hard to get much higher than the above number.

So please explain to me how this is false.
The veracity of the statement is not the primary issue. You’re accusing nVidia of spreading FUD: Fear, Uncertainty, and Doubt. ATi’s statement about nVidia’s solution spreads Fear, Uncertainty, and Doubt. Hence, it is as much FUD as what nVidia has said.

That being said, it isn’t on nVidia to explain how their bridge isn’t going to cause these problems. ATi’s the one making the random claim; it is on them to prove their FUD.

“more vulnerable to failure”

How much more? 0.001% would be sufficient to make this claim true, but it doesn’t have any real-world meaning.

“performance bottlenecks”

Only in the sense that they won’t run at 16x speeds. But this, too, is misleading, because hitting AGP/PCIe memory is still going to be far slower than native video RAM.

“incompatibility with software applications”

OK, this is just an out-and-out lie. There is nothing that makes nVidia’s solution “incompatible” with anything. To the outside world, it’s aa PCIe chip. If it just so happens to never go above 8x speeds, that’s its buisness.

This is a discussion of technical merit on the different solutions
If anything, it’s a discussion of how ATi’s solution (either due to hardware misfunction or drivers) clearly isn’t helping much on glReadPixels performance. nVidia’s glReadPixel support, on native AGP, is almost the same as ATi’s one under PCIe. nVidia’s, even with the AGP/PCIe bridge, isn’t likely to get worse, so it is entirely possible that NV40’s PCIe versions will be faster.