**What the FLOP?**

**Defying the laws physics and lots of car analogies.**

Today I want to talk about everyone’s favorite number: FLOPS, which stands for „Floating Point Operations per Second“. You’ve probably seen the abbreviation „TF“, meaning Tera (= SI unit for Trillions) FLOPS.

I’m under the impression that a lot of people don’t even now what FLOPS are, they only know „the more, the better“. I’ll try to explain this in layman’s terms to put some light on this mysterious number.

MisterX and his gang always find new ways to inflate this number, either by applying their own nonsensical mathematics or even by defying the laws of physics.

Interested in what’s going on? Here we go:

As described before, FLOPS stands for Floating Point Operations per Second. This unit can be used to measure the theoretical speed of a digital processor.

A floating point operation is a mathematical operation (e.g. addition) with two floating point numbers (= decimal numbers). The more of these simple operations your processor can do in a second, the faster it is.

The same logic is used when driving a car: the further distance you travel in a defined time frame, the faster you are. Instead of FLOPS, you calculate miles per hour.

So here’s the kicker:

MisterX and his gang want to make you believe that there are „raw“ and „real world“ FLOPS. The „real world“ number is inflated because due to INSERT LATEST DISCOVERY HERE, Xbox One FLOPS are somehow „better“ or „more efficient“.

Just NO! A FLOP is a FLOP, and a second is a second. Both are a defined actions / units, there are no „better“ FLOPs or shorter seconds.

You can’t say „My car has a top speed of 150 mph, but because it’s a Honda this means 200 mph in the real world“.

Regarding efficiency and real world numbers:

Yes, you can talk about these things in regards of FLOPS, but in a different way than MisterX does.

FLOPS can both be calculated and measured with special software. The measured value (= real world) will always be LOWER than the theoretical value, not larger. No software or code is 100% efficient, so you will NEVER get the output your processor is theoretically capable of.

Your car isn’t 100% efficient either. Due to wieght, wind resistance, friction of your tires, etc. you will never achieve the theoretical top speed your engine is capable of.

Also, there is a way to measure efficiency. This is is done by measuring how much electrical power (Watts) your processor needs to perform a FLOP.

Just like your car, the less power / fuel it uses, the more efficient it is. But this does not make your car go faster.

To finish my already long posting, let’s talk about the latest and greatest rumor:

„But what about the recent double precision discovery? We can multiply everything by two!!!“

Again: Just NO!

A processor can do floating point operations with either single precision or double precision numbers. This means that your processor can handle calculations with longer decimal numbers, namely 64 bits instead of 32 bits long.

This allows you crunch larger numbers in one operation instead of two, or achieve more precision (hence the name) for your calculations by using more numbers after the decimal point. This does not mean that it can do two single precision calculations at once.

One last car analogy:

Your new double precision car is big enough so Shaquille O’Neal can take it for a ride comfortably. Does putting two skinny guys in the driving seat instead of Shaq make your car go twice as fast? I guess you know the answer...

**Disclaimer for the nitpickers:**

Yes, I’m aware that this is extremely simplified, but that was the point of this posting.

## 0 comments:

## Post a Comment