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 TestsThese 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 AlgorithmsThese 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 AlgorithmsThese 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 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.
"Putting multiple execution cores into a single processor does not by itself guarantee greater multiples of processing power. If the application code can't or won't scale with the number of cores, then putting more cores in the car increases cost and complexity without providing any benefit,” said Paul Teich, principal analyst at Tirias Research. “This is why AutoBench 2.0 is so important. It’s designed to show when performance scales across more cores—and when and why it doesn't."