question on Bandwidth of GPU

C

cowboyz

I've asked this before in nz.comp and didn't get any helpful answers so I'd
thought I'd try here.

Trying to understand the logic behind this.

My FSB is 266 with 512MB of memory running at 266 providing a bandwidth of
just over 2G/s. My AGP is set to 8x with a bandwidth of just over 2G/s.
My video card with 128MB reports a banwidth of 23G/s. Now if I work this
out right to have the video card use the 23G/s it would have to wait 11
seconds to get the data up the AGP bus to it. But where does it store the
other 22.8GB (23GB minus the 128Meg RAM it has to store textures)

hope someone understnads this and is able to give some advise.
 
B

Brian Gregory [UK]

The GPU effectively has 128M of very fast RAM which it can read at 23G/s
plus some of your main system RAM which it can read at some (much)
slower speed via bus mastering and the AGP bus.

The main CPU can write to the RAM on the video card at 2G/s (probably
less in practice) via AGP.

Remember than 23G/s is a speed the data can flow.
It does not mean there is 23GB of data which needs to be stored
somewhere.
 
C

cK-Gunslinger

I don't quite get your question. Just because your card has a memory
bandwidth of 23G/s (internal) doesn't mean that it can transfer 23G.

Think about a car that can travel at 90 MPH (miles per hour). You don't
actually have to drive a full 90 miles over the course of an hour to be
able to say that your can can travel at that speed. You can just drive
a small distance over a certain amount of time and extrapolate from
there. Something like 5 miles in 3.3 minutes.

Perhaps your card can transfer it's entire 128MB of memory is as little
as ~0.0054 seconds. That would extrapolate to about 23G/s.

Also, you are not filling your card's memory from system memory
constantly. Say you are playing a game that has you inside a large box
with a single light. Once the game loads and the texture is applied to
the walls, you won't have to read those textures from memory again.
They are stored in the card's memory. As you move, the GPU on the card
reads those textures, performs whatever operations it needs to adjust
for the lighting, etc, then writes the updated scene back out to memory.
It's probably this cycle that gives you your bandwidth numbers.

Perhaps a better analogy would be if you had two 16-ounce cups, one
filled with water, the other empty. If you poured the water from one
cup to the other, then repeated it in reverse as fast as you can, you
may be able to transfer water at a speed of like 5 gallons/minute. Now,
even though you can transfer at 5 g/m, you never actually *have* and
more than 16 ounces at a time, right? Much like at 23G/s, you never
actually have more than 128MB at one time.

Maybe that makes sense...
 
C

cowboyz

cK-Gunslinger said:
I don't quite get your question. Just because your card has a memory
bandwidth of 23G/s (internal) doesn't mean that it can transfer 23G.

Think about a car that can travel at 90 MPH (miles per hour). You
don't actually have to drive a full 90 miles over the course of an
hour to be able to say that your can can travel at that speed. You
can just drive a small distance over a certain amount of time and
extrapolate from there. Something like 5 miles in 3.3 minutes.

Perhaps your card can transfer it's entire 128MB of memory is as
little as ~0.0054 seconds. That would extrapolate to about 23G/s.

Also, you are not filling your card's memory from system memory
constantly. Say you are playing a game that has you inside a large
box with a single light. Once the game loads and the texture is
applied to the walls, you won't have to read those textures from
memory again. They are stored in the card's memory. As you move, the
GPU on the card reads those textures, performs whatever operations it
needs to adjust for the lighting, etc, then writes the updated scene
back out to memory. It's probably this cycle that gives you your
bandwidth numbers.

Perhaps a better analogy would be if you had two 16-ounce cups, one
filled with water, the other empty. If you poured the water from one
cup to the other, then repeated it in reverse as fast as you can, you
may be able to transfer water at a speed of like 5 gallons/minute.
Now, even though you can transfer at 5 g/m, you never actually *have*
and more than 16 ounces at a time, right? Much like at 23G/s, you
never actually have more than 128MB at one time.

Maybe that makes sense...

That makes alot of sense. So my next question is if data can travel
between the GPU and Video RAM at 23G/s what is holding up the data
travelling between the CPU and system RAM (in my case it is 2.1G/s about a
tenth of what the video card can do.) There must be some techincal reason
or one would think we would have PC23000 RAM on the market?
 
C

cK-Gunslinger

cowboyz said:
That makes alot of sense. So my next question is if data can travel
between the GPU and Video RAM at 23G/s what is holding up the data
travelling between the CPU and system RAM (in my case it is 2.1G/s about a
tenth of what the video card can do.) There must be some techincal reason
or one would think we would have PC23000 RAM on the market?

