EEMBC adds CoreMark-Pro benchmark to extend coverage of multicore CPUs

March 03, 2015 // By Graham Prophet
Independent benchmarking organisation EEMBC has added to its software with Coremark-Pro, a free benchmark which develops the scope of the EEMBC CoreMark with a suite of integer and floating-point tasks, to give a realistic performance metric of larger and multi-core devices.

CoreMark-Pro, EEMBC says, is a comprehensive, advanced processor benchmark working with, and enhancing, the original CoreMark benchmark. While CoreMark stresses the CPU pipeline, CoreMark-Pro tests the entire processor, adding support for multicore technology, a combination of integer and floating-point workloads, and data sets for using larger memory subsystems. Data sets, depending on task, range from 42 kb to 3 MB; to stress multicore devices the code can launch multiple threads, with parallelism in the workload.

The CoreMark-Pro benchmark contains five integer workloads and four popular floating-point workloads. The integer workloads include JPEG compression, ZIP compression, an XML parser, the SHA-256 Secure Hash Algorithm, and a more memory-intensive version of the original CoreMark. The floating-point workloads include a fast Fourier transform (FFT), a linear algebra routine derived from LINPACK, a greatly improved version of the Livermore loops benchmark, and a neural net algorithm to evaluate patterns.

CoreMark-Pro has been designed, EEMBC says, to fill a gap in available metrics; EEMBC says that with CoreMark it has achieved what it set out to do; having, “...largely supplanted the Dhrystone benchmark. Users have downloaded CoreMark almost 13,000 times and EEMBC-certified scores are available from almost all of the worldwide processor and microcontroller vendors, including Atmel, ARM, Freescale Semiconductor, Imagination Technologies, Microchip Technology, NXP Semiconductors, Renesas Electronics, and STMicroelectronics.”

In common with other EEMBC benchmarks, CoreMark-Pro is free to download, and anyone is free to publish scores; the benchmark code performs self-verification to ensure accurate results, and supports a process whereby users can submit their scores to the EEMBC Website. The publicly available list of scores conveniently allows and encourages users to make comparisons between processors. Processor makers are free to apply optimisations, for example in compilation, to maximise scores, providing that such optimisations are declared. This, in EEMBC’s philosophy, comprises valuable design data that can enable designers to select processors that are ill match their specific applications.

“Together, the workloads in CoreMark-Pro represent a wide diversity of performance characteristics, memory utilisation, and instruction-level parallelism,” stated Rajiv Adhikary, senior software engineer at Analog Devices and chair of the EEMBC CoreMark-Pro working group. “This benchmark is guaranteed to highlight the strengths — and weaknesses — of any processor.”

All EEMBC benchmarks, including CoreMark-Pro, are defined by EEMBC members and are thoroughly tested on a wide variety of platforms prior to release. Portability of CoreMark-Pro is a key requirement to ensure wide-ranging usability.

“Similar to the EEMBC CoreMark usage model, the accessibility of CoreMark-Pro makes it easier for embedded-industry experts to validate or challenge submitted scores,” elaborated Markus Levy, EEMBC president. “Furthermore, to make CoreMark-Pro even more accessible, its workloads encompass the CPU portion of the tests for EEMBC AndEBench-Pro and the first results are located on the EEMBC website.”

The appearance of CoreMark-Pro also extends the scope of EEMBC’s benchmark for Android systems; essentially, says Levy, CoreMark-Pro is the CPU-specific portion of AndEBench.


next page; EEMBC background...