{"id":1440,"date":"2024-02-03T23:16:24","date_gmt":"2024-02-03T23:16:24","guid":{"rendered":"https:\/\/mvermeulen.org\/perf\/?page_id=1440"},"modified":"2024-02-04T23:41:11","modified_gmt":"2024-02-04T23:41:11","slug":"askap","status":"publish","type":"page","link":"https:\/\/mvermeulen.org\/perf\/workloads\/phoronix\/askap\/","title":{"rendered":"askap"},"content":{"rendered":"\n<p>askap is the Australian SKA Pathfinder and their benchmarks. The first four run a tConvolve using MT (multi-threaded), MPI, OpenCL and OpenMP.  The OpenCL fails and other three run.  The last workload is different.<\/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\/02\/systemtime-26.png\" alt=\"\" class=\"wp-image-1530\" srcset=\"https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/02\/systemtime-26.png 1280w, https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/02\/systemtime-26-1024x768.png 1024w, https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/02\/systemtime-26-768x576.png 768w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<p>Topdown profile shows the MT and MPI workloads are mostly backend bound.  Others are more variable.<\/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\/02\/amdtopdown-27.png\" alt=\"\" class=\"wp-image-1533\" srcset=\"https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/02\/amdtopdown-27.png 1280w, https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/02\/amdtopdown-27-1024x768.png 1024w, https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/02\/amdtopdown-27-768x576.png 768w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<p>AMD metrics show we run on half the cores on average. This is heavy floating point code with a very low level of frontend stalls and a low IPC.  Backend stalls, particularly memory dominate.<\/p>\n\n\n\n<p>Intel metrics also show heavy backend stalls. The memory latency breakdown suggests this is mostly at the DRAM level of the hierarchy.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>elapsed              692.645\non_cpu               0.563          # 9.01 \/ 16 cores\nutime                6197.316\nstime                43.226\nnvcsw                52242          # 59.50%\nnivcsw               35559          # 40.50%\ninblock              484744         # 699.84\/sec\nonblock              838424         # 1210.47\/sec\ncpu-clock            6241158137516  # 6241.158 seconds\ntask-clock           6241202869038  # 6241.203 seconds\npage faults          18726253       # 3000.424\/sec\ncontext switches     90981          # 14.577\/sec\ncpu migrations       7128           # 1.142\/sec\nmajor page faults    1834           # 0.294\/sec\nminor page faults    18724419       # 3000.130\/sec\nalignment faults     0              # 0.000\/sec\nemulation faults     0              # 0.000\/sec\nbranches             3273043868037  # 168.725 branches per 1000 inst\nbranch misses        3267599213     # 0.10% branch miss\nconditional          3273043892613  # 168.725 conditional branches per 1000 inst\nindirect             546410675684   # 28.167 indirect branches per 1000 inst\nslots                60204722223794 #\nretiring             20347657209861 # 33.8% (33.8%)\n-- ucode             1484017206434  #     2.5%\n-- fastpath          18863640003427 #    31.3%\nfrontend             2781813182443  #  4.6% ( 4.6%) low\n-- latency           1956290061026  #     3.2%\n-- bandwidth         825523121417   #     1.4%\nbackend              36406367639532 # 60.5% (60.5%)\n-- cpu               6992955970232  #    11.6%\n-- memory            29413411669300 #    48.9%\nspeculation          1190714838886  #  2.0% ( 2.0%)\n-- branch mispredict 814314213017   #     1.4%\n-- pipeline restart  376400625869   #     0.6%\nsmt-contention       0              #  0.0% ( 0.0%)\ncpu-cycles           26919240110996 # 1.68 GHz\ninstructions         38106253618914 # 1.42 IPC\nl2 access            272117741070   # 14.360 l2 access per 1000 inst\nl2 miss              202448005121   # 74.40% l2 miss\ncpu-cycles           12117126869957 # 57.8% memory latency\nload stalls          6988606434582  #  0.0% l1 bound\nl1 miss              7393019851320  #  7.4% l2 bound\nl2 miss              6498182419310  #  4.6% l3 bound\nl3 miss              5937412868393  # 49.0% dram bound\nstore_stalls         19618397714    #  0.2% store bound\n<\/code><\/pre>\n\n\n\n<p>Process summary shows most of the time at the tConvolve routine for multi-threaded and less for the other routines.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>724 processes\n\t 99 tConvolveMT          67707.10   193.13\n\t 48 tHogbomCleanOMP       3498.04    18.24\n\t 48 tConvolveOMP          2308.80    14.08\n\t 72 tConvolveMPI          2105.73    46.25\n\t133 clinfo                  35.82    12.09\n\t 38 vulkaninfo               0.95     1.33\n\t 18 mpirun                   0.84     2.07\n\t  6 glxinfo:gdrv0            0.11     0.05\n\t  6 glxinfo:gl0              0.11     0.05\n\t  4 vulkani:disk$0           0.10     0.14\n\t  6 php                      0.07     0.21\n\t  2 glxinfo                  0.06     0.02\n\t  2 llvmpipe-0               0.05     0.07\n\t  2 llvmpipe-1               0.05     0.07\n\t  2 llvmpipe-10              0.05     0.07\n\t  2 llvmpipe-11              0.05     0.07\n\t  2 llvmpipe-12              0.05     0.07\n\t  2 llvmpipe-13              0.05     0.07\n\t  2 llvmpipe-14              0.05     0.07\n\t  2 llvmpipe-15              0.05     0.07\n\t  2 llvmpipe-2               0.05     0.07\n\t  2 llvmpipe-3               0.05     0.07\n\t  2 llvmpipe-4               0.05     0.07\n\t  2 llvmpipe-5               0.05     0.07\n\t  2 llvmpipe-6               0.05     0.07\n\t  2 llvmpipe-7               0.05     0.07\n\t  2 llvmpipe-8               0.05     0.07\n\t  2 llvmpipe-9               0.05     0.07\n\t  2 glxinfo:cs0              0.05     0.02\n\t  2 glxinfo:disk$0           0.05     0.02\n\t  2 glxinfo:sh0              0.05     0.02\n\t  2 glxinfo:shlo0            0.05     0.02\n\t  6 clang                    0.04     0.06\n\t  3 rocminfo                 0.00     0.03\n\t  1 lspci                    0.00     0.02\n\t 90 sh                       0.00     0.00\n\t 15 askap                    0.00     0.00\n\t 13 gcc                      0.00     0.00\n\t 11 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  2 cc                       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 dconf worker             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 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 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 structure varies by workload here is the MT workload<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>      570869) askap            cpu=1 start=6.06  finish=77.94\n        570870) tConvolveMT      cpu=0 start=6.07  finish=77.94\n          570871) tConvolveMT      cpu=1 start=22.47 finish=49.58\n          570872) tConvolveMT      cpu=5 start=22.47 finish=49.63\n          570873) tConvolveMT      cpu=7 start=22.47 finish=49.61\n          570874) tConvolveMT      cpu=0 start=22.47 finish=49.42\n          570875) tConvolveMT      cpu=1 start=22.47 finish=49.43\n          570876) tConvolveMT      cpu=14 start=22.47 finish=49.61\n          570877) tConvolveMT      cpu=2 start=22.47 finish=49.48\n          570878) tConvolveMT      cpu=3 start=22.47 finish=49.62\n          570879) tConvolveMT      cpu=12 start=22.47 finish=49.60\n          570880) tConvolveMT      cpu=13 start=22.47 finish=49.64\n          570881) tConvolveMT      cpu=15 start=22.47 finish=49.64\n          570882) tConvolveMT      cpu=0 start=22.47 finish=49.59\n          570883) tConvolveMT      cpu=9 start=22.47 finish=49.50\n          570884) tConvolveMT      cpu=6 start=22.47 finish=49.63\n          570885) tConvolveMT      cpu=10 start=22.47 finish=49.58\n          570886) tConvolveMT      cpu=11 start=22.47 finish=49.57\n          570887) tConvolveMT      cpu=12 start=49.64 finish=77.40\n          570888) tConvolveMT      cpu=13 start=49.64 finish=77.52\n          570889) tConvolveMT      cpu=6 start=49.64 finish=77.54\n          570890) tConvolveMT      cpu=0 start=49.64 finish=77.44\n          570891) tConvolveMT      cpu=1 start=49.64 finish=77.46\n          570892) tConvolveMT      cpu=2 start=49.64 finish=77.59\n          570893) tConvolveMT      cpu=15 start=49.64 finish=77.53\n          570894) tConvolveMT      cpu=3 start=49.64 finish=77.58\n          570895) tConvolveMT      cpu=7 start=49.64 finish=77.60\n          570896) tConvolveMT      cpu=10 start=49.65 finish=77.52\n          570897) tConvolveMT      cpu=5 start=49.65 finish=77.60\n          570898) tConvolveMT      cpu=14 start=49.65 finish=77.59\n          570899) tConvolveMT      cpu=8 start=49.65 finish=77.52\n          570900) tConvolveMT      cpu=9 start=49.65 finish=77.50\n          570901) tConvolveMT      cpu=4 start=49.65 finish=77.59\n          570902) tConvolveMT      cpu=11 start=49.65 finish=77.53\n<\/code><\/pre>\n\n\n\n<p>Here is the MPI section<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>      571050) askap            cpu=7 start=277.73 finish=309.15\n        571051) mpirun           cpu=1 start=277.73 finish=309.12\n          571054) mpirun           cpu=8 start=278.35 finish=309.12\n          571055) mpirun           cpu=1 start=278.35 finish=278.35\n          571056) mpirun           cpu=10 start=278.37 finish=309.11\n          571057) mpirun           cpu=11 start=278.85 finish=309.11\n          571058) mpirun           cpu=7 start=278.85 finish=309.12\n          571059) tConvolveMPI     cpu=3 start=278.90 finish=309.11\n            571061) tConvolveMPI     cpu=11 start=278.90 finish=309.00\n            571064) tConvolveMPI     cpu=11 start=278.91 finish=309.00\n          571060) tConvolveMPI     cpu=11 start=278.90 finish=309.11\n            571063) tConvolveMPI     cpu=2 start=278.91 finish=309.00\n            571067) tConvolveMPI     cpu=8 start=278.91 finish=309.00\n          571062) tConvolveMPI     cpu=4 start=278.90 finish=309.10\n            571066) tConvolveMPI     cpu=12 start=278.91 finish=309.00\n            571069) tConvolveMPI     cpu=5 start=278.92 finish=309.00\n          571065) tConvolveMPI     cpu=1 start=278.91 finish=309.10\n            571070) tConvolveMPI     cpu=12 start=278.92 finish=309.00\n            571074) tConvolveMPI     cpu=0 start=278.92 finish=309.00\n          571068) tConvolveMPI     cpu=6 start=278.91 finish=309.10\n            571072) tConvolveMPI     cpu=15 start=278.92 finish=309.00\n            571077) tConvolveMPI     cpu=15 start=278.93 finish=309.00\n          571071) tConvolveMPI     cpu=7 start=278.92 finish=309.10\n            571075) tConvolveMPI     cpu=12 start=278.93 finish=309.00\n            571079) tConvolveMPI     cpu=14 start=278.93 finish=309.00\n          571073) tConvolveMPI     cpu=13 start=278.92 finish=309.10\n            571078) tConvolveMPI     cpu=0 start=278.93 finish=309.00\n            571081) tConvolveMPI     cpu=9 start=278.94 finish=309.00\n          571076) tConvolveMPI     cpu=8 start=278.93 finish=309.10\n            571080) tConvolveMPI     cpu=8 start=278.93 finish=309.00\n            571082) tConvolveMPI     cpu=2 start=278.94 finish=309.00\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>askap is the Australian SKA Pathfinder and their benchmarks. The first four run a tConvolve using MT (multi-threaded), MPI, OpenCL and OpenMP. The OpenCL fails and other three run. The last workload is different. Topdown profile shows the MT and <span class=\"excerpt-dots\">&hellip;<\/span> <a class=\"more-link\" href=\"https:\/\/mvermeulen.org\/perf\/workloads\/phoronix\/askap\/\"><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-1440","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages\/1440","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=1440"}],"version-history":[{"count":3,"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages\/1440\/revisions"}],"predecessor-version":[{"id":1534,"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages\/1440\/revisions\/1534"}],"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=1440"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}