In recent client discussions on FLOPs and the process of selecting embedded SoCs, I found it essential to share some insights here.
FLOPs or Floating Point Operations per second, is a metric used by computing folks to measure how many floating point operations your device can do per second. The larger the FLOPs, the faster the system processes computations. There are variants like GFLOPs, TFLOPs, PFLOPs denoting Giga, Tera, Peta, indicative of higher compute capabilities. Due to marketing pressures, we usually, see the theoretical FLOP numbers being mentioned in datasheets. The practical scenario introduces various factors, such as data access speed, that reduce this value heavily. FLOPs are usually practically calculated by having an equation similar to (a+(b*c)) involving 2 floating point operations of add and multiply called Fused Multiply Add (FMA), where processors with FMA support perform floating-point multiply-add operations in a single fused step.

While FLOPs are a relevant metric their significance in the embedded domain depends on the nature of the applications the embedded system will be running. Higher FLOPs often translate to a larger power budget, a potential deal-breaker for battery-operated systems. Embedded systems often require a balance between performance and power efficiency. Remember that.
Personally, I find CoreMark scoring to be a superior metric for embedded applications. It offers a singular figure per MHz or per mA indicating processing capabilities for power consumed.. I discuss CoreMark in older posts on my website, explaining why it stands out as a benchmark. But Alas, it hasn’t gained widespread traction, and manufacturers seldom include it in datasheets. It will change in the future I am sure.
In essence, the right processor for an embedded application rests on the specific requirements of that application. Just don’t go chasing FLOPs alone.
0 Comments
Comments are closed.