(section for microarchitectural float data, to be taken from individual articles (can be automated?)) |
|||
Line 29: | Line 29: | ||
=== ARM === | === ARM === | ||
{{empty section}} | {{empty section}} | ||
+ | |||
+ | == See also == | ||
+ | * [[floating point]] | ||
+ | * [[floating point operation]] | ||
+ | * [[operations per second]] (OPS) | ||
[[category:floating point]] | [[category:floating point]] | ||
[[category:performance]] | [[category:performance]] |
Revision as of 02:52, 22 September 2018
Floating-point operations per second (FLOPS) is a microprocessor performance unit used to quantify the number of floating-point operations a core, machine, or system is capable of in a one second.
Overview
FLOPS are a measure of performance used for comparing the peak theoretical performance of a core, microprocessor, or system using floating point operations. This unit is often used in the field of high-performance computing (e.g., supercomputers) in order to evaluate the peak theoretical performance of various scientific workloads. Traditionally, the FLOPS of a microprocessor could be calculated using the following equation:
With the advent of multi-socket and multi-core architectures, additional levels of explicit parallelism have been introduced resulting in the following modified equation:
and,
Modern microprocessors exploit data parallelism further through the introduction of various vector extensions such as x86's AVX and ARM's SVE. With those extensions, it's possible to performance multiple floating-point operations within a single instruction. For example, a typical fused multiply-accumulate (FMAC) operation can perform two floating-point operations at once. For a single core, this can be expressed as
And for a full system, this can be extended to:
FLOPS by microarchitecture
x86
This section is empty; you can help add the missing info by editing this page. |
ARM
This section is empty; you can help add the missing info by editing this page. |