(This post is inspired by the discussion of rigorous performance notation and benchmarking methodology in our earlier paper Scientific Benchmarking of Parallel Computing Systems and by common criminal misuse of terms in our communities.)
High-performance computing has given humanity many beautiful things: weather forecasts, protein simulations, large-scale machine learning, and the ability to turn an electricity bill into a leaderboard entry. It has also given us one small but surprisingly persistent unit-writing mess: FLOP, FLOPS, flop, flops, and the mysterious creature known as flop/s.
The problem is not that people do not know what they mean. Usually they do. The problem is that they often write it in a way that mixes up a count of floating-point operations with a rate of floating-point operations per second. That is rather like mixing up joules and watts, except with more GPUs and fewer household appliances.
So let us ask a deliberately pedantic question: what if “floating point operation” were treated as a proper unit? If it were, the clean notation would be simple:
- flop for a count of floating-point operations.
- flop/s for floating-point operations per second.
- Not FLOP, not FLOPS, and not the informal plural flops.
This is not because lowercase letters are morally superior, although some metrologists may quietly suspect so. It is because scientific notation works best when symbols are stable, unambiguous, and boring in exactly the right way.
The unit-symbol rule: symbols are not abbreviations
The International System of Units, maintained by the BIPM, exists to make measurement communication consistent across science, technology, industry, and trade. The BIPM publishes the SI Brochure as the official reference for the system. NIST summarizes the relevant writing rules very clearly: unit symbols are written in lowercase unless they are derived from a person’s name, such as W for watt or Pa for pascal.
That rule alone already makes FLOP suspicious. If flop were a unit symbol, what famous scientist named “Flop” are we honoring? Florence L. O. Processor? Friedrich Ludwig Operand von Pipeline? No. There is no Person of Flop. Therefore, by analogy with ordinary SI-style unit symbols, the symbol should be lowercase: flop.
NIST also states that unit symbols are never pluralized: 250 mm means 250 millimeters, not 250 mms. This is the key point. If flop is treated as a unit symbol, then 10 flop, 1015 flop, and 1.2e21 flop are correct in the same way that 10 m, 10 kg, and 10 J are correct. The quantity changes; the symbol does not.
The distinction is not just stylistic. NIST’s SI guidance emphasizes that unit symbols are symbols, not ordinary English abbreviations. They obey mathematical-symbol rules, not plural-noun rules. In other words, a unit symbol is not a little word that needs an s when it becomes lonely in a crowd. It is a symbol. It remains calm.
“Watts”, “kgs”, and other small crimes against clarity
Consider a few everyday examples. In formal technical writing, we would normally write:
2000 W, not2000 Wattswhen using the symbol.2 kg, not2 kgs.10 km, not10 kms.
There is a small nuance here: spelling out a unit name as an English noun can require a plural, so “2000 watts” is grammatically fine in prose. NIST explicitly says plural unit names are used when English grammar requires them. But unit symbols do not get plural endings: W, kg, and km remain unchanged regardless of the number.
This is why “many flop” is the right style if flop is the unit symbol. It may sound odd at first, just as “12 fish” sounds odd if you were expecting “fishes,” but metrology is not here to optimize for vibes. It is here to prevent ambiguity, preferably before the benchmark marketing department discovers it.
The real confusion: flop versus flop/s
The strongest reason to avoid flops is that it collides with the traditional acronym FLOPS, commonly expanded as “floating-point operations per second.” Industry articles still explain FLOPS as a rate, not the plural of a single operation. That means “flops” is a dangerously overloaded spelling: it can be read as a plural count of operations or as a rate of operations per second. Those are not the same quantity.
A count and a rate differ by a dimension of time. 1018 flop is a number of operations. 1018 flop/s is a speed. Confusing them is like confusing “I drove 100 km” with “I drove 100 km/h.” One tells you how far you went. The other tells you how fast you were going. Only one of them will impress the traffic police.
The ambiguity is not theoretical. AMD’s ROCm documentation notes that terms such as peak FLOPs, max-achievable FLOPs, and delivered FLOPs have historically been used interchangeably, creating confusion and incorrect comparisons. The same source defines peak FLOPs through a formula involving frequency, cores, and operations per cycle, i.e., a rate-like hardware capability rather than a mere count of operations.
This is exactly why flop and flop/s are preferable. They make the dimensional distinction visible:
3.4e12 flop: a workload size, operation count, or algorithmic cost.3.4e12 flop/s: a performance rate.
The slash is doing real work. It is not decoration. It is the tiny typographic hinge on which dimensional sanity swings.
But isn’t “FLOP” an acronym?
Historically, yes: people often write FLOP for “floating-point operation” and FLOPS for “floating-point operations per second.” That convention is widespread. It is also exactly the convention that creates the mess.
If we are writing ordinary English prose, acronyms are fine. But if we are writing values of quantities, it is better to behave like we are using units. NIST’s SI guidance recommends expressing quantity values using Arabic numerals paired with unit symbols. Once we decide that a floating-point operation count is a measurable quantity, the natural notation is not acronym style but unit-symbol style.
That means:
- Use
flopwhen counting floating-point operations. - Use
flop/swhen reporting floating-point operations per second. - Avoid
FLOPbecause unit symbols are not capitalized unless derived from names. - Avoid
flopsbecause unit symbols are not pluralized and because it is visually confusable withflop/s. - Avoid
FLOPSwhen you can write the dimensionally explicitflop/s.
Recommended style guide
| Meaning | Recommended | Avoid | Why |
|---|---|---|---|
| One floating-point operation | 1 flop |
1 FLOP |
Lowercase follows unit-symbol style unless derived from a proper name. |
| Many floating-point operations | 109 flop |
109 flops |
Unit symbols are not pluralized. |
| Floating-point operation rate | 109 flop/s |
109 FLOPS, 109 flops |
flop/s explicitly shows “operations per second” and avoids count/rate ambiguity. |
| Metric-prefixed rate | 1 Tflop/s |
1 TFLOPS, 1 teraflops |
SI prefixes attach directly to symbols without spaces, and symbols are not pluralized. |
A few examples
Instead of:
The model required 3e23 FLOPs to train and achieved 500 TFLOPS.
Write:
The model required 3e23 flop to train and achieved 500 Tflop/s.
Instead of:
This kernel performs two FLOPS per cycle.
Write:
This kernel performs 2 flop/cycle.
Instead of:
We counted 100 megaFLOPs.
Write:
We counted 100 Mflop.
The point is not to win an argument at the typography conference, although that is a noble side quest. The point is to make the units carry the meaning precisely.
The punchline
If floating-point operations were treated as a real unit, the notation would be beautifully simple:
Use flop for work, and flop/s for speed.
Everything else is either shouting, pluralizing a symbol, or hiding a division by seconds in an acronym. FLOP looks like an acronym. FLOPS looks like a plural and a rate at the same time. flops looks casual, but it quietly smuggles ambiguity into the room. And ambiguity, like thermal throttling, usually arrives just when the benchmark is about to get interesting.
So let us be precise. Let us be boring in the way good notation is boring. Let us write:
1 flop1015 flop1015 flop/s
Your readers will understand the difference between a count and a rate. Your units will stop wearing unnecessary capital letters. And somewhere, perhaps, a metrologist will smile quietly into a perfectly lowercase cup of coffee.
For readers interested in the broader question of how to measure, report, and compare parallel computing performance rigorously, the paper Scientific Benchmarking of Parallel Computing Systems contains a much more detailed treatment of benchmarking methodology, performance analysis, and the many ways seemingly simple metrics can mislead.