Hmm.. I'm going to venture a guess at this one. On a video card, you
have really small and really fast (and rather pricey) memory modules
that are only centimeters away from the GPU. In a PC, you have a bunch
of these small memory modules together on a DIMM, that has to
communicate through the slot, across the MB, to the CPU.

I know that an Athlon 64FX has a peak bandwidth of about 6.4GB/s (using
DDR 400 ram). So that's really only 1/4 of this video card's ability.
Maybe that difference can be mostly explained away simply by the
distance between the RAM and CPU?

ref:
http://partners.amd.com/athlon64fx/technicalResources/bandwidthAndMemory.jsp
 
B

Brian Gregory [UK]

cowboyz said:
That makes alot of sense. So my next question is if data can travel
between the GPU and Video RAM at 23G/s what is holding up the data
travelling between the CPU and system RAM (in my case it is 2.1G/s
about a tenth of what the video card can do.) There must be some
techincal reason or one would think we would have PC23000 RAM on the
market?

They just haven't done it yet.

The RAM on the graphics card is probably effectively 4 banks of "PC5750"
RAM.

Some new motherboards use 2 banks pf PC3200 RAM to get 6.4GB/s.

One thing that makes it harder to go faster on a motherboard is the need
to allow removable upgradeable memory modules. The fact that the
processor bus has to be linked to a whole bunch of other stuff is
another - you can't keep the connections short if you have a lot of
stuff to connect to.

Modern processors contain fast RAM caches which mean the benefit from
faster RAM wouldn't as much as you might expect.
 
D

DaveW

No application ACTUALLY supplies video data at a rate of 23GB per second for
more than a microsecond. No such program has been written yet, and the
computer certainly could not handle it. Try again in 10 years.
 
C

cowboyz

Brian said:
They just haven't done it yet.

The RAM on the graphics card is probably effectively 4 banks of
"PC5750" RAM.

Some new motherboards use 2 banks pf PC3200 RAM to get 6.4GB/s.

One thing that makes it harder to go faster on a motherboard is the
need to allow removable upgradeable memory modules. The fact that the
processor bus has to be linked to a whole bunch of other stuff is
another - you can't keep the connections short if you have a lot of
stuff to connect to.

Modern processors contain fast RAM caches which mean the benefit from
faster RAM wouldn't as much as you might expect.



Many thanx to the replys. So the thing holding motherboards back is
motherboard design. When you look at the extreme gfx cards and their
layout you (well ok, I) can't help wonder if developers are holding back
because we have reached that magic "fast enough" stage.
 
B

Brian Gregory [UK]

cowboyz said:
Many thanx to the replys. So the thing holding motherboards back is
motherboard design. When you look at the extreme gfx cards and their
layout you (well ok, I) can't help wonder if developers are holding
back because we have reached that magic "fast enough" stage.

Not just motherboard.
I don't think there is any current processor can accept data faster than
6.4GB/s or some figure around that mark.
 
A

Asestar

cowboyz said:
I've asked this before in nz.comp and didn't get any helpful answers so I'd
thought I'd try here.

Trying to understand the logic behind this.

My FSB is 266 with 512MB of memory running at 266 providing a bandwidth of
just over 2G/s. My AGP is set to 8x with a bandwidth of just over 2G/s.
My video card with 128MB reports a banwidth of 23G/s. Now if I work this
out right to have the video card use the 23G/s it would have to wait 11
seconds to get the data up the AGP bus to it. But where does it store the
other 22.8GB (23GB minus the 128Meg RAM it has to store textures)

hope someone understnads this and is able to give some advise.

Lets see...
No name/brand of your graphic card..
WHICH APP reports a "banwidth" of 23"G/s"?
What is G/s? I know about Gb/s = GigaByte/second

If you answer these 3 questions, i might answer yours.
 
C

cowboyz

My question was more of a theroy question trying to get rid of any
bottlenecks but I'll answer your questions.

Lets see...
No name/brand of your graphic card..

Gfx card is a GeCube Ati 9800 Pro
WHICH APP reports a "banwidth" of 23"G/s"?

AIDA32 reports a bandwidth of 22464 MB/s
What is G/s? I know about Gb/s = GigaByte/second

Yeah, yeah, everyone else figured out what I meant.
If you answer these 3 questions, i might answer yours.


