{"id":2381,"date":"2024-06-04T12:22:06","date_gmt":"2024-06-04T12:22:06","guid":{"rendered":"https:\/\/mvermeulen.org\/perf\/?page_id=2381"},"modified":"2024-06-06T11:22:11","modified_gmt":"2024-06-06T11:22:11","slug":"505-mcf_r","status":"publish","type":"page","link":"https:\/\/mvermeulen.org\/perf\/workloads\/cpu2017\/505-mcf_r\/","title":{"rendered":"505.mcf_r"},"content":{"rendered":"\n<p>mcf is a SPEC CPU(R) benchmark written in C and described <a href=\"https:\/\/spec.org\/cpu2017\/Docs\/benchmarks\/505.mcf_r.html\">here<\/a>. The workload runs on all logical cores.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1280\" height=\"960\" src=\"https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/06\/systemtime-20.png\" alt=\"\" class=\"wp-image-2446\" srcset=\"https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/06\/systemtime-20.png 1280w, https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/06\/systemtime-20-1024x768.png 1024w, https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/06\/systemtime-20-768x576.png 768w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<p>Topdown profile shows variation across execution with highest backend stalls earlier. Branch misprediction is higher than other benchmarks.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1280\" height=\"960\" src=\"https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/06\/amdtopdown-21.png\" alt=\"\" class=\"wp-image-2447\" srcset=\"https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/06\/amdtopdown-21.png 1280w, https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/06\/amdtopdown-21-1024x768.png 1024w, https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/06\/amdtopdown-21-768x576.png 768w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<p>AMD metrics on 7840 show 169 branches per 1000 instructions with 7.6% mispredict rate.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>elapsed              706.488\non_cpu               0.983          # 15.73 \/ 16 cores\nutime                11068.352\nstime                45.580\nnvcsw                17045          # 14.53%\nnivcsw               100283         # 85.47%\ninblock              0              # 0.00\/sec\nonblock              10872          # 15.39\/sec\ncpu-clock            11114898717389 # 11114.899 seconds\ntask-clock           11114998725628 # 11114.999 seconds\npage faults          16619173       # 1495.202\/sec\ncontext switches     116670         # 10.497\/sec\ncpu migrations       178            # 0.016\/sec\nmajor page faults    1425           # 0.128\/sec\nminor page faults    16617748       # 1495.074\/sec\nalignment faults     0              # 0.000\/sec\nemulation faults     0              # 0.000\/sec\nbranches             7643169799668  # 169.000 branches per 1000 inst\nbranch misses        380320972177   # 4.98% branch miss\nconditional          6662311358299  # 147.312 conditional branches per 1000 inst\nindirect             788841964      # 0.017 indirect branches per 1000 inst\ncpu-cycles           46132801373059 # 4.06 GHz\ninstructions         45224492492588 # 0.98 IPC\nslots                92244259994346 #\nretiring             15038788420725 # 16.3% (19.9%)\n-- ucode             3594551115     #     0.0%\n-- fastpath          15035193869610 #    16.3%\nfrontend             20277614080000 # 22.0% (26.9%)\n-- latency           12084711819978 #    13.1%\n-- bandwidth         8192902260022  #     8.9%\nbackend              33122828809181 # 35.9% (43.9%)\n-- cpu               3934526359399  #     4.3%\n-- memory            29188302449782 #    31.6%\nspeculation          6983493780666  #  7.6% ( 9.3%)\n-- branch mispredict 6965153267984  #     7.6%\n-- pipeline restart  18340512682    #     0.0%\nsmt-contention       16821505108735 # 18.2% ( 0.0%)\ncpu-cycles           46040502246132 # 4.06 GHz\ninstructions         45222810883149 # 0.98 IPC\ninstructions         15081324990270 # 53.401 l2 access per 1000 inst\nl2 hit from l1       582731046360   # 16.33% l2 miss\nl2 miss from l1      59898460107    #\nl2 hit from l2 pf    151011671810   #\nl3 hit from l2 pf    23060950282    #\nl3 miss from l2 pf   48547255992    #\ninstructions         15065650967893 # 0.687 float per 1000 inst\nfloat 512            177            # 0.000 AVX-512 per 1000 inst\nfloat 256            7002           # 0.000 AVX-256 per 1000 inst\nfloat 128            10343593417    # 0.687 AVX-128 per 1000 inst\nfloat MMX            0              # 0.000 MMX per 1000 inst\nfloat scalar         29             # 0.000 scalar per 1000 inst\ninstructions         45219160041969 #\nopcache              10361301752826 # 229.135 opcache per 1000 inst\nopcache miss         39793431140    #  0.4% opcache miss rate\nl1 dTLB miss         601164273840   # 13.294 L1 dTLB per 1000 inst\nl2 dTLB miss         30349646562    # 0.671 L2 dTLB per 1000 inst\ninstructions         45219130249977 #\nicache               69040947975    # 1.527 icache per 1000 inst\nicache miss          11517712917    # 16.7% icache miss rate\nl1 iTLB miss         225072683      # 0.005 L1 iTLB per 1000 inst\nl2 iTLB miss         0              # 0.000 L2 iTLB per 1000 inst\ntlb flush            147168         # 0.000 TLB flush per 1000 inst\n<\/code><\/pre>\n\n\n\n<p>Process summary shows the execution running on mcf_r_base.mev-<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>676 processes\n\t 48 mcf_r_base.mev-      11032.40    39.65\n\t116 specperl                13.82     2.14\n\t  1 clang                    0.00     0.02\n\t 11 ps                       0.00     0.01\n\t220 sh                       0.00     0.00\n\t 54 specrxp                  0.00     0.00\n\t 48 bash                     0.00     0.00\n\t 41 specinvoke               0.00     0.00\n\t 21 grep                     0.00     0.00\n\t 20 cat                      0.00     0.00\n\t 12 uniq                     0.00     0.00\n\t 11 sort                     0.00     0.00\n\t 10 expand                   0.00     0.00\n\t  6 pwd                      0.00     0.00\n\t  5 basename                 0.00     0.00\n\t  5 specmake                 0.00     0.00\n\t  5 systemctl                0.00     0.00\n\t  4 specpp                   0.00     0.00\n\t  4 uname                    0.00     0.00\n\t  3 dirname                  0.00     0.00\n\t  3 dmidecode                0.00     0.00\n\t  3 lscpu                    0.00     0.00\n\t  2 df                       0.00     0.00\n\t  2 dpkg                     0.00     0.00\n\t  2 rm                       0.00     0.00\n\t  2 runcpu                   0.00     0.00\n\t  2 specsha512sum            0.00     0.00\n\t  2 specxz                   0.00     0.00\n\t  2 who                      0.00     0.00\n\t  1 cpupower                 0.00     0.00\n\t  1 head                     0.00     0.00\n\t  1 logname                  0.00     0.00\n\t  1 ls                       0.00     0.00\n\t  1 lsb_release              0.00     0.00\n\t  1 numactl                  0.00     0.00\n\t  1 sysctl                   0.00     0.00\n\t  1 w                        0.00     0.00\n\t  1 wc                       0.00     0.00\n\t  1 which                    0.00     0.00\n0 processes running\n53 maximum processes\n<\/code><\/pre>\n\n\n\n<p>specinvoke starts processes on each logical core.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    34559) specinvoke       cpu=11 start=3.15  finish=235.05\n      34561) sh               cpu=0 start=3.15  finish=231.57\n        34572) bash             cpu=0 start=3.15  finish=231.57\n          34593) mcf_r_base.mev-  cpu=0 start=3.15  finish=231.54\n      34562) sh               cpu=7 start=3.15  finish=234.70\n        34573) bash             cpu=1 start=3.15  finish=234.70\n          34596) mcf_r_base.mev-  cpu=1 start=3.15  finish=234.69\n      34563) sh               cpu=13 start=3.15  finish=233.59\n        34575) bash             cpu=2 start=3.15  finish=233.59\n          34601) mcf_r_base.mev-  cpu=2 start=3.15  finish=233.57\n      34564) sh               cpu=3 start=3.15  finish=231.31\n        34579) bash             cpu=3 start=3.15  finish=231.31\n          34594) mcf_r_base.mev-  cpu=3 start=3.15  finish=231.29\n      34565) sh               cpu=4 start=3.15  finish=231.02\n        34578) bash             cpu=4 start=3.15  finish=231.02\n          34595) mcf_r_base.mev-  cpu=4 start=3.15  finish=231.00\n      34566) sh               cpu=0 start=3.15  finish=232.74\n        34581) bash             cpu=5 start=3.15  finish=232.74\n          34600) mcf_r_base.mev-  cpu=5 start=3.15  finish=232.72\n      34567) sh               cpu=8 start=3.15  finish=233.89\n        34582) bash             cpu=6 start=3.15  finish=233.89\n          34599) mcf_r_base.mev-  cpu=6 start=3.15  finish=233.87\n      34568) sh               cpu=6 start=3.15  finish=234.54\n        34577) bash             cpu=7 start=3.15  finish=234.54\n          34597) mcf_r_base.mev-  cpu=7 start=3.15  finish=234.53\n      34569) sh               cpu=8 start=3.15  finish=232.73\n        34584) bash             cpu=8 start=3.15  finish=232.73\n          34598) mcf_r_base.mev-  cpu=8 start=3.15  finish=232.71\n      34570) sh               cpu=2 start=3.15  finish=234.54\n        34583) bash             cpu=9 start=3.15  finish=234.54\n          34603) mcf_r_base.mev-  cpu=9 start=3.15  finish=234.52\n      34571) sh               cpu=5 start=3.15  finish=233.36\n        34587) bash             cpu=10 start=3.15  finish=233.36\n          34602) mcf_r_base.mev-  cpu=10 start=3.15  finish=233.34\n      34574) sh               cpu=3 start=3.15  finish=231.86\n        34590) bash             cpu=11 start=3.15  finish=231.86\n          34607) mcf_r_base.mev-  cpu=11 start=3.15  finish=231.84\n      34576) sh               cpu=1 start=3.15  finish=235.05\n        34588) bash             cpu=12 start=3.15  finish=235.05\n          34605) mcf_r_base.mev-  cpu=12 start=3.15  finish=235.03\n      34580) sh               cpu=0 start=3.15  finish=233.30\n        34589) bash             cpu=13 start=3.15  finish=233.30\n          34604) mcf_r_base.mev-  cpu=13 start=3.15  finish=233.28\n      34585) sh               cpu=13 start=3.15  finish=234.03\n        34591) bash             cpu=14 start=3.15  finish=234.03\n          34608) mcf_r_base.mev-  cpu=14 start=3.15  finish=234.01\n      34586) sh               cpu=13 start=3.15  finish=234.28\n        34592) bash             cpu=15 start=3.15  finish=234.28\n          34606) mcf_r_base.mev-  cpu=15 start=3.15  finish=234.26\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>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 <span class=\"excerpt-dots\">&hellip;<\/span> <a class=\"more-link\" href=\"https:\/\/mvermeulen.org\/perf\/workloads\/cpu2017\/505-mcf_r\/\"><span class=\"more-msg\">Continue reading &rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":2297,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2381","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages\/2381","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/comments?post=2381"}],"version-history":[{"count":2,"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages\/2381\/revisions"}],"predecessor-version":[{"id":2449,"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages\/2381\/revisions\/2449"}],"up":[{"embeddable":true,"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages\/2297"}],"wp:attachment":[{"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/media?parent=2381"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}