<p>I was looking at the specs of <a href="https://www.techpowerup.com/gpu-specs/geforce-gt-640.c813" rel="nofollow noreferrer">this GPU</a> in particular, and tried to compute its theoretical GFLOPs based on more basic specs, such as clock frequency and number of CUDA cores.</p>
<p>My first thought was: each cuda core probably computes one FLOP per cycle, and the clock frequency is 900 MHz = 0.9 GHz, and it has 384 CUDA cores, so this gives:
0.9 * 384 * 1 = 345 GFLOPs. However, the card's actual GFLOPs (in FP32) is stated to be 692.7 GFLOPS.</p>
<p>So my calculation is off, and I'm not sure why. <strong>What is the correct way of calculating the theoretical GFLOPs of a GPU?</strong> I'm ok with the calculation being more complicated or merely approximate.</p>

CC BY-SA 4.0
2022-05-28T10:36:10.670Z
How wide are the cores?  Can they fit 2 (limited bit width) floats and process them in parallel?
GrapefruitIsAwesome
CC BY-SA 4.0
2022-05-28T12:32:06.763Z
Actually, looking at the specs for the card, this is a Kepler architecture and doesn't looks like it has native FP64 processing so I don't think my previous comment is correct.  Could this be a case of counts a fused multiply-add as 2 ops?
GrapefruitIsAwesome
CC BY-SA 4.0
2022-05-28T12:58:00.543Z
@GrapefruitIsAwesome, I looked it up, and yes indeed, it is multiplied by 2 due to FMAD being counted as 2 ops. This clarifies it!
user56834
CC BY-SA 4.0
2022-05-28T12:58:37.847Z
Although I must say I'm not sure why the TMU's and ROP's aren't being counted towards the GFLOPs count?
user56834
CC BY-SA 4.0
2022-05-28T15:09:36.263Z
@user56834: What's the point of computing a theoretical number? We don't write *theoretical* applications; we write *actual* applications. "*I'm not sure why the TMU's and ROP's aren't being counted towards the GFLOPs count?*" Besides marketing spin, what would be the point? Again, theoretical numbers don't matter. Texture sampling interpolation generally is not used to do meaningful computation work in the same way as ALUs in shaders. Same goes for framebuffer blending. Conflating the two is pointless outside of marketing.
Nicol Bolas
<gpu>
How to compute a GPU's theoretical GFLOPs based on its specs?
user56834
# How to compute a GPU's theoretical GFLOPs based on its specs?

(Asked by: username_0 on 2022-05-28)

I was looking at the specs of [this GPU](https://www.techpowerup.com/gpu-specs/geforce-gt-640.c813) in particular, and tried to compute its theoretical GFLOPs based on more basic specs, such as clock frequency and number of CUDA cores.

My first thought was: each cuda core probably computes one FLOP per cycle, and the clock frequency is 900 MHz = 0.9 GHz, and it has 384 CUDA cores, so this gives:
0.9 \* 384 \* 1 = 345 GFLOPs. However, the card's actual GFLOPs (in FP32) is stated to be 692.7 GFLOPS.

So my calculation is off, and I'm not sure why. **What is the correct way of calculating the theoretical GFLOPs of a GPU?** I'm ok with the calculation being more complicated or merely approximate.

**Tags:** gpu

> **Comments:**
> **username_1**: How wide are the cores?  Can they fit 2 (limited bit width) floats and process them in parallel?  
> **username_1**: Actually, looking at the specs for the card, this is a Kepler architecture and doesn't looks like it has native FP64 processing so I don't think my previous comment is correct.  Could this be a case of counts a fused multiply-add as 2 ops?  
> **username_0**: @username_1, I looked it up, and yes indeed, it is multiplied by 2 due to FMAD being counted as 2 ops. This clarifies it!  
> **username_0**: Although I must say I'm not sure why the TMU's and ROP's aren't being counted towards the GFLOPs count?  
> **username_2**: @username_0: What's the point of computing a theoretical number? We don't write *theoretical* applications; we write *actual* applications. "*I'm not sure why the TMU's and ROP's aren't being counted towards the GFLOPs count?*" Besides marketing spin, what would be the point? Again, theoretical numbers don't matter. Texture sampling interpolation generally is not used to do meaningful computation work in the same way as ALUs in shaders. Same goes for framebuffer blending. Conflating the two is pointless outside of marketing.  

---

## 0 answers

