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

Topdown profile shows a backend bound application.

AMD metrics confirm almost 200 L2 accesses per 1000 instructions and over 35% miss rate.
elapsed 2913.604
on_cpu 0.989 # 15.82 / 16 cores
utime 45952.410
stime 146.539
nvcsw 60191 # 11.00%
nivcsw 486901 # 89.00%
inblock 0 # 0.00/sec
onblock 23672 # 8.12/sec
cpu-clock 46110694195743 # 46110.694 seconds
task-clock 46111603372414 # 46111.603 seconds
page faults 27680650 # 600.297/sec
context switches 546536 # 11.852/sec
cpu migrations 206 # 0.004/sec
major page faults 736 # 0.016/sec
minor page faults 27679914 # 600.281/sec
alignment faults 0 # 0.000/sec
emulation faults 0 # 0.000/sec
branches 2529052541972 # 76.566 branches per 1000 inst
branch misses 10962054534 # 0.43% branch miss
conditional 1893553882793 # 57.327 conditional branches per 1000 inst
indirect 220110756070 # 6.664 indirect branches per 1000 inst
cpu-cycles 209575823621539 # 4.45 GHz
instructions 33028652913423 # 0.16 IPC low
slots 419100802566912 #
retiring 11541439578728 # 2.8% ( 2.8%) low
-- ucode 2996339981 # 0.0%
-- fastpath 11538443238747 # 2.8%
frontend 9239383775568 # 2.2% ( 2.3%) low
-- latency 7530373522626 # 1.8%
-- bandwidth 1709010252942 # 0.4%
backend 389455334744808 # 92.9% (94.9%) high
-- cpu 30852021068967 # 7.4%
-- memory 358603313675841 # 85.6%
speculation 311627888135 # 0.1% ( 0.1%) low
-- branch mispredict 194460337886 # 0.0%
-- pipeline restart 117167550249 # 0.0%
smt-contention 8552850550540 # 2.0% ( 0.0%)
cpu-cycles 208979424152334 # 4.46 GHz
instructions 33022374135409 # 0.16 IPC low
instructions 11010464374416 # 196.455 l2 access per 1000 inst
l2 hit from l1 1690964709861 # 36.36% l2 miss
l2 miss from l1 463953169216 #
l2 hit from l2 pf 149577757193 #
l3 hit from l2 pf 137767015603 #
l3 miss from l2 pf 184753487636 #
instructions 11009639724002 # 129.670 float per 1000 inst
float 512 178 # 0.000 AVX-512 per 1000 inst
float 256 9876442032 # 0.897 AVX-256 per 1000 inst
float 128 1417741198942 # 128.773 AVX-128 per 1000 inst
float MMX 0 # 0.000 MMX per 1000 inst
float scalar 1 # 0.000 scalar per 1000 inst
instructions 33019001845309 #
opcache 4407926813123 # 133.497 opcache per 1000 inst
opcache miss 193858813401 # 4.4% opcache miss rate
l1 dTLB miss 1096430967354 # 33.206 L1 dTLB per 1000 inst
l2 dTLB miss 99268449419 # 3.006 L2 dTLB per 1000 inst
instructions 33019153737204 #
icache 248333528124 # 7.521 icache per 1000 inst
icache miss 53829148554 # 21.7% icache miss rate
l1 iTLB miss 421656863 # 0.013 L1 iTLB per 1000 inst
l2 iTLB miss 0 # 0.000 L2 iTLB per 1000 inst
tlb flush 296659 # 0.000 TLB flush per 1000 inst
Process overview shows time spent in roms_r_base.mev
581 processes
48 roms_r_base.mev 46122.14 129.71
69 specperl 26.28 5.91
1 flang 0.01 0.00
1 lsb_release 0.01 0.00
11 ps 0.00 0.02
173 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 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 launches separate copies on each logical core.
461157) specinvoke cpu=8 start=3.29 finish=970.82
461159) sh cpu=0 start=3.29 finish=963.96
461164) bash cpu=0 start=3.29 finish=963.96
461188) roms_r_base.mev cpu=0 start=3.29 finish=963.71
461160) sh cpu=11 start=3.29 finish=970.82
461168) bash cpu=1 start=3.29 finish=970.82
461194) roms_r_base.mev cpu=1 start=3.30 finish=970.77
461161) sh cpu=5 start=3.29 finish=970.29
461170) bash cpu=2 start=3.29 finish=970.29
461191) roms_r_base.mev cpu=2 start=3.30 finish=970.22
461162) sh cpu=3 start=3.29 finish=967.90
461172) bash cpu=3 start=3.29 finish=967.90
461199) roms_r_base.mev cpu=3 start=3.30 finish=967.76
461163) sh cpu=8 start=3.29 finish=967.84
461174) bash cpu=4 start=3.29 finish=967.84
461196) roms_r_base.mev cpu=4 start=3.30 finish=967.66
461165) sh cpu=15 start=3.29 finish=969.88
461173) bash cpu=5 start=3.29 finish=969.88
461195) roms_r_base.mev cpu=5 start=3.30 finish=969.75
461166) sh cpu=6 start=3.29 finish=969.56
461171) bash cpu=6 start=3.29 finish=969.55
461193) roms_r_base.mev cpu=6 start=3.30 finish=969.46
461167) sh cpu=4 start=3.29 finish=970.25
461176) bash cpu=7 start=3.29 finish=970.25
461197) roms_r_base.mev cpu=7 start=3.30 finish=970.17
461169) sh cpu=0 start=3.29 finish=966.43
461179) bash cpu=8 start=3.29 finish=966.43
461198) roms_r_base.mev cpu=8 start=3.30 finish=966.27
461175) sh cpu=15 start=3.29 finish=970.28
461182) bash cpu=9 start=3.29 finish=970.28
461200) roms_r_base.mev cpu=9 start=3.30 finish=970.18
461177) sh cpu=11 start=3.29 finish=968.03
461185) bash cpu=10 start=3.29 finish=968.03
461201) roms_r_base.mev cpu=10 start=3.30 finish=967.85
461178) sh cpu=0 start=3.29 finish=966.25
461186) bash cpu=11 start=3.29 finish=966.25
461203) roms_r_base.mev cpu=11 start=3.30 finish=966.01
461180) sh cpu=10 start=3.29 finish=968.99
461187) bash cpu=12 start=3.29 finish=968.99
461202) roms_r_base.mev cpu=12 start=3.30 finish=968.87
461181) sh cpu=10 start=3.29 finish=969.91
461189) bash cpu=13 start=3.29 finish=969.91
461204) roms_r_base.mev cpu=13 start=3.30 finish=969.81
461183) sh cpu=8 start=3.29 finish=968.30
461190) bash cpu=14 start=3.30 finish=968.30
461206) roms_r_base.mev cpu=14 start=3.30 finish=968.15
461184) sh cpu=3 start=3.29 finish=969.02
461192) bash cpu=15 start=3.30 finish=969.02
461205) roms_r_base.mev cpu=15 start=3.30 finish=968.87
