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

Topdown profile shows a backend-bound workload with several transition periods.

AMD metrics for 7840 processor confirm topdown memory bound workload. Approximately 100 L2 accesses but a 35% L2 miss rate.
elapsed 4550.517
on_cpu 0.987 # 15.80 / 16 cores
utime 71807.447
stime 70.527
nvcsw 97192 # 12.30%
nivcsw 693175 # 87.70%
inblock 0 # 0.00/sec
onblock 76808 # 16.88/sec
cpu-clock 71894556471080 # 71894.556 seconds
task-clock 71895682964243 # 71895.683 seconds
page faults 15322746 # 213.125/sec
context switches 788968 # 10.974/sec
cpu migrations 575 # 0.008/sec
major page faults 3608 # 0.050/sec
minor page faults 15319138 # 213.075/sec
alignment faults 0 # 0.000/sec
emulation faults 0 # 0.000/sec
branches 9946444006569 # 106.362 branches per 1000 inst
branch misses 158093543610 # 1.59% branch miss
conditional 8506498396961 # 90.964 conditional branches per 1000 inst
indirect 303832503081 # 3.249 indirect branches per 1000 inst
cpu-cycles 323469504283127 # 4.41 GHz
instructions 93523365819643 # 0.29 IPC low
slots 646833742714674 #
retiring 31158742609143 # 4.8% ( 5.8%) low
-- ucode 44362326367 # 0.0%
-- fastpath 31114380282776 # 4.8%
frontend 22505474246514 # 3.5% ( 4.2%) low
-- latency 12087807418272 # 1.9%
-- bandwidth 10417666828242 # 1.6%
backend 479910375744452 # 74.2% (89.7%) high
-- cpu 44026151893931 # 6.8%
-- memory 435884223850521 # 67.4%
speculation 1582705091260 # 0.2% ( 0.3%) low
-- branch mispredict 1526293395642 # 0.2%
-- pipeline restart 56411695618 # 0.0%
smt-contention 111676232212003 # 17.3% ( 0.0%)
cpu-cycles 322909243440924 # 4.41 GHz
instructions 93529964190307 # 0.29 IPC low
instructions 31187453335685 # 93.116 l2 access per 1000 inst
l2 hit from l1 2031473661222 # 34.77% l2 miss
l2 miss from l1 363444129199 #
l2 hit from l2 pf 226198887767 #
l3 hit from l2 pf 141275266043 #
l3 miss from l2 pf 505093333915 #
instructions 31162917306696 # 338.504 float per 1000 inst
float 512 465 # 0.000 AVX-512 per 1000 inst
float 256 6475912 # 0.000 AVX-256 per 1000 inst
float 128 10548758414246 # 338.504 AVX-128 per 1000 inst
float MMX 0 # 0.000 MMX per 1000 inst
float scalar 0 # 0.000 scalar per 1000 inst
instructions 93509220691832 #
opcache 12838123147590 # 137.293 opcache per 1000 inst
opcache miss 185854581876 # 1.4% opcache miss rate
l1 dTLB miss 94458089967 # 1.010 L1 dTLB per 1000 inst
l2 dTLB miss 7505584655 # 0.080 L2 dTLB per 1000 inst
instructions 93521241174553 #
icache 277631017236 # 2.969 icache per 1000 inst
icache miss 64769736080 # 23.3% icache miss rate
l1 iTLB miss 2459809558 # 0.026 L1 iTLB per 1000 inst
l2 iTLB miss 0 # 0.000 L2 iTLB per 1000 inst
tlb flush 1618639 # 0.000 TLB flush per 1000 inst
The process overview shows parest_r_base.m as the primary process.
1064 processes
32 parest_r_base.m 47764.64 29.12
334 specperl 43.05 7.08
10 ps 0.01 0.01
1 lsb_release 0.01 0.00
33 specinvoke 0.00 0.05
1 clang++ 0.00 0.01
428 sh 0.00 0.00
32 bash 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 specrxp 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 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
53 processes running
53 maximum processes
specinvoke fires up separate processes on each core.
392467) specinvoke cpu=2 start=3.38 finish=1513.77
392469) sh cpu=10 start=3.38 finish=1507.68
392476) bash cpu=0 start=3.38 finish=1507.68
392502) parest_r_base.m cpu=0 start=3.38 finish=1507.65
392470) sh cpu=0 start=3.38 finish=1511.12
392481) bash cpu=1 start=3.38 finish=1511.12
392507) parest_r_base.m cpu=1 start=3.38 finish=1511.09
392471) sh cpu=12 start=3.38 finish=1477.99
392479) bash cpu=2 start=3.38 finish=1477.99
392505) parest_r_base.m cpu=2 start=3.38 finish=1477.94
392472) sh cpu=0 start=3.38 finish=1512.29
392478) bash cpu=3 start=3.38 finish=1512.29
392501) parest_r_base.m cpu=3 start=3.38 finish=1512.26
392473) sh cpu=12 start=3.38 finish=1476.53
392483) bash cpu=4 start=3.38 finish=1476.53
392503) parest_r_base.m cpu=4 start=3.38 finish=1476.48
392474) sh cpu=0 start=3.38 finish=1513.76
392485) bash cpu=5 start=3.38 finish=1513.76
392504) parest_r_base.m cpu=5 start=3.38 finish=1513.74
392475) sh cpu=4 start=3.38 finish=1492.40
392486) bash cpu=6 start=3.38 finish=1492.40
392506) parest_r_base.m cpu=6 start=3.38 finish=1492.36
392477) sh cpu=10 start=3.38 finish=1504.26
392488) bash cpu=7 start=3.38 finish=1504.26
392508) parest_r_base.m cpu=7 start=3.38 finish=1504.23
392480) sh cpu=6 start=3.38 finish=1507.65
392491) bash cpu=8 start=3.38 finish=1507.65
392509) parest_r_base.m cpu=8 start=3.38 finish=1507.62
392482) sh cpu=14 start=3.38 finish=1511.41
392494) bash cpu=9 start=3.38 finish=1511.41
392515) parest_r_base.m cpu=9 start=3.39 finish=1511.39
392484) sh cpu=10 start=3.38 finish=1479.81
392495) bash cpu=10 start=3.38 finish=1479.81
392510) parest_r_base.m cpu=10 start=3.39 finish=1479.77
392487) sh cpu=9 start=3.38 finish=1512.24
392496) bash cpu=11 start=3.38 finish=1512.24
392511) parest_r_base.m cpu=11 start=3.39 finish=1512.21
392489) sh cpu=12 start=3.38 finish=1474.79
392497) bash cpu=12 start=3.38 finish=1474.79
392512) parest_r_base.m cpu=12 start=3.39 finish=1474.73
392490) sh cpu=15 start=3.38 finish=1513.68
392498) bash cpu=13 start=3.38 finish=1513.68
392513) parest_r_base.m cpu=13 start=3.39 finish=1513.65
392492) sh cpu=10 start=3.38 finish=1486.93
392499) bash cpu=14 start=3.38 finish=1486.93
392514) parest_r_base.m cpu=14 start=3.39 finish=1486.88
392493) sh cpu=10 start=3.38 finish=1502.00
392500) bash cpu=15 start=3.38 finish=1502.00
392516) parest_r_base.m cpu=15 start=3.39 finish=1501.95