Here is another question then. If the GPU can feed off the VRAM at 23Gb/s
then this would explain why there is no real advantage between 128 meg cards
and 256 meg cards. BUT if the AGP port can only supply 2Gb/s then what is
the advantage of having a CPU that has a bandwidth of higher than 2Gb/s?
 
A

Asestar

cowboyz said:
Here is another question then. If the GPU can feed off the VRAM at 23Gb/s
then this would explain why there is no real advantage between 128 meg cards
and 256 meg cards. BUT if the AGP port can only supply 2Gb/s then what is
the advantage of having a CPU that has a bandwidth of higher than 2Gb/s?

Well, thanks for some info.
Now, CPU has that bandwidth to communicate to ram mostly. Textures from
Harddisk goes to ram. Ram sends that data to gfx card, through agp.
So for cpu to have higher than 2 gb/s is good, as it can send/recieve data
from rams faster.

As for original question. That high bandwidth is needed when there is a need
for AA. SO to have 4x AA applied to the image, it has to go back and forth
between gpu and ram, about 30-80 times a second, depending on fps.
 
C

cowboyz

Asestar said:
Well, thanks for some info.
Now, CPU has that bandwidth to communicate to ram mostly. Textures
from Harddisk goes to ram. Ram sends that data to gfx card, through
agp.
So for cpu to have higher than 2 gb/s is good, as it can send/recieve
data from rams faster.

As for original question. That high bandwidth is needed when there is
a need for AA. SO to have 4x AA applied to the image, it has to go
back and forth between gpu and ram, about 30-80 times a second,
depending on fps.

Ah ha. thanx for that. I was under the (wrong) impression that the CPU
feed everything. Having the video card directly getting data from RAM makes
more sense.
 
B

Brian Gregory [UK]

Asestar said:
Lets see...
No name/brand of your graphic card..
WHICH APP reports a "banwidth" of 23"G/s"?
What is G/s? I know about Gb/s = GigaByte/second

If you answer these 3 questions, i might answer yours.

1.
Gb/s would be giga BIT per second. Like the new fast Ethernet.
GB/s is giga BYTE per second which we are talking about here.

2.
23GB/s is the bandwidth between the graphics RAM and the GPU (graphics
chip).
No app has to support this rate, it is enough for the app to plonk a
complex scene and some big textures etc into the RAM and say to the GPU
"go render that" as many times per second as you can.
 
B

Brian Gregory [UK]

Asestar said:
As for original question. That high bandwidth is needed when there is
a need for AA. SO to have 4x AA applied to the image, it has to go
back and forth between gpu and ram, about 30-80 times a second,
depending on fps.

High bandwidth is not only desireable when you use AA.
If you have lots of big textures that increases the bandwidth needed
too.
 
B

Brian Gregory [UK]

cowboyz said:
Ah ha. thanx for that. I was under the (wrong) impression that the
CPU feed everything. Having the video card directly getting data
from RAM makes more sense.

The GPU can only fetch data from system RAM in the same sense that it
can from it's own RAM. Because the data rate from system RAM to the GPU
is so much slower than from graphics card RAM to GPU the ability is
relatively pointless in most situations.
 
W

Wblane

But there IS an advantage to having 256MB of DDR on a vid-card (note that it is
not VRAM, which hasn't been used in years [it was dual-ported]). Try running
Max Payne 2 at 1600x1200x32 and turning on any AA. The game will not let you
because 128MB of vid-card RAM isn't enough.
Here is another question then. If the GPU can feed off the VRAM at 23Gb/s
then this would explain why there is no real advantage between 128 meg cards
and 256 meg cards. BUT if the AGP port can only supply 2Gb/s then what is
the advantage of having a CPU that has a bandwidth of higher than 2Gb/s?


-Bill (remove "botizer" to reply via email)
 
C

cowboyz

Wblane said:
But there IS an advantage to having 256MB of DDR on a vid-card (note
that it is not VRAM, which hasn't been used in years [it was
dual-ported]). Try running Max Payne 2 at 1600x1200x32 and turning on
any AA. The game will not let you because 128MB of vid-card RAM isn't
enough.


sure. Send me a copy of Max Payne 2 and a monitor that supports
1600x1200x32 and I'll let you know it doesn't work.


I had alot of trouble looking at video cards because the reviews I was
reading was benchmarking them at 1600x1200 when I don't play at that res so
I simply don't care. 1024x768 is good enough for me. The odd racing game
I'll bang up to 1280x1024 (which is as high as my 17' will go) but not that
often.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top