Industry-Standard Benchmarks for Embedded Systems
EEMBC, an industry alliance, develops benchmarks to help system designers select the optimal processors and understand the performance and energy characteristics of their systems. EEMBC has benchmark suites targeting mobile devices (for phones and tablets), networking, ultra-low power microcontrollers, the Internet of Things (IoT), digital media, automotive, and other application areas. EEMBC also has benchmarks for general-purpose performance analysis including CoreMark, MultiBench (multicore), and FPMark (floating-point).

MultiBench™ FAQs

Can I run MultiBench without SMP linux (e.g. baremetal)?

MultiBench is intended to be run on a Linux-like OS, but it has been coded in a way where it could be ported to bare-metal by customizing the abstraction layer to schedule threads and implement a RAM drive for the input datasets.

Can you explain the allocation of concurrent workloads/works and the relationship between them and the program?

The default scheduling mechanism is POSIX pthreads(). The workloads are launched using pthreads, and inside the workloads, the workers are also scheduled with pthreads. The OS will determine where to schedule. If you want to change that behavior, you need to customize the al_smp_threads file's functions.