About the EEMBC AutoBench™ Performance Benchmark Suite

AutoBench is a suite of benchmarks that allow users to predict the performance of microprocessors and microcontrollers in automotive, industrial, and general-purpose applications. Its 16 benchmark kernels include the following:

Generic Workload Tests

These tests include bit manipulation, matrix mapping, a specific floating-point tester, a cache buster, pointer chasing, pulse-width modulation, multiplication, and shift operations (typical of encryption algorithms).

Basic Automotive Algorithms

These tests include controller area network (CAN), tooth-to-spark (locating the engine’s cog when the spark is ignited), angle-to-time conversion, road speed calculation, and table lookup and interpolation.

Signal Processing Algorithms

These tests include algorithms which are becoming increasingly important for sensors used in engine knock detection, vehicle stability control, and occupant safety systems. They include Fast Fourier Transforms (FFT and iFFT), a finite impulse response filter (FIR), an Inverse Discrete Cosine Transform (iDCT), and an Infinite Impulse Response (IIR) filter.

More details on the algorithms may be found in the AutoBench data book, here is the list of algorithms:

AutoBench Evolution

AutoBench is one of EEMBC's earliest and most popular benchmarks, and has been in use for over 20 years. The original verison of AutoBench (v1.1) was based on a single-core test harness. It has been superceded by version 2.0.

AutoBench 2.0 is a suite of benchmarks that allows processor and system designers to analyze, test, and improve multicore automotive processors. It uses two forms of concurrency:

AutoBench 2.0 combines a wide variety of automotive workloads with the EEMBC Multi-Instance-Test Harness (MITH), compatible and portable with most any multicore processors and operating systems. MITH uses a thread-based API (POSIX-compliant) to establish a common programming model that communicates with the benchmark through an abstraction layer and provides a flexible interface to allow a wide variety of thread-enabled workloads to be tested.

The AutoBench 2.0 workloads can be individually parameterized to vary the amount of concurrency being implemented by the benchmark. By applying incrementally challenging and concurrent workloads, system designers can optimize programs for specific processors and systems, as well as assess the impact of memory bottlenecks, cache coherency, and thread scheduling support. The wide variety of workloads support judicious monitoring of parameters that highlight the strengths and weaknesses of multicore automotive processors and systems.

Historic scores for AutoBench 1.1 may be found here.

Visit our licensing page to obtain an AutoBench license.


Copyright © EEMBC