|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.