# What's the difference between GPU Memory bandwidth and speed?

I was looking at Nvidia's series 10 graphics cards' specs and noticed they have memory speed and memory bandwidth specified. Memory speed is expressed in Gbps and memory bandwidth is expressed in GB/sec. To me, that looks like memory speed divided by 8 should be equal to memory bandwidth, since 8 bits make up one Byte and all the other units are the same, but that is not the case.

I was wondering if someone could explain to me, what actually indicates a real transfer rate of data. If there were 2 GPUs, one with higher memory speed(Gbps) and the other with higher memory bandwidth(GB/sec), which one could transfer more data in some fixed timeframe(or is that impossible and these 2 things are somehow linked in some way)?

Am I missing something here? I can't seem to find a good answer anywhere... What is actually important here? And why are both measurements expressed with almost the same units (since a Byte is 8 bits, one measurement should be equal to another, if you convert both to bits or to bytes)?

Evidence here and here(click "VIEW FULL SPECS" in the SPECS section).

There are two separate things being specified here. I have copied the Nvidia spec from the page you linked to show it better.

One is the memory chip data line interface speed of 8gbps which is part of the GDDR5 spec, and the next is the aggregate memory speed of 256GB/s.

GDDR5 memory is typically 32 bits wide so the math (for the 1070) goes as follows:

• 8 gbps per line
• 32 lines per chip
• 8 memory chips on card

Multiplying up this gives us a memory speed of 2048gbps, divide that by 8 and we get the memory bandwidth of 256GB/s.

The 8 chips at 32-bits per chip also matches the memory interface width of 256-bit, so you could easily do (8gbps * 256-bits) / 8 bits-per-byte (which neatly cancels down to simply "256") and come up with the same figure.

For the 1080: 10gbps * 256b / 8 = 320GB/s
For the 1050: 7gbps * 128b / 8 = 112GB/s

If you have two devices that have the same gbps but different GB/s then that tells you that it has a different number of chips in the memory bank. Typically you'd want to choose the higher aggregate memory bandwidth (GB/s) as this will generally be the actual useful memory bandwidth.

A device with 10gbps per pin but only 4 chips would have a total bandwidth of 160GB/s ( (10 * 32 * 4) divided by 8) which would be lower than the 8gbps across 8 chips (256GB/s) I showed you above for the 1070.

• Thank you for answering. Good, easily understandable explanation with important details. This helped me a lot :) Mar 7, 2017 at 16:04
• @BassGuitarPanda you are very welcome. I admit I was a little baffled to begin with as well. They had two seemingly contradictory values for memory bandwidth which only made sense once I realised that one was a bandwidth-per-data-line figure. I learnt something myself as well, so thank you for a clear and well asked question.
– Mokubai
Mar 7, 2017 at 16:23

The GeForce 10 has a memory bandwidth ranging from 64 to 384 bits.

This is the GeForce 1030 2GB GDDR5:

There are 2 RAM chips

Micron markets their GDDR5 chips as 4GB or 8GB. This is based on using 8 chips of 32 bits, hence 256 bits as default and in fact the '8GB' is in reality 8 x 1GB.

In the case of the 1030 it can be seen that they have just 2 memory chips.

For this GTX 1080 Ti 11GB

then it can be seen that there are 11 memory chips, with one conspicuously missing just to the right of the GPU itself.

The GTX 1080 Ti was based on the Titan X, an earlier card which had the full 12GB. However the 1080 Ti is slightly faster, despite the missing memory chip giving 352 bits rather than 384 bits. This is thanks to the use of faster memory chips.

