FLOPS Intel core and testing it with C (innerproduct)

你说的曾经没有我的故事 提交于 2019-12-03 16:11:26

As for your 2nd question, the theoretical FLOPS calculation isn't too hard. It can be broken down into roughly:

(Number of cores) * (Number of execution units / core) * (cycles / second) * (Execution unit operations / cycle) * (floats-per-register / Execution unit operation)

A Core-2 Duo has 2 cores, and 1 execution unit per core. an SSE register is 128 bits wide. a float is 32 bits wide so you can store 4 floats per register. I assume the execution unit does 1 SSE operation per cycle. So it should be:

2 * 1 * 2.8 * 1 * 4 = 22.4 GFLOPS

which matches: http://www.intel.com/support/processors/sb/cs-023143.htm

This number is obviously purely theoretical best case performance. Real world performance will most likely not come close to this due to a variety of reasons. It's probably not worth trying to directly correlate flops to actual app runtime, you'd be better off trying out the computations used by your applicaton.

This article shows some theory on FLOPS numbers for x86 CPUs. It's only current up to Pentium 4, but perhaps you can extrapolate.

A FLOP stands for Floating Point Operation.

It means the same in any architecture that supports floating point operations, and is usually measured as the ammount of operations that can take place in any one second (as in FLOPS; floating point operations per second).

here you can find tools to measure your computer's FLOPS.

Intel's data sheets contain GFLOPS numbers and your processor has a claimed 22.4

http://www.intel.com/support/processors/sb/CS-023143.htm

Since your machine is dual core that means 11.2 GFlops per core at 2.8 GHz. Divide this out and you get 4. So Intel claims that their cores can each do 4 FLOPS per cycle.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!