{"id":226,"date":"2024-01-05T10:09:45","date_gmt":"2024-01-05T10:09:45","guid":{"rendered":"https:\/\/mvermeulen.org\/perf\/?page_id=226"},"modified":"2024-01-05T11:45:08","modified_gmt":"2024-01-05T11:45:08","slug":"c-ray","status":"publish","type":"page","link":"https:\/\/mvermeulen.org\/perf\/workloads\/phoronix\/c-ray\/","title":{"rendered":"c-ray"},"content":{"rendered":"\n<p>A simple raytracer test. A steady profile with a low amount of front-end misses and a higher retirement rate.<\/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\/01\/amdtopdown-17.png\" alt=\"\" class=\"wp-image-232\" srcset=\"https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/01\/amdtopdown-17.png 1280w, https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/01\/amdtopdown-17-1024x768.png 1024w, https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/01\/amdtopdown-17-768x576.png 768w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<p>AMD metrics show a high amount of floating point code.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>elapsed              193.229\non_cpu               0.920          # 14.72 \/ 16 cores\nutime                2843.215\nstime                1.199\nnvcsw                2880           # 0.40%\nnivcsw               712240         # 99.60%\ninblock              120            # 0.62\/sec\nonblock              146936         # 760.42\/sec\ncpu-clock            2844460816089  # 2844.461 seconds\ntask-clock           2844483262894  # 2844.483 seconds\npage faults          104687         # 36.804\/sec\ncontext switches     715888         # 251.676\/sec\ncpu migrations       3072           # 1.080\/sec\nmajor page faults    6              # 0.002\/sec\nminor page faults    104681         # 36.801\/sec\nalignment faults     0              # 0.000\/sec\nemulation faults     0              # 0.000\/sec\nbranches             1079231734603  # 44.256 branches per 1000 inst\nbranch misses        3273560627     # 0.30% branch miss\nconditional          1063385010947  # 43.606 conditional branches per 1000 inst\nindirect             3067754574     # 0.126 indirect branches per 1000 inst\ncpu-cycles           12321875960673 # 4.02 GHz\ninstructions         24380866354642 # 1.98 IPC\nslots                24668946439356 #\nretiring             8148298916767  # 33.0% (55.8%)\n-- ucode             52074297       #     0.0%\n-- fastpath          8148246842470  #    33.0%\nfrontend             498872246150   #  2.0% ( 3.4%)\n-- latency           57738316554    #     0.2%\n-- bandwidth         441133929596   #     1.8%\nbackend              5915123949013  # 24.0% (40.5%)\n-- cpu               5834112788473  #    23.6%\n-- memory            81011160540    #     0.3%\nspeculation          42870363857    #  0.2% ( 0.3%)\n-- branch mispredict 42751660155    #     0.2%\n-- pipeline restart  118703702      #     0.0%\nsmt-contention       10063754939603 # 40.8% ( 0.0%)\ncpu-cycles           12315039672751 # 4.02 GHz\ninstructions         24380032728302 # 1.98 IPC\ninstructions         8129644074387  # 0.262 l2 access per 1000 inst\nl2 hit from l1       1973886535     # 1.48% l2 miss\nl2 miss from l1      21874035       #\nl2 hit from l2 pf    143089209      #\nl3 hit from l2 pf    6875755        #\nl3 miss from l2 pf   2809825        #\ninstructions         8129337578296  # 324.015 float per 1000 inst\nfloat 512            86             # 0.000 AVX-512 per 1000 inst\nfloat 256            244            # 0.000 AVX-256 per 1000 inst\nfloat 128            2634028430835  # 324.015 AVX-128 per 1000 inst\nfloat MMX            0              # 0.000 MMX per 1000 inst\nfloat scalar         0              # 0.000 scalar per 1000 inst\n<\/code><\/pre>\n\n\n\n<p>Intel metrics show a small code that barely makes L2 accesses.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>elapsed              432.621\non_cpu               0.931          # 14.90 \/ 16 cores\nutime                6447.098\nstime                0.678\nnvcsw                5005           # 0.31%\nnivcsw               1590351        # 99.69%\ninblock              680            # 1.57\/sec\nonblock              293032         # 677.34\/sec\ncpu-clock            6447770583077  # 6447.771 seconds\ntask-clock           6447786296295  # 6447.786 seconds\npage faults          136778         # 21.213\/sec\ncontext switches     1597343        # 247.735\/sec\ncpu migrations       8986           # 1.394\/sec\nmajor page faults    40             # 0.006\/sec\nminor page faults    136738         # 21.207\/sec\nalignment faults     0              # 0.000\/sec\nemulation faults     0              # 0.000\/sec\nbranches             2157151553481  # 44.232 branches per 1000 inst\nbranch misses        8271519627     # 0.38% branch miss\nconditional          2157151612777  # 44.232 conditional branches per 1000 inst\nindirect             714873005231   # 14.658 indirect branches per 1000 inst\nslots                16079412619640 #\nretiring             11921841202251 # 74.1% (74.1%)\n-- ucode             2582238943     #     0.0%\n-- fastpath          11919258963308 #    74.1%\nfrontend             3508733895595  # 21.8% (21.8%)\n-- latency           2568996546907  #    16.0%\n-- bandwidth         939737348688   #     5.8%\nbackend              469157121710   #  2.9% ( 2.9%)\n-- cpu               396760153670   #     2.5%\n-- memory            72396968040    #     0.5%\nspeculation          174707587812   #  1.1% ( 1.1%)\n-- branch mispredict 173535377060   #     1.1%\n-- pipeline restart  1172210752     #     0.0%\nsmt-contention       0              #  0.0% ( 0.0%)\ncpu-cycles           6724054057954  # 1.91 GHz\ninstructions         15297307644937 # 2.28 IPC\nl2 access            794762889      # 0.065 l2 access per 1000 inst\nl2 miss              84294824       # 10.61% l2 miss<\/code><\/pre>\n\n\n\n<p>Process profile shows time in c-ray-mt<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>1053 processes\n\t771 c-ray-mt             683368.56    64.02\n\t 38 vulkaninfo               0.76     0.96\n\t  4 vulkani:disk$0           0.08     0.11\n\t  6 php                      0.06     0.08\n\t  6 clang                    0.05     0.02\n\t  2 llvmpipe-0               0.04     0.06\n\t  2 llvmpipe-1               0.04     0.06\n\t  2 llvmpipe-10              0.04     0.06\n\t  2 llvmpipe-11              0.04     0.06\n\t  2 llvmpipe-12              0.04     0.06\n\t  2 llvmpipe-13              0.04     0.06\n\t  2 llvmpipe-14              0.04     0.06\n\t  2 llvmpipe-15              0.04     0.06\n\t  2 llvmpipe-3               0.04     0.06\n\t  2 llvmpipe-4               0.04     0.06\n\t  2 llvmpipe-5               0.04     0.06\n\t  2 llvmpipe-6               0.04     0.06\n\t  2 llvmpipe-7               0.04     0.06\n\t  2 llvmpipe-8               0.04     0.06\n\t  2 llvmpipe-9               0.04     0.06\n\t  2 llvmpipe-2               0.04     0.05\n\t  1 lspci                    0.00     0.03\n\t 91 sh                       0.00     0.00\n\t 13 gcc                      0.00     0.00\n\t  9 stty                     0.00     0.00\n\t  8 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 glxinfo                  0.00     0.00\n\t  5 gmain                    0.00     0.00\n\t  5 phoronix-test-s          0.00     0.00\n\t  3 c-ray                    0.00     0.00\n\t  3 dconf worker             0.00     0.00\n\t  2 cc                       0.00     0.00\n\t  2 clinfo                   0.00     0.00\n\t  2 grep                     0.00     0.00\n\t  2 lscpu                    0.00     0.00\n\t  2 setterm                  0.00     0.00\n\t  2 uname                    0.00     0.00\n\t  2 which                    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 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 ps                       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 systemctl                0.00     0.00\n\t  1 template.sh              0.00     0.00\n\t  1 wc                       0.00     0.00\n0 processes running\n267 maximum processes\n<\/code><\/pre>\n\n\n\n<p>Looks like many ~256 processes all launched simulataneously.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A simple raytracer test. A steady profile with a low amount of front-end misses and a higher retirement rate. AMD metrics show a high amount of floating point code. Intel metrics show a small code that barely makes L2 accesses. <span class=\"excerpt-dots\">&hellip;<\/span> <a class=\"more-link\" href=\"https:\/\/mvermeulen.org\/perf\/workloads\/phoronix\/c-ray\/\"><span class=\"more-msg\">Continue reading &rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":58,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-226","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages\/226","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=226"}],"version-history":[{"count":3,"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages\/226\/revisions"}],"predecessor-version":[{"id":266,"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages\/226\/revisions\/266"}],"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=226"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}