How Results Must Be Reported
EEMBC requires:
• Each thread/context = one CoreMark instance
• Each instance must be reported separately
• You may optionally show a “total throughput” number, but only after listing each instance individually
This is why vendors report results like:
Core 0: 3.21 CoreMark/MHz
Core 1: 3.20 CoreMark/MHz
Core 2: 3.21 CoreMark/MHz
Core 3: 3.20 CoreMark/MHz
Total: 12.82 CoreMark/MHz
Practical Meaning for You
If you set MULTITHREAD=4, CoreMark will:
• Spawn 4 threads
• Run 4 independent benchmarks
• Rely on the OS to schedule them
• Produce 4 separate scores
If you want true per core correctness, you must:
• Pin each thread to a specific core
• Or run 4 separate processes, each pinned to a core
[/CODE]
So question for everyone is does this make sense and when dealing with multi-core processors really have to show results for both?