{"id":2054,"date":"2024-03-07T13:00:24","date_gmt":"2024-03-07T13:00:24","guid":{"rendered":"https:\/\/mvermeulen.org\/perf\/?page_id=2054"},"modified":"2024-03-07T13:51:50","modified_gmt":"2024-03-07T13:51:50","slug":"fhourstones","status":"publish","type":"page","link":"https:\/\/mvermeulen.org\/perf\/workloads\/phoronix\/fhourstones\/","title":{"rendered":"fhourstones"},"content":{"rendered":"\n<p>An integer benchmark that plays connect four. This is a single-threaded benchmark<\/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\/03\/systemtime-27.png\" alt=\"\" class=\"wp-image-2060\" srcset=\"https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/03\/systemtime-27.png 1280w, https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/03\/systemtime-27-1024x768.png 1024w, https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/03\/systemtime-27-768x576.png 768w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<p>Topdown profile has backend stalls highest and also some branch mis-prediction.<\/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\/03\/amdtopdown-27.png\" alt=\"\" class=\"wp-image-2062\" srcset=\"https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/03\/amdtopdown-27.png 1280w, https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/03\/amdtopdown-27-1024x768.png 1024w, https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/03\/amdtopdown-27-768x576.png 768w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<p>AMD metrics confirm low floating point and low l2 access.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>elapsed              312.054\non_cpu               0.060          # 0.95 \/ 16 cores\nutime                296.897\nstime                0.881\nnvcsw                2042           # 63.73%\nnivcsw               1162           # 36.27%\ninblock              0              # 0.00\/sec\nonblock              12592          # 40.35\/sec\ncpu-clock            297841146459   # 297.841 seconds\ntask-clock           297846570054   # 297.847 seconds\npage faults          196082         # 658.332\/sec\ncontext switches     4593           # 15.421\/sec\ncpu migrations       284            # 0.954\/sec\nmajor page faults    2              # 0.007\/sec\nminor page faults    196080         # 658.326\/sec\nalignment faults     0              # 0.000\/sec\nemulation faults     0              # 0.000\/sec\nbranches             233327883545   # 104.871 branches per 1000 inst\nbranch misses        12686837013    # 5.44% branch miss\nconditional          200759406002   # 90.232 conditional branches per 1000 inst\nindirect             1917676634     # 0.862 indirect branches per 1000 inst\ncpu-cycles           1384938128023  # 0.28 GHz\ninstructions         2224474557838  # 1.61 IPC\nslots                2771980632678  #\nretiring             725097197766   # 26.2% (26.2%)\n-- ucode             11796409       #     0.0%\n-- fastpath          725085401357   #    26.2%\nfrontend             361716878175   # 13.0% (13.0%)\n-- latency           260290765254   #     9.4%\n-- bandwidth         101426112921   #     3.7%\nbackend              1374264682599  # 49.6% (49.6%)\n-- cpu               80682799574    #     2.9%\n-- memory            1293581883025  #    46.7%\nspeculation          310843813950   # 11.2% (11.2%) high\n-- branch mispredict 309522763990   #    11.2%\n-- pipeline restart  1321049960     #     0.0%\nsmt-contention       57799883       #  0.0% ( 0.0%)\ncpu-cycles           1392819774354  # 0.28 GHz\ninstructions         2223360442867  # 1.60 IPC\ninstructions         741458455985   # 2.865 l2 access per 1000 inst\nl2 hit from l1       1423555319     # 67.07% l2 miss\nl2 miss from l1      794340374      #\nl2 hit from l2 pf    70235277       #\nl3 hit from l2 pf    167165521      #\nl3 miss from l2 pf   463258156      #\ninstructions         741628324732   # 0.221 float per 1000 inst\nfloat 512            50             # 0.000 AVX-512 per 1000 inst\nfloat 256            620            # 0.000 AVX-256 per 1000 inst\nfloat 128            164066040      # 0.221 AVX-128 per 1000 inst\nfloat MMX            0              # 0.000 MMX per 1000 inst\nfloat scalar         0              # 0.000 scalar per 1000 inst\ninstructions         2224801463854  #\nopcache              438936130733   # 197.292 opcache per 1000 inst\nopcache miss         1048308708     #  0.2% opcache miss rate\nl1 dTLB miss         2238351667     # 1.006 L1 dTLB per 1000 inst\nl2 dTLB miss         1359849519     # 0.611 L2 dTLB per 1000 inst\ninstructions         2224803513056  #\nicache               2054994127     # 0.924 icache per 1000 inst\nicache miss          327607358      # 15.9% icache miss rate\nl1 iTLB miss         9166304        # 0.004 L1 iTLB per 1000 inst\nl2 iTLB miss         0              # 0.000 L2 iTLB per 1000 inst\ntlb flush            16665          # 0.000 TLB flush per 1000 inst\n<\/code><\/pre>\n\n\n\n<p>Intel metrics<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>elapsed              343.927\non_cpu               0.060          # 0.96 \/ 16 cores\nutime                329.738\nstime                0.439\nnvcsw                1846           # 53.48%\nnivcsw               1606           # 46.52%\ninblock              8              # 0.02\/sec\nonblock              1352           # 3.93\/sec\ncpu-clock            330219473625   # 330.219 seconds\ntask-clock           330223833301   # 330.224 seconds\npage faults          186470         # 564.678\/sec\ncontext switches     4997           # 15.132\/sec\ncpu migrations       278            # 0.842\/sec\nmajor page faults    0              # 0.000\/sec\nminor page faults    186470         # 564.678\/sec\nalignment faults     0              # 0.000\/sec\nemulation faults     0              # 0.000\/sec\nbranches             231157288340   # 104.123 branches per 1000 inst\nbranch misses        16171366041    # 7.00% branch miss\nconditional          231157300180   # 104.123 conditional branches per 1000 inst\nindirect             1923748155     # 0.867 indirect branches per 1000 inst\nslots                7301781267950  #\nretiring             1996958686283  # 27.3% (27.3%)\n-- ucode             114931974763   #     1.6%\n-- fastpath          1882026711520  #    25.8%\nfrontend             682187026144   #  9.3% ( 9.3%)\n-- latency           364906500413   #     5.0%\n-- bandwidth         317280525731   #     4.3%\nbackend              2383766707457  # 32.6% (32.6%)\n-- cpu               620738229105   #     8.5%\n-- memory            1763028478352  #    24.1%\nspeculation          2248370550539  # 30.8% (30.8%) high\n-- branch mispredict 2248233525684  #    30.8%\n-- pipeline restart  137024855      #     0.0%\nsmt-contention       0              #  0.0% ( 0.0%)\ncpu-cycles           1216671318936  # 0.22 GHz\ninstructions         2220072072083  # 1.82 IPC\nl2 access            13054101521    # 5.881 l2 access per 1000 inst\nl2 miss              9005012687     # 68.98% l2 miss\ncpu-cycles           1216942699639  # 31.7% memory latency\nload stalls          385134577681   #  0.0% l1 bound\nl1 miss              459783709265   # 11.6% l2 bound\nl2 miss              318108276546   #  1.9% l3 bound\nl3 miss              294978425345   # 24.2% dram bound\nstore_stalls         246520143      #  0.0% store bound\n<\/code><\/pre>\n\n\n\n<p>Process overview<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>354 processes\n\t  3 SearchGame             296.62     0.06\n\t 68 clinfo                  20.17     6.91\n\t 38 vulkaninfo               1.33     1.33\n\t  6 glxinfo:gdrv0            0.18     0.04\n\t  6 glxinfo:gl0              0.18     0.04\n\t  4 vulkani:disk$0           0.14     0.14\n\t  2 glxinfo                  0.08     0.02\n\t  2 glxinfo:cs0              0.08     0.02\n\t  2 glxinfo:disk$0           0.08     0.02\n\t  2 glxinfo:sh0              0.08     0.02\n\t  2 glxinfo:shlo0            0.08     0.02\n\t  6 php                      0.07     0.07\n\t  2 llvmpipe-0               0.07     0.07\n\t  2 llvmpipe-1               0.07     0.07\n\t  2 llvmpipe-10              0.07     0.07\n\t  2 llvmpipe-11              0.07     0.07\n\t  2 llvmpipe-12              0.07     0.07\n\t  2 llvmpipe-13              0.07     0.07\n\t  2 llvmpipe-14              0.07     0.07\n\t  2 llvmpipe-15              0.07     0.07\n\t  2 llvmpipe-2               0.07     0.07\n\t  2 llvmpipe-3               0.07     0.07\n\t  2 llvmpipe-4               0.07     0.07\n\t  2 llvmpipe-5               0.07     0.07\n\t  2 llvmpipe-6               0.07     0.07\n\t  2 llvmpipe-7               0.07     0.07\n\t  2 llvmpipe-8               0.07     0.07\n\t  2 llvmpipe-9               0.07     0.07\n\t  6 clang                    0.05     0.07\n\t  1 lspci                    0.00     0.03\n\t  3 rocminfo                 0.00     0.02\n\t  1 ps                       0.00     0.01\n\t 82 sh                       0.00     0.00\n\t 13 gcc                      0.00     0.00\n\t 10 gsettings                0.00     0.00\n\t  8 stat                     0.00     0.00\n\t  8 systemd-detect-          0.00     0.00\n\t  6 llvm-link                0.00     0.00\n\t  5 phoronix-test-s          0.00     0.00\n\t  4 gmain                    0.00     0.00\n\t  3 fhourstones-ben          0.00     0.00\n\t  2 cc                       0.00     0.00\n\t  2 dconf worker             0.00     0.00\n\t  2 lscpu                    0.00     0.00\n\t  2 uname                    0.00     0.00\n\t  2 which                    0.00     0.00\n\t  2 xset                     0.00     0.00\n\t  1 date                     0.00     0.00\n\t  1 dirname                  0.00     0.00\n\t  1 dmesg                    0.00     0.00\n\t  1 dmidecode                0.00     0.00\n\t  1 grep                     0.00     0.00\n\t  1 ifconfig                 0.00     0.00\n\t  1 ip                       0.00     0.00\n\t  1 lsmod                    0.00     0.00\n\t  1 mktemp                   0.00     0.00\n\t  1 qdbus                    0.00     0.00\n\t  1 readlink                 0.00     0.00\n\t  1 realpath                 0.00     0.00\n\t  1 sed                      0.00     0.00\n\t  1 sort                     0.00     0.00\n\t  1 stty                     0.00     0.00\n\t  1 systemctl                0.00     0.00\n\t  1 template.sh              0.00     0.00\n\t  1 wc                       0.00     0.00\n\t  1 xrandr                   0.00     0.00\n0 processes running\n47 maximum processes\n<\/code><\/pre>\n\n\n\n<p>Computation block<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>      1039809) fhourstones-ben  cpu=8 start=5.77  finish=103.54\n        1039810) SearchGame       cpu=9 start=5.77  finish=103.54\n      1039812) fhourstones-ben  cpu=4 start=107.54 finish=206.39\n        1039813) SearchGame       cpu=13 start=107.55 finish=206.38\n      1039815) fhourstones-ben  cpu=13 start=210.39 finish=310.51\n        1039816) SearchGame       cpu=14 start=210.40 finish=310.51\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>An integer benchmark that plays connect four. This is a single-threaded benchmark Topdown profile has backend stalls highest and also some branch mis-prediction. AMD metrics confirm low floating point and low l2 access. Intel metrics Process overview Computation block<\/p>\n <a class=\"more-link\" href=\"https:\/\/mvermeulen.org\/perf\/workloads\/phoronix\/fhourstones\/\"><span class=\"more-msg\">Continue reading &rarr;<\/span><\/a>","protected":false},"author":1,"featured_media":0,"parent":58,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2054","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages\/2054","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=2054"}],"version-history":[{"count":2,"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages\/2054\/revisions"}],"predecessor-version":[{"id":2063,"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages\/2054\/revisions\/2063"}],"up":[{"embeddable":true,"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages\/58"}],"wp:attachment":[{"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/media?parent=2054"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}