For over twenty years, EEMBC has been the leader in real-world embedded benchmarks. The list below describes both our newest and our most-popular benchmarks over the decades. While our benchmarks target specific domains of interest, such as wireless communication or automotive industrial applications, many of these benchmarks are sophisticated suites of highly-popular industry applications. For example, CoreMark-PRO contains 24 floating-point sub-components based on real-world algorithms used extensively in scientific research!
A brief history of EEMBC benchmark releases, note some of these benchmarks have been deprecated (e.g., EnergyBench™):
A list of all of the kernels and workloads in each benchmark, along with a link to their datasheets, can be found in this table.
Benchmarks can be grouped into the following categories:
A selection of benchmarks are available on our GitHub page.
The ULP subcommittee focuses on power and energy. The scores associated with the benchmarks are derived from measurements taking using the STMicroelectronics PowerShield.
In 2014, the ULP team introduced the ULPMark-CoreProfile (or -CP for short). The benchmark runs an active workload for a period of time, then goes to sleep. The energy measurement during the duty cycle reflects a real-life test of embedded low power beyond a simple sleep number.
The ULPMark-PeripheralProfile (or -PP for short) launched in 2016 examines the energy cost of four peripherals: real-time clock, pulse-width modulation, analog-to-digital conversion, and SPI communication.
ULPMark-CoreMark (or ULPMark-CM for short) launched in 2019 measures the energy of CoreMark in a consistent environment. It is EEMBC's first active-power benchmark.
For addressing the energy costs of neural-net inference in embedded devices, EEMBC offers ULPMark-ML.
IoTMark builds on ULPMark by adding a sensor emulation module (the IO Manager) and a radio gateway emulator (the Radio Manager). The execution profile incorporates the types of behavior an IoT edge node would perform. The first benchmark in this series, IoTMark-BLE, uses a Bluetooth Low Energy (BLE) radio as the gateway and an I2C device as the sensor. The next in the suite is IoTMark-Wi-Fi, which explores link- and application-layer energy efficiency for 802.11 devices.
Security comes at a cost, both in programming complexity and energy. As IoT secure becomes even more important, designers must assess the energy cost of the design. SecureMark provides security-specific profiles to assist in this analysis. SecureMark-TLS provides a method to account for the cost of a TLS handshake using elliptic curve key exchange and signing, as well as AES128 CCM & ECB for a ciphers and SHA256 for hashing.
EEMBC's original benchmarks focused on single core 8- and 16-bit embedded processors. These benchmarks aren't suitable for todays mixed-core heterogeneous platforms deployed for high-performance computation. The benchmarks in this category differ from single-core or symmetric multi-core performance benchmarks EEMBC has developed in the past, in that they provide more sophisticated frameworks for assymmetric compute.
ADASMark focuses benchmarking a typical vision pipeline that may be used in advanced driver-assistance systems (ADAS) platforms. Built on OpenCL, the pipeline may be distributed among CPUs, GPUs and DSPs.
Machine Learning on the edge has become a reality. This benchmark strives to categories and analyze several broad classes of popular ML neural networks on embedded edge-compute platforms.
The original EEMBC benchmarks, these suites are still in popular use today for compiler testing, regressions in new embedded core RTL, and academic analysis.
A simple, yet sophisticated test of the functionality of a processor core; it produces a single-number score allowing users to make quick comparisons between processors.
The algorithms in the benchmark analyze processor performance in automotive, industrial, and general-purpos applications.
This benchmark addresses digital entertainment products such as smartphones, MP3 players, digital cameras, TV set-top boxes, and in-car entertainment systems.
Routers and switches can benefit from this benchmark's analysis of performance associated with moving packets in networking applications.
This benchmark approximates office automation tasks performed by processors in printers, plotters, and other office automation systems that handle text and image processing tasks.
The telecommunications suite approximates performance of processors in modem, xDSL, and related fixed-telecom applications.
Our multicore suites are built on the multi-instance test harness (MITH) which exploits the POSIX pthreads interace for testing both context- and worker-level parallelism.
CoreMark-Pro builds on the original CoreMark benchmark by adding context-level parallelism and 7 new workloads which cover integer and floating-point performance.
The original AutoBench benchmark is back in parallel form, with more workloads consistenting on aggregated tasks (combinations of AutoBench-1.1 kernels) that reflect the increase in compute demand of automotive electronic control units (ECU).
FPMark focuses entirely on single- and double-precision floating-point workloads. From Gauss-Jordan Elimination to Black Schols computation, FPMark covers a broad range of intense floating point analysis.
To analyze worker-level parallelism in addition to context-level, MultiBench contains integer workloads that scale in both directions.
Measure browser performance with BrowsingBench, a collection of webpages loaded using a local Nginx server over a wired LAN connection.
Available for free in the Android Play Store, AndeBench is an industry-accepted method of evaluating Android platform performance.
EEMBC is constantly striving to innovate new benchmarks to address a rapidly changing embedded world. Stay tuned in to our development by signing up for our newsletter, the BenchPress!