Memory Bandwidth Calculator
Peak memory bandwidth in GB/s from the transfer rate, bus width and number of channels: system RAM such as DDR4-3200 in dual channel, or a graphics card's GDDR or HBM from its data rate per pin and bus width.
Result…
How it's calculated
Bandwidth (GB/s) = transfer rate (MT/s) × bus width (bits) ÷ 8 × channels ÷ 1000 MT/s = clock (MHz) × transfers per clock (2 for DDR) Gbps per pin × 1000 = MT/s
Memory bandwidth is how many bytes memory can move each second at most. Each transfer moves one bit on every data line of the bus, so bandwidth is the transfer rate times the bus width in bytes, times the number of channels working side by side. Memory speeds are quoted in megatransfers per second (MT/s), not MHz: DDR memory moves data on both the rising and falling edge of the clock, so DDR4-3200 runs a 1600 MHz clock and makes 3200 million transfers a second. One 64-bit channel of DDR4-3200 gives 3200 × 64 ÷ 8 = 25,600 MB/s, which is why its modules are labelled PC4-25600. Graphics card memory is usually quoted in Gbps per pin with a total bus width, such as 256 bits.
Your numbers, step by step
About the Memory Bandwidth calculator
This memory bandwidth calculator works out the theoretical peak speed of system RAM or graphics memory in GB/s. Enter the speed as MT/s (the number in a name like DDR4-3200), as Gbps per pin for GPU memory, or as a clock in MHz with the transfers per clock, then the bus width per channel and the number of channels. It multiplies the transfer rate by the bus width in bytes and by the channels, and shows the result per channel, in GiB/s and MB/s, with the transfer rate and the bytes moved per transfer. A bar chart compares one, two, four and eight channels. PC builders use it to see what dual or quad channel adds, and people comparing graphics cards or accelerators use it to compare memory systems. The working is shown with your numbers.
How to use it
- Choose how the “Speed given as” is written: MT/s, Gbps per pin or a clock in MHz.
- Enter the “Speed”, and the “Transfers per clock” if you chose MHz.
- Enter the “Bus width per channel” in bits: 64 for a DDR4 or DDR5 module, or a graphics card's total bus width.
- Enter the number of “Channels” and read the peak bandwidth.
Worked example
DDR4-3200 runs at 3200 MT/s on a 64-bit channel, so one channel moves 3200 × 64 ÷ 8 = 25,600 MB/s, or 25.6 GB/s. In dual channel that doubles to 51.2 GB/s, which is 47.68 GiB/s. A graphics card with 14 Gbps memory on a 256-bit bus gives 14,000 × 256 ÷ 8 = 448,000 MB/s, or 448 GB/s.
Updated
Questions people ask
How do I calculate memory bandwidth?
Multiply the transfer rate in MT/s by the bus width in bits, divide by 8 to get MB/s, and multiply by the number of channels. Divide by 1000 for GB/s.
What is the difference between MT/s and MHz for RAM?
MT/s counts data transfers per second, while MHz is the clock. DDR memory transfers on both edges of the clock, so DDR4-3200 has a 1600 MHz clock and makes 3200 million transfers a second, as the DDR4 SDRAM article on Wikipedia lists.
Does adding more RAM modules increase bandwidth?
Only if they fill more channels. Two modules on the same channel add capacity but not bandwidth, so check how many memory channels your processor and board support.
How do I work out a graphics card's memory bandwidth?
Take the memory speed in Gbps per pin, multiply by the total bus width in bits and divide by 8. Enter the full bus width with one channel.
Will my programs reach the peak bandwidth?
No. Refresh cycles, command overhead and access patterns keep real throughput below the peak, and a memory controller may run below the module's rated speed. To check whether a model fits in graphics memory, use the GPU memory calculator.