mcf is a SPEC CPU(R) benchmark written in C and described here. The workload runs on all logical cores.

Topdown profile shows variation across execution with highest backend stalls earlier. Branch misprediction is higher than other benchmarks.

AMD metrics on 7840 show 169 branches per 1000 instructions with 7.6% mispredict rate.
elapsed 706.488
on_cpu 0.983 # 15.73 / 16 cores
utime 11068.352
stime 45.580
nvcsw 17045 # 14.53%
nivcsw 100283 # 85.47%
inblock 0 # 0.00/sec
onblock 10872 # 15.39/sec
cpu-clock 11114898717389 # 11114.899 seconds
task-clock 11114998725628 # 11114.999 seconds
page faults 16619173 # 1495.202/sec
context switches 116670 # 10.497/sec
cpu migrations 178 # 0.016/sec
major page faults 1425 # 0.128/sec
minor page faults 16617748 # 1495.074/sec
alignment faults 0 # 0.000/sec
emulation faults 0 # 0.000/sec
branches 7643169799668 # 169.000 branches per 1000 inst
branch misses 380320972177 # 4.98% branch miss
conditional 6662311358299 # 147.312 conditional branches per 1000 inst
indirect 788841964 # 0.017 indirect branches per 1000 inst
cpu-cycles 46132801373059 # 4.06 GHz
instructions 45224492492588 # 0.98 IPC
slots 92244259994346 #
retiring 15038788420725 # 16.3% (19.9%)
-- ucode 3594551115 # 0.0%
-- fastpath 15035193869610 # 16.3%
frontend 20277614080000 # 22.0% (26.9%)
-- latency 12084711819978 # 13.1%
-- bandwidth 8192902260022 # 8.9%
backend 33122828809181 # 35.9% (43.9%)
-- cpu 3934526359399 # 4.3%
-- memory 29188302449782 # 31.6%
speculation 6983493780666 # 7.6% ( 9.3%)
-- branch mispredict 6965153267984 # 7.6%
-- pipeline restart 18340512682 # 0.0%
smt-contention 16821505108735 # 18.2% ( 0.0%)
cpu-cycles 46040502246132 # 4.06 GHz
instructions 45222810883149 # 0.98 IPC
instructions 15081324990270 # 53.401 l2 access per 1000 inst
l2 hit from l1 582731046360 # 16.33% l2 miss
l2 miss from l1 59898460107 #
l2 hit from l2 pf 151011671810 #
l3 hit from l2 pf 23060950282 #
l3 miss from l2 pf 48547255992 #
instructions 15065650967893 # 0.687 float per 1000 inst
float 512 177 # 0.000 AVX-512 per 1000 inst
float 256 7002 # 0.000 AVX-256 per 1000 inst
float 128 10343593417 # 0.687 AVX-128 per 1000 inst
float MMX 0 # 0.000 MMX per 1000 inst
float scalar 29 # 0.000 scalar per 1000 inst
instructions 45219160041969 #
opcache 10361301752826 # 229.135 opcache per 1000 inst
opcache miss 39793431140 # 0.4% opcache miss rate
l1 dTLB miss 601164273840 # 13.294 L1 dTLB per 1000 inst
l2 dTLB miss 30349646562 # 0.671 L2 dTLB per 1000 inst
instructions 45219130249977 #
icache 69040947975 # 1.527 icache per 1000 inst
icache miss 11517712917 # 16.7% icache miss rate
l1 iTLB miss 225072683 # 0.005 L1 iTLB per 1000 inst
l2 iTLB miss 0 # 0.000 L2 iTLB per 1000 inst
tlb flush 147168 # 0.000 TLB flush per 1000 inst
Process summary shows the execution running on mcf_r_base.mev-
676 processes
48 mcf_r_base.mev- 11032.40 39.65
116 specperl 13.82 2.14
1 clang 0.00 0.02
11 ps 0.00 0.01
220 sh 0.00 0.00
54 specrxp 0.00 0.00
48 bash 0.00 0.00
41 specinvoke 0.00 0.00
21 grep 0.00 0.00
20 cat 0.00 0.00
12 uniq 0.00 0.00
11 sort 0.00 0.00
10 expand 0.00 0.00
6 pwd 0.00 0.00
5 basename 0.00 0.00
5 specmake 0.00 0.00
5 systemctl 0.00 0.00
4 specpp 0.00 0.00
4 uname 0.00 0.00
3 dirname 0.00 0.00
3 dmidecode 0.00 0.00
3 lscpu 0.00 0.00
2 df 0.00 0.00
2 dpkg 0.00 0.00
2 rm 0.00 0.00
2 runcpu 0.00 0.00
2 specsha512sum 0.00 0.00
2 specxz 0.00 0.00
2 who 0.00 0.00
1 cpupower 0.00 0.00
1 head 0.00 0.00
1 logname 0.00 0.00
1 ls 0.00 0.00
1 lsb_release 0.00 0.00
1 numactl 0.00 0.00
1 sysctl 0.00 0.00
1 w 0.00 0.00
1 wc 0.00 0.00
1 which 0.00 0.00
0 processes running
53 maximum processes
specinvoke starts processes on each logical core.
34559) specinvoke cpu=11 start=3.15 finish=235.05
34561) sh cpu=0 start=3.15 finish=231.57
34572) bash cpu=0 start=3.15 finish=231.57
34593) mcf_r_base.mev- cpu=0 start=3.15 finish=231.54
34562) sh cpu=7 start=3.15 finish=234.70
34573) bash cpu=1 start=3.15 finish=234.70
34596) mcf_r_base.mev- cpu=1 start=3.15 finish=234.69
34563) sh cpu=13 start=3.15 finish=233.59
34575) bash cpu=2 start=3.15 finish=233.59
34601) mcf_r_base.mev- cpu=2 start=3.15 finish=233.57
34564) sh cpu=3 start=3.15 finish=231.31
34579) bash cpu=3 start=3.15 finish=231.31
34594) mcf_r_base.mev- cpu=3 start=3.15 finish=231.29
34565) sh cpu=4 start=3.15 finish=231.02
34578) bash cpu=4 start=3.15 finish=231.02
34595) mcf_r_base.mev- cpu=4 start=3.15 finish=231.00
34566) sh cpu=0 start=3.15 finish=232.74
34581) bash cpu=5 start=3.15 finish=232.74
34600) mcf_r_base.mev- cpu=5 start=3.15 finish=232.72
34567) sh cpu=8 start=3.15 finish=233.89
34582) bash cpu=6 start=3.15 finish=233.89
34599) mcf_r_base.mev- cpu=6 start=3.15 finish=233.87
34568) sh cpu=6 start=3.15 finish=234.54
34577) bash cpu=7 start=3.15 finish=234.54
34597) mcf_r_base.mev- cpu=7 start=3.15 finish=234.53
34569) sh cpu=8 start=3.15 finish=232.73
34584) bash cpu=8 start=3.15 finish=232.73
34598) mcf_r_base.mev- cpu=8 start=3.15 finish=232.71
34570) sh cpu=2 start=3.15 finish=234.54
34583) bash cpu=9 start=3.15 finish=234.54
34603) mcf_r_base.mev- cpu=9 start=3.15 finish=234.52
34571) sh cpu=5 start=3.15 finish=233.36
34587) bash cpu=10 start=3.15 finish=233.36
34602) mcf_r_base.mev- cpu=10 start=3.15 finish=233.34
34574) sh cpu=3 start=3.15 finish=231.86
34590) bash cpu=11 start=3.15 finish=231.86
34607) mcf_r_base.mev- cpu=11 start=3.15 finish=231.84
34576) sh cpu=1 start=3.15 finish=235.05
34588) bash cpu=12 start=3.15 finish=235.05
34605) mcf_r_base.mev- cpu=12 start=3.15 finish=235.03
34580) sh cpu=0 start=3.15 finish=233.30
34589) bash cpu=13 start=3.15 finish=233.30
34604) mcf_r_base.mev- cpu=13 start=3.15 finish=233.28
34585) sh cpu=13 start=3.15 finish=234.03
34591) bash cpu=14 start=3.15 finish=234.03
34608) mcf_r_base.mev- cpu=14 start=3.15 finish=234.01
34586) sh cpu=13 start=3.15 finish=234.28
34592) bash cpu=15 start=3.15 finish=234.28
34606) mcf_r_base.mev- cpu=15 start=3.15 finish=234.26
