{"id":1298,"date":"2024-02-02T12:01:58","date_gmt":"2024-02-02T12:01:58","guid":{"rendered":"https:\/\/mvermeulen.org\/perf\/?page_id=1298"},"modified":"2024-02-03T01:13:41","modified_gmt":"2024-02-03T01:13:41","slug":"polyhedron","status":"publish","type":"page","link":"https:\/\/mvermeulen.org\/perf\/workloads\/phoronix\/polyhedron\/","title":{"rendered":"polyhedron"},"content":{"rendered":"\n<p>A set of Fortran benchmarks. There are 16 benchmarks and these look to be single-threaded. As shown below, they have variable run times and sometimes take a while to meet the tolerance.<\/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-11.png\" alt=\"\" class=\"wp-image-1311\" srcset=\"https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/02\/systemtime-11.png 1280w, https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/02\/systemtime-11-1024x768.png 1024w, https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/02\/systemtime-11-768x576.png 768w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<p>Topdown profile shows some of the benchmarks as heavily backend bound.<\/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-11.png\" alt=\"\" class=\"wp-image-1313\" srcset=\"https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/02\/amdtopdown-11.png 1280w, https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/02\/amdtopdown-11-1024x768.png 1024w, https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/02\/amdtopdown-11-768x576.png 768w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<p>AMD metrics confirm single-threaded floating point code. There is a large amount of backend stalls and low amounts of frontend stalls.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>elapsed              4737.128\non_cpu               0.060          # 0.97 \/ 16 cores\nutime                4556.868\nstime                18.251\nnvcsw                4849           # 20.85%\nnivcsw               18404          # 79.15%\ninblock              264            # 0.06\/sec\nonblock              3573632        # 754.39\/sec\ncpu-clock            4575749642184  # 4575.750 seconds\ntask-clock           4575803984388  # 4575.804 seconds\npage faults          10022222       # 2190.265\/sec\ncontext switches     45700          # 9.987\/sec\ncpu migrations       1372           # 0.300\/sec\nmajor page faults    2              # 0.000\/sec\nminor page faults    10021242       # 2190.051\/sec\nalignment faults     0              # 0.000\/sec\nemulation faults     0              # 0.000\/sec\nbranches             2245832727155  # 67.249 branches per 1000 inst\nbranch misses        17173602597    # 0.76% branch miss\nconditional          1840810629065  # 55.121 conditional branches per 1000 inst\nindirect             58846789866    # 1.762 indirect branches per 1000 inst\ncpu-cycles           22123942736621 # 0.28 GHz\ninstructions         34070440192734 # 1.54 IPC\nslots                44291344077096 #\nretiring             11820303560337 # 26.7% (26.7%)\n-- ucode             16865516586    #     0.0%\n-- fastpath          11803438043751 #    26.6%\nfrontend             2205416817160  #  5.0% ( 5.0%) low\n-- latency           1274058683130  #     2.9%\n-- bandwidth         931358134030   #     2.1%\nbackend              28704712440615 # 64.8% (64.8%)\n-- cpu               8592742892623  #    19.4%\n-- memory            20111969547992 #    45.4%\nspeculation          1558879121001  #  3.5% ( 3.5%)\n-- branch mispredict 936831923609   #     2.1%\n-- pipeline restart  622047197392   #     1.4%\nsmt-contention       2030399575     #  0.0% ( 0.0%)\ncpu-cycles           21934959167797 # 0.28 GHz\ninstructions         33302060161144 # 1.52 IPC\ninstructions         11110726378722 # 71.100 l2 access per 1000 inst\nl2 hit from l1       459381538859   # 30.57% l2 miss\nl2 miss from l1      47924498024    #\nl2 hit from l2 pf    137056719572   #\nl3 hit from l2 pf    82624785013    #\nl3 miss from l2 pf   110904485231   #\ninstructions         11098484048000 # 533.624 float per 1000 inst\nfloat 512            368            # 0.000 AVX-512 per 1000 inst\nfloat 256            680            # 0.000 AVX-256 per 1000 inst\nfloat 128            5922414961441  # 533.624 AVX-128 per 1000 inst\nfloat MMX            0              # 0.000 MMX per 1000 inst\nfloat scalar         267            # 0.000 scalar 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              6678.941\non_cpu               0.061          # 0.98 \/ 16 cores\nutime                6501.062\nstime                17.364\nnvcsw                5597           # 15.99%\nnivcsw               29404          # 84.01%\ninblock              71384          # 10.69\/sec\nonblock              11211128       # 1678.58\/sec\ncpu-clock            6519156639830  # 6519.157 seconds\ntask-clock           6519224954320  # 6519.225 seconds\npage faults          12112559       # 1857.975\/sec\ncontext switches     67064          # 10.287\/sec\ncpu migrations       2142           # 0.329\/sec\nmajor page faults    400            # 0.061\/sec\nminor page faults    12111079       # 1857.748\/sec\nalignment faults     0              # 0.000\/sec\nemulation faults     0              # 0.000\/sec\nbranches             2472460569494  # 60.235 branches per 1000 inst\nbranch misses        14595245167    # 0.59% branch miss\nconditional          2472460618294  # 60.235 conditional branches per 1000 inst\nindirect             67286701778    # 1.639 indirect branches per 1000 inst\nslots                154241019088376 #\nretiring             59456611512691 # 38.5% (38.5%)\n-- ucode             4120344351436  #     2.7%\n-- fastpath          55336267161255 #    35.9%\nfrontend             12168581990389 #  7.9% ( 7.9%)\n-- latency           7353937926030  #     4.8%\n-- bandwidth         4814644064359  #     3.1%\nbackend              82167689791228 # 53.3% (53.3%)\n-- cpu               41742511040976 #    27.1%\n-- memory            40425178750252 #    26.2%\nspeculation          3387869739534  #  2.2% ( 2.2%)\n-- branch mispredict 2885268249368  #     1.9%\n-- pipeline restart  502601490166   #     0.3%\nsmt-contention       0              #  0.0% ( 0.0%)\ncpu-cycles           17004366686201 # 0.22 GHz\ninstructions         36491717172578 # 2.15 IPC\nl2 access            2002446821273  # 54.885 l2 access per 1000 inst\nl2 miss              1073448003882  # 53.61% l2 miss\n<\/code><\/pre>\n\n\n\n<p>Process overview gives each executable a different name.  tfft2 looks like it dominates the time.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>665 processes\n\t 52 tfft2                 3221.60     3.17\n\t 12 ac                      67.65     0.00\n\t 19 mdbx                    66.41     0.00\n\t 17 linpk                   51.55     0.16\n\t 10 doduc                   49.52     0.00\n\t 10 air                     11.34     0.00\n\t 34 clinfo                   9.26     3.92\n\t  6 f951                     6.87     0.26\n\t 19 vulkaninfo               0.57     0.76\n\t  6 clang                    0.08     0.04\n\t  3 glxinfo:gdrv0            0.07     0.04\n\t  3 glxinfo:gl0              0.07     0.04\n\t  2 vulkani:disk$0           0.06     0.08\n\t  6 ld                       0.06     0.02\n\t  1 llvmpipe-0               0.03     0.04\n\t  1 llvmpipe-1               0.03     0.04\n\t  1 llvmpipe-10              0.03     0.04\n\t  1 llvmpipe-11              0.03     0.04\n\t  1 llvmpipe-12              0.03     0.04\n\t  1 llvmpipe-13              0.03     0.04\n\t  1 llvmpipe-14              0.03     0.04\n\t  1 llvmpipe-15              0.03     0.04\n\t  1 llvmpipe-2               0.03     0.04\n\t  1 llvmpipe-3               0.03     0.04\n\t  1 llvmpipe-4               0.03     0.04\n\t  1 llvmpipe-5               0.03     0.04\n\t  1 llvmpipe-6               0.03     0.04\n\t  1 llvmpipe-7               0.03     0.04\n\t  1 llvmpipe-8               0.03     0.04\n\t  1 llvmpipe-9               0.03     0.04\n\t  1 glxinfo                  0.03     0.02\n\t  1 glxinfo:cs0              0.03     0.02\n\t  1 glxinfo:disk$0           0.03     0.02\n\t  1 glxinfo:sh0              0.03     0.02\n\t  1 glxinfo:shlo0            0.03     0.02\n\t  6 as                       0.01     0.00\n\t  1 ps                       0.00     0.01\n\t253 sh                       0.00     0.00\n\t 35 rm                       0.00     0.00\n\t 15 cat                      0.00     0.00\n\t 15 mv                       0.00     0.00\n\t 13 gcc                      0.00     0.00\n\t 11 gsettings                0.00     0.00\n\t  8 systemd-detect-          0.00     0.00\n\t  8 which                    0.00     0.00\n\t  7 stat                     0.00     0.00\n\t  6 collect2                 0.00     0.00\n\t  6 gfortran                 0.00     0.00\n\t  6 llvm-link                0.00     0.00\n\t  5 pbharness                0.00     0.00\n\t  5 polyhedron               0.00     0.00\n\t  5 zip                      0.00     0.00\n\t  4 phoronix-test-s          0.00     0.00\n\t  3 gmain                    0.00     0.00\n\t  1 cc                       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 grep                     0.00     0.00\n\t  1 ifconfig                 0.00     0.00\n\t  1 ip                       0.00     0.00\n\t  1 lscpu                    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\n\t  1 xset                     0.00     0.00\n13 processes running\n47 maximum processes\n<\/code><\/pre>\n\n\n\n<p>An example of the computation block for tfft2.  It looks like it was invoked many time, perhaps it didn&#8217;t reach tolerance easily&#8230; It also looks like it crashed part way through.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>      202655) ?? cpu=0 start=311.22 finish=0.00 \n        202656) rm               cpu=5 start=311.22 finish=311.22\n        202657) which            cpu=15 start=311.22 finish=311.22\n        202658) ?? cpu=0 start=311.22 finish=0.00 \n          202659) sh               cpu=10 start=311.23 finish=311.23\n            202660) rm               cpu=14 start=311.23 finish=311.23\n          202661) sh               cpu=5 start=311.23 finish=311.23\n            202662) rm               cpu=7 start=311.23 finish=311.23\n          202663) sh               cpu=7 start=311.23 finish=311.23\n            202664) rm               cpu=10 start=311.23 finish=311.23\n          202665) sh               cpu=5 start=311.23 finish=311.24\n            202666) rm               cpu=14 start=311.24 finish=311.24\n          202667) sh               cpu=7 start=311.24 finish=311.59\n            202668) gfortran         cpu=3 start=311.24 finish=311.59\n              202669) f951             cpu=5 start=311.24 finish=311.54\n              202670) as               cpu=13 start=311.55 finish=311.55\n              202671) collect2         cpu=4 start=311.56 finish=311.59\n                202672) ld               cpu=13 start=311.56 finish=311.59\n          202673) sh               cpu=10 start=311.59 finish=378.36\n            202674) tfft2            cpu=14 start=311.59 finish=378.35\n          202675) sh               cpu=10 start=378.36 finish=441.60\n            202676) tfft2            cpu=3 start=378.36 finish=441.59\n          202677) sh               cpu=10 start=441.61 finish=508.63\n            202678) tfft2            cpu=4 start=441.61 finish=508.62\n          202680) sh               cpu=3 start=508.63 finish=574.73\n            202681) tfft2            cpu=12 start=508.63 finish=574.72\n          202682) sh               cpu=2 start=574.74 finish=639.72\n            202683) tfft2            cpu=12 start=574.74 finish=639.71\n          202684) sh               cpu=2 start=639.72 finish=702.28\n            202685) tfft2            cpu=11 start=639.72 finish=702.27\n          202686) sh               cpu=2 start=702.28 finish=766.45\n            202687) tfft2            cpu=12 start=702.28 finish=766.44\n          202689) sh               cpu=2 start=766.45 finish=828.73\n            202690) tfft2            cpu=11 start=766.45 finish=828.72\n          202693) sh               cpu=2 start=828.74 finish=894.45\n            202694) tfft2            cpu=12 start=828.74 finish=894.44\n          202695) sh               cpu=3 start=894.45 finish=960.28\n            202696) tfft2            cpu=4 start=894.45 finish=960.27\n          202698) sh               cpu=2 start=960.28 finish=1021.84\n            202699) tfft2            cpu=11 start=960.28 finish=1021.83\n          202700) sh               cpu=2 start=1021.84 finish=1085.58\n            202701) tfft2            cpu=12 start=1021.84 finish=1085.56\n          202702) sh               cpu=2 start=1085.58 finish=1148.30\n            202703) tfft2            cpu=3 start=1085.58 finish=1148.29\n          202705) sh               cpu=2 start=1148.30 finish=1214.35\n            202706) tfft2            cpu=4 start=1148.30 finish=1214.34\n          202707) sh               cpu=2 start=1214.35 finish=1277.37\n            202708) tfft2            cpu=11 start=1214.35 finish=1277.36\n          202709) sh               cpu=11 start=1277.37 finish=1341.02\n            202710) tfft2            cpu=4 start=1277.37 finish=1341.01\n          202744) sh               cpu=13 start=1341.02 finish=1405.75\n            202745) tfft2            cpu=14 start=1341.02 finish=1405.74\n          202746) sh               cpu=2 start=1405.75 finish=1467.64\n            202747) tfft2            cpu=3 start=1405.75 finish=1467.63\n          202750) sh               cpu=3 start=1467.64 finish=1528.10\n            202751) tfft2            cpu=4 start=1467.64 finish=1528.08\n          202752) sh               cpu=2 start=1528.10 finish=1589.74\n            202753) tfft2            cpu=11 start=1528.10 finish=1589.73\n          202754) sh               cpu=2 start=1589.74 finish=1650.78\n            202755) tfft2            cpu=14 start=1589.74 finish=1650.77\n          202757) sh               cpu=2 start=1650.78 finish=1711.63\n            202758) tfft2            cpu=11 start=1650.78 finish=1711.62\n          202759) sh               cpu=2 start=1711.63 finish=1777.84\n            202760) tfft2            cpu=12 start=1711.63 finish=1777.83\n          202776) sh               cpu=3 start=1777.85 finish=1837.28\n            202777) tfft2            cpu=5 start=1777.85 finish=1837.27\n          202786) sh               cpu=10 start=1837.28 finish=1901.39\n            202787) tfft2            cpu=4 start=1837.28 finish=1901.38\n          202788) sh               cpu=3 start=1901.39 finish=1966.72\n            202789) tfft2            cpu=4 start=1901.39 finish=1966.71\n          202790) sh               cpu=10 start=1966.72 finish=2024.52\n            202791) tfft2            cpu=11 start=1966.73 finish=2024.51\n          202830) sh               cpu=11 start=2024.53 finish=2087.31\n            202831) tfft2            cpu=12 start=2024.53 finish=2087.30\n          202835) sh               cpu=10 start=2087.31 finish=2153.38\n            202836) tfft2            cpu=4 start=2087.31 finish=2153.36\n          202839) sh               cpu=10 start=2153.38 finish=2213.02\n            202840) tfft2            cpu=11 start=2153.38 finish=2213.01\n          202841) sh               cpu=11 start=2213.03 finish=2275.35\n            202842) tfft2            cpu=4 start=2213.03 finish=2275.34\n          202843) sh               cpu=2 start=2275.35 finish=2336.29\n            202844) tfft2            cpu=11 start=2275.36 finish=2336.28\n          202845) sh               cpu=11 start=2336.29 finish=2399.39\n            202846) tfft2            cpu=4 start=2336.29 finish=2399.38\n          202847) sh               cpu=10 start=2399.39 finish=2459.42\n          202750) sh               cpu=3 start=1467.64 finish=1528.10\n            202751) tfft2            cpu=4 start=1467.64 finish=1528.08\n          202752) sh               cpu=2 start=1528.10 finish=1589.74\n            202753) tfft2            cpu=11 start=1528.10 finish=1589.73\n          202754) sh               cpu=2 start=1589.74 finish=1650.78\n            202755) tfft2            cpu=14 start=1589.74 finish=1650.77\n          202757) sh               cpu=2 start=1650.78 finish=1711.63\n            202758) tfft2            cpu=11 start=1650.78 finish=1711.62\n          202759) sh               cpu=2 start=1711.63 finish=1777.84\n            202760) tfft2            cpu=12 start=1711.63 finish=1777.83\n          202776) sh               cpu=3 start=1777.85 finish=1837.28\n            202777) tfft2            cpu=5 start=1777.85 finish=1837.27\n          202786) sh               cpu=10 start=1837.28 finish=1901.39\n            202787) tfft2            cpu=4 start=1837.28 finish=1901.38\n          202788) sh               cpu=3 start=1901.39 finish=1966.72\n            202789) tfft2            cpu=4 start=1901.39 finish=1966.71\n          202790) sh               cpu=10 start=1966.72 finish=2024.52\n            202791) tfft2            cpu=11 start=1966.73 finish=2024.51\n          202830) sh               cpu=11 start=2024.53 finish=2087.31\n            202831) tfft2            cpu=12 start=2024.53 finish=2087.30\n          202835) sh               cpu=10 start=2087.31 finish=2153.38\n            202836) tfft2            cpu=4 start=2087.31 finish=2153.36\n          202839) sh               cpu=10 start=2153.38 finish=2213.02\n            202840) tfft2            cpu=11 start=2153.38 finish=2213.01\n          202841) sh               cpu=11 start=2213.03 finish=2275.35\n            202842) tfft2            cpu=4 start=2213.03 finish=2275.34\n          202843) sh               cpu=2 start=2275.35 finish=2336.29\n            202844) tfft2            cpu=11 start=2275.36 finish=2336.28\n          202845) sh               cpu=11 start=2336.29 finish=2399.39\n            202846) tfft2            cpu=4 start=2336.29 finish=2399.38\n          202847) sh               cpu=10 start=2399.39 finish=2459.42\n            202848) tfft2            cpu=11 start=2399.39 finish=2459.41\n          202850) sh               cpu=4 start=2459.42 finish=2523.13\n            202851) tfft2            cpu=5 start=2459.42 finish=2523.12\n          202853) sh               cpu=10 start=2523.14 finish=2583.64\n            202854) tfft2            cpu=11 start=2523.14 finish=2583.63\n          202987) sh               cpu=12 start=2583.64 finish=2644.09\n            202988) tfft2            cpu=13 start=2583.65 finish=2644.07\n          202994) sh               cpu=3 start=2644.09 finish=2706.17\n            202995) tfft2            cpu=4 start=2644.09 finish=2706.16\n          202996) sh               cpu=10 start=2706.18 finish=2764.61\n            202997) tfft2            cpu=4 start=2706.18 finish=2764.60\n          203001) sh               cpu=10 start=2764.61 finish=2825.18\n            203002) tfft2            cpu=11 start=2764.62 finish=2825.17\n          203003) sh               cpu=9 start=2825.18 finish=2869.45\n            203004) tfft2            cpu=2 start=2825.18 finish=2869.44\n          203012) sh               cpu=11 start=2869.45 finish=2933.77\n            203013) tfft2            cpu=4 start=2869.45 finish=2933.76\n          203017) sh               cpu=9 start=2933.77 finish=2995.04\n            203018) tfft2            cpu=2 start=2933.78 finish=2995.03\n          203019) sh               cpu=9 start=2995.04 finish=3054.13\n            203020) tfft2            cpu=11 start=2995.04 finish=3054.12\n          203021) sh               cpu=9 start=3054.13 finish=3116.91\n            203022) tfft2            cpu=10 start=3054.13 finish=3116.89\n          203023) sh               cpu=11 start=3116.91 finish=3174.87\n            203024) tfft2            cpu=12 start=3116.91 finish=3174.86\n          203058) sh               cpu=1 start=3174.87 finish=3233.53\n            203059) tfft2            cpu=10 start=3174.87 finish=3233.52\n          203063) sh               cpu=1 start=3233.53 finish=3292.30\n            203064) tfft2            cpu=11 start=3233.53 finish=3292.29\n          203066) sh               cpu=1 start=3292.30 finish=3353.34\n            203067) tfft2            cpu=2 start=3292.30 finish=3353.33\n          203068) sh               cpu=1 start=3353.34 finish=3414.59\n            203069) tfft2            cpu=2 start=3353.34 finish=3414.58\n          203070) sh               cpu=11 start=3414.59 finish=3475.60\n            203071) tfft2            cpu=4 start=3414.59 finish=3475.59\n          203072) sh               cpu=1 start=3475.60 finish=3537.73\n            203073) tfft2            cpu=10 start=3475.61 finish=3537.72\n          203076) ?? cpu=0 start=3537.73 finish=0.00 \n            203077) ?? cpu=0 start=3537.73 finish=0.00 \n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>A set of Fortran benchmarks. There are 16 benchmarks and these look to be single-threaded. As shown below, they have variable run times and sometimes take a while to meet the tolerance. Topdown profile shows some of the benchmarks as <span class=\"excerpt-dots\">&hellip;<\/span> <a class=\"more-link\" href=\"https:\/\/mvermeulen.org\/perf\/workloads\/phoronix\/polyhedron\/\"><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-1298","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages\/1298","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=1298"}],"version-history":[{"count":2,"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages\/1298\/revisions"}],"predecessor-version":[{"id":1314,"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages\/1298\/revisions\/1314"}],"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=1298"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}