Therefore across the 1000 series we see (https://en.wikipedia.org/wiki/GeForce_10_series):

• 2, 3, 4, 5, 6, 8, 11 or 12 memory chips for the resulting memory bus widths of 64, 96, 128, 160, 192, 256, 352, or 384 bits
• 5, 6, 7, 8 or 9 Gbps GDDR5 speeds
• 2.1 Gbps DDR4 on the GeForce 1030 DDR4
• 8, 9, 10, or 11.4 Gbps GDDR5x

The preceding 900 series (which did not include any ultra-budget cards) had 5-7 Gbps GDDR5 across 4,6, 7+1, 8, or 12 chips, while the 700 series had 1, 2, 4, 8, or 12 GDDR5 at 5-7 Gbps, or 2 or 4 DDR3 chips at 1.8 Gbps. Before that the 600 series had 2, 4, or 6 DDR3 chips at 1.8 Gbps, as well as 4, 6, or 8 GDDR5 chips at speeds of 3.2 - 6 Gbps. Before that the 500 series had 6, 8, 10 or 12 GDDR5 chips at speeds 3.4 - 4.1 Gbps, or 2 or 4 DDR3 chips at 1.8 Gbps.

Nvidia products from the 1600 and 2000 series consist of:

• 4 x 1GB 8 Gbps GDDR5 chips (GTX 1650 GDDR5)
• 4 x 1GB 12 Gbps GDDR6 chips (GTX 1650 GDDR6 and GTX 1650 Super)
• 6 x 1GB 8 Gbps GDDR5 chips (GTX 1660)
• 6 x 1GB 14 Gbps GDDR6 chips (GTX 1660 Super and RTX 2060)
• 6 x 1GB 12 Gbps GDDR6 chips (GTX 1660 Ti)
• 8 x 1GB 14 Gbps GDDR6 chips (RTX 2060 Super, 2070, 2070 Super, 2080)
• 8 x 1GB 15.5 Gbps GDDR6 chips (RTX 2080 Super)
• 11 x 1GB 14 Gbps GDDR6 chips (RTX 2080 Ti)
• 12 x 2GB 14 Gbps GDDR6 (Titan RTX)

And for the 3000 series:

• 6 x 2GB 15 Gbps GDDR6 (RTX 3060)
• 8 x 1GB 14 Gbps GDDR6 (RTX 3060 Ti, RTX 3070)
• 8 x 1GB 19 Gbps GDDR6x (RTX 3070 Ti)
• 10 x 1GB 19 Gbps GDDR6x (RTX 3080)
• 12 x 1GB 19 Gbps GDDR6x (RTX 3080 Ti)
• 12 x 2GB 19.5 Gbps GDDR6x (RTX 3090)

(it's worth noting that GDDR6x uses PAM4, which is to say instead of using 0s and 1s, there are 4 different states, i.e. 00, 01, 10 or 11, instead of 0 or 1. Hence the actual memory clock speed is lower than GDDR6)

It should be noted that memory performance is not the only factor in graphics card performance, in that for example the 1650 GDDR6 is about 10% slower than the GDDR5 version, despite the 50% faster memory, due in part to slightly lower core clock speeds due to the power limitations of that card, which is designed for use without an external power connector. However in general, it can be seen that:

• the 'bus width' is a multiple of 32, equal to the number of memory chips on the card
• for GDDR5 (obsolete) the bitrate could be anything between 5 and 9 Gbps
• for GDDR5x (obsolete) the bitrate jumps to 8-11 Gbps
• for GDDR6 it goes to typically 12-14 Gbps
• for GDDR6x 19-19.5 Gbps
• for DDR3 and DDR4 only around 2 Gbps

Therefore memory bandwidth is fundamentally:

• total memory bus width (from 32 bits with 1 memory chip up to 384 bits with 12 chips) x memory bit rate (i.e. 2 - 19.5 Gbps) / 8 (bits in a byte)

We could rearrange this as:

• number of memory chips x memory bit rate x 4 (bytes in a memory chip)

Or we could for example note that a GTX 3060 is 12GB, while a GTX 3070 is 8GB, and note that it's obvious that the 3060 is 6 x 2GB chips, while the 3070 is 8 x 1GB, which is faster (albeit that the fact that the (newer) 3060 got a bump from 14 Gbps to 15 Gbps GDDR6 is non-intuitive).