Industry’s first floating-point benchmark suite
The Embedded Microprocessor Benchmark Consortium have announced a new benchmark suite that tracks the performance of embedded processors with floating-point hardware units, FPMark. FPUs are an increasingly popular and necessary feature to support graphics, audio, motor control, and many other high-end processing tasks. The EEMBC FPMark allows users to evaluate FPU performance on the basis of consistent and controlled data, delivering honest, reliable, and unbiased metrics to serve the needs of processor vendors, compiler vendors, and system developers.
Uniquely, FPMark contains single (32 bit) and double (64 bit) precision workloads, as well as a mixture of small to large data sets to support microcontrollers to high-end processors, respectively. Using floating-point representation enables more accurate calculations of fractional values than fixed-point numbers (integers) because exponents allow the decimal point to shift. Moreover, floating- point math makes numerical computation much easier and many algorithms implemented with floating point take fewer cycles to execute than fixed-point code (assuming similar precision). To take advantage of this efficiency, many embedded processors include hardware floating-point units (FPUs) to support these higher levels of precision.
EEMBC president, Markus Levy, commented: “Until now, the industry has lacked a reliable, useful, and consistent floating-point benchmark. In the same way that EEMBC CoreMark was intended to be a “better Dhrystone,” FPMark provides an extreme improvement over the easily manipulated Whetstone and Linpack. The FPMark will expose and highlight the performance gains from innovations in FPU development in terms of real application performance.”
The EEMBC FPMark Suite uses 10 diverse kernels to generate 53 workloads, each of which self-verify to ensure correct execution of the benchmark. These workloads are built on the same infrastructure as EEMBC MultiBench, allowing the user to launch multiple contexts and demonstrate multicore scalability, as well as greatly simplifying the effort required to port the benchmarks to bare metal or implementations running Linux. The kernels in FPMark include a mixture of general-purpose algorithms (such as Fast Fourier Transform, linear algebra, ArcTan, Fourier coefficients, Horner’s method, and Black Scholes) and complex algorithms (such as a neural network routine, a ray tracer, and an enhanced version of Livermore Loops).
"Developing a reliable floating-point benchmark is a complex challenge – one that EEMBC overcame using many years of benchmark development experience. While many people have attempted to create a floating-point benchmark, most do not comprehend the extra effort required to ensure that the workload executes comparably regardless of compiler or hardware used. For example, it’s important that the FPMark was constructed in such a way to support advanced compiler optimizations, but not at the expense of optimizing away work that must be done during the execution of the benchmark,” comments Linley Gwennap, president and principal analyst of The Linley Group.
Similar to EEMBC CoreMark, certified scores are not required for FPMark, but EEMBC will promote the use of certified scores for members to ensure high-quality results. Non-members may obtain the entire FPMark suite, including source code and documentation, for only $495 for a single user corporate license or $195 for academic licensing.