From 99a222341d6c209e8ae3ea6f35d7e1a9f569fee8 Mon Sep 17 00:00:00 2001 From: Daniel Date: Sun, 25 May 2025 13:27:18 +0200 Subject: [PATCH] benchmarking: finished taking evaluation results; evaluation: continued writing --- package/test/benchmarks/2/CPU-did-not-finish | 1 - package/test/benchmarks/2/cpu.json | 1 + .../gpu.json} | 124 ++++++++++++++++-- package/test/benchmarks/3/cpu.json | 2 +- .../cpu_benchmark4_3620_var_sets.json | 0 .../gpu.json} | 124 ++++++++++++++++-- ...ui_blocksize_192_much_worse_than_128.json} | 0 package/test/benchmarks/4/cpu.json | 1 - thesis/chapters/evaluation.tex | 66 ++++++---- ...terpreter-final-performance-benchmark2.png | Bin 0 -> 17978 bytes ...terpreter-final-performance-benchmark3.png | Bin 17978 -> 15716 bytes ...ranspiler-final-performance-benchmark2.png | Bin 0 -> 19251 bytes ...ranspiler-final-performance-benchmark3.png | Bin 0 -> 20533 bytes thesis/main.pdf | Bin 954124 -> 984293 bytes 14 files changed, 262 insertions(+), 57 deletions(-) delete mode 100644 package/test/benchmarks/2/CPU-did-not-finish create mode 100644 package/test/benchmarks/2/cpu.json rename package/test/benchmarks/{3/gpu_transpiler_yet_to_be_done.json => 2/gpu.json} (59%) rename package/test/benchmarks/{4 => 3}/cpu_benchmark4_3620_var_sets.json (100%) rename package/test/benchmarks/{4/gpu_transpiler_yet_to_be_done.json => 3/gpu.json} (59%) rename package/test/benchmarks/{4/gpui_blocksize_192.json => 3/gpui_blocksize_192_much_worse_than_128.json} (100%) delete mode 100644 package/test/benchmarks/4/cpu.json create mode 100644 thesis/images/results/gpu-interpreter-final-performance-benchmark2.png create mode 100644 thesis/images/results/gpu-transpiler-final-performance-benchmark2.png create mode 100644 thesis/images/results/gpu-transpiler-final-performance-benchmark3.png diff --git a/package/test/benchmarks/2/CPU-did-not-finish b/package/test/benchmarks/2/CPU-did-not-finish deleted file mode 100644 index ce931ad..0000000 --- a/package/test/benchmarks/2/CPU-did-not-finish +++ /dev/null @@ -1 +0,0 @@ -The CPU did not finish. Once it started using the page-file it just aborted. therefore too little RAM for this test \ No newline at end of file diff --git a/package/test/benchmarks/2/cpu.json b/package/test/benchmarks/2/cpu.json new file mode 100644 index 0000000..34bdd13 --- /dev/null +++ b/package/test/benchmarks/2/cpu.json @@ -0,0 +1 @@ +[{"Julia":"1.11.5","BenchmarkTools":{"major":1,"minor":6,"patch":0,"prerelease":[],"build":[]}},[["BenchmarkGroup",{"data":{"CPU":["BenchmarkGroup",{"data":{"nikuradse_1":["Trial",{"allocs":1070928,"gctimes":[2.7425249e7,7.412701e7,3.6607941e7,7.2060594e7,3.4529434e7,7.6634167e7,3.2012321e7,7.3820784e7,3.3949954e7,7.8478248e7,4.0126379e7,7.8064709e7,3.7594681e7,7.7171913e7,3.2345052e7,7.4243448e7,3.4353198e7,7.6815947e7,3.3275476e7,7.6196381e7,3.5836579e7,7.9893164e7,3.426444e7,7.8096102e7,3.5667171e7,7.8791806e7,3.4285798e7,8.0897821e7,3.6955997e7,7.3759746e7,3.3773137e7,7.328944e7,3.4533305e7,7.4964616e7,3.4649633e7,7.4867313e7,3.6125153e7,7.7465251e7,3.4405076e7,8.0242334e7,3.2479474e7,7.5060436e7,3.272518e7,7.2772772e7,3.5399275e7,7.4715997e7,3.5420495e7,7.68539e7,3.5243677e7,7.4565513e7],"memory":660409808,"params":["Parameters",{"gctrial":true,"time_tolerance":0.05,"evals_set":false,"samples":50,"evals":1,"gcsample":false,"seconds":28800.0,"overhead":0.0,"memory_tolerance":0.01}],"times":[3.43605916e9,3.571094971e9,3.581169167e9,3.617386266e9,3.640177061e9,3.666140865e9,3.59312133e9,3.642660429e9,3.649362226e9,3.639535812e9,3.615756984e9,4.084913467e9,3.658895286e9,3.697572649e9,3.639317733e9,3.626500969e9,3.730074621e9,3.834972951e9,3.77581077e9,3.810886128e9,3.821828959e9,3.810445379e9,3.74010373e9,4.100990879e9,3.805819398e9,3.883427787e9,3.759697669e9,3.826958891e9,3.806828201e9,3.737459795e9,3.82547766e9,3.875865222e9,3.778686866e9,3.772500863e9,3.695058761e9,3.839603577e9,3.758997268e9,3.78092914e9,3.722981644e9,3.81821317e9,3.755600545e9,3.849403637e9,3.807069344e9,3.731021781e9,3.775985336e9,3.809009579e9,3.844778579e9,3.795816016e9,3.761476812e9,3.856067238e9]}]},"tags":["CPUInterpreter"]}]},"tags":[]}]]] \ No newline at end of file diff --git a/package/test/benchmarks/3/gpu_transpiler_yet_to_be_done.json b/package/test/benchmarks/2/gpu.json similarity index 59% rename from package/test/benchmarks/3/gpu_transpiler_yet_to_be_done.json rename to package/test/benchmarks/2/gpu.json index 193b321..6738453 100644 --- a/package/test/benchmarks/3/gpu_transpiler_yet_to_be_done.json +++ b/package/test/benchmarks/2/gpu.json @@ -15,18 +15,66 @@ { "data": { "GPUT": [ - "BenchmarkGroup", - { - "data": { + "BenchmarkGroup", + { + "data": { "nikuradse_1": [ "Trial", { - "allocs": 1534112879, + "allocs": 27539530, "gctimes": [ - 3.398826747854e12, - 2.618070795579e12 + 7.21326673e8, + 7.48889043e8, + 8.00904516e8, + 7.37378345e8, + 7.24851528e8, + 7.35546499e8, + 6.86027619e8, + 7.3845303e8, + 7.79203625e8, + 7.52721538e8, + 7.60364838e8, + 7.59372464e8, + 7.46489405e8, + 8.077102e8, + 7.62237779e8, + 7.80462131e8, + 8.24630083e8, + 8.30753044e8, + 7.73842108e8, + 8.42642472e8, + 7.94451496e8, + 8.35754001e8, + 7.8590998e8, + 7.96294466e8, + 8.69176891e8, + 8.10771728e8, + 7.95383527e8, + 8.17274343e8, + 7.57214285e8, + 8.67359312e8, + 7.88826755e8, + 7.73170589e8, + 7.4383235e8, + 7.35437044e8, + 7.29270175e8, + 7.30839033e8, + 7.78530806e8, + 7.84806598e8, + 7.86753701e8, + 7.70199148e8, + 7.99968565e8, + 7.31105205e8, + 7.94627452e8, + 7.52205262e8, + 7.44255972e8, + 7.92573816e8, + 7.75143609e8, + 7.50085445e8, + 7.42457424e8, + 7.35277689e8 ], - "memory": 51380857328968, + "memory": 23891072456, "params": [ "Parameters", { @@ -42,17 +90,65 @@ } ], "times": [ - 3.7202049569362e13, - 3.7400159760069e13 + 1.9649655533e10, + 1.8655222625e10, + 2.044920046e10, + 2.0006253124e10, + 1.9225532614e10, + 1.8425637493e10, + 1.8009993618e10, + 1.8566547913e10, + 2.0298324918e10, + 1.9375435774e10, + 2.0259600918e10, + 1.9689447935e10, + 2.0440165546e10, + 2.1198185981e10, + 2.1529941031e10, + 1.9621765309e10, + 2.0096583579e10, + 1.9353443691e10, + 2.2395139743e10, + 2.2147177349e10, + 2.2065235354e10, + 1.9008133225e10, + 2.226108083e10, + 2.2085219053e10, + 2.0505924388e10, + 1.951018691e10, + 2.1750413636e10, + 2.2142496895e10, + 2.1011968434e10, + 1.9815838525e10, + 1.9442578236e10, + 1.9848841235e10, + 1.8999443547e10, + 1.8850250259e10, + 1.9418255558e10, + 2.0859989717e10, + 1.9155040161e10, + 1.9639739596e10, + 1.939165026e10, + 1.9236817418e10, + 1.9837660656e10, + 1.8577069226e10, + 1.9406743348e10, + 1.9497777664e10, + 1.911300801e10, + 1.875399388e10, + 2.0604575964e10, + 1.8009223946e10, + 1.9248258647e10, + 1.9877171946e10 ] } ] }, - "tags": [ - "GPUTranspiler" - ] - } - ], + "tags": [ + "GPUTranspiler" + ] + } + ], "GPUI": [ "BenchmarkGroup", { diff --git a/package/test/benchmarks/3/cpu.json b/package/test/benchmarks/3/cpu.json index 34bdd13..062ae30 100644 --- a/package/test/benchmarks/3/cpu.json +++ b/package/test/benchmarks/3/cpu.json @@ -1 +1 @@ -[{"Julia":"1.11.5","BenchmarkTools":{"major":1,"minor":6,"patch":0,"prerelease":[],"build":[]}},[["BenchmarkGroup",{"data":{"CPU":["BenchmarkGroup",{"data":{"nikuradse_1":["Trial",{"allocs":1070928,"gctimes":[2.7425249e7,7.412701e7,3.6607941e7,7.2060594e7,3.4529434e7,7.6634167e7,3.2012321e7,7.3820784e7,3.3949954e7,7.8478248e7,4.0126379e7,7.8064709e7,3.7594681e7,7.7171913e7,3.2345052e7,7.4243448e7,3.4353198e7,7.6815947e7,3.3275476e7,7.6196381e7,3.5836579e7,7.9893164e7,3.426444e7,7.8096102e7,3.5667171e7,7.8791806e7,3.4285798e7,8.0897821e7,3.6955997e7,7.3759746e7,3.3773137e7,7.328944e7,3.4533305e7,7.4964616e7,3.4649633e7,7.4867313e7,3.6125153e7,7.7465251e7,3.4405076e7,8.0242334e7,3.2479474e7,7.5060436e7,3.272518e7,7.2772772e7,3.5399275e7,7.4715997e7,3.5420495e7,7.68539e7,3.5243677e7,7.4565513e7],"memory":660409808,"params":["Parameters",{"gctrial":true,"time_tolerance":0.05,"evals_set":false,"samples":50,"evals":1,"gcsample":false,"seconds":28800.0,"overhead":0.0,"memory_tolerance":0.01}],"times":[3.43605916e9,3.571094971e9,3.581169167e9,3.617386266e9,3.640177061e9,3.666140865e9,3.59312133e9,3.642660429e9,3.649362226e9,3.639535812e9,3.615756984e9,4.084913467e9,3.658895286e9,3.697572649e9,3.639317733e9,3.626500969e9,3.730074621e9,3.834972951e9,3.77581077e9,3.810886128e9,3.821828959e9,3.810445379e9,3.74010373e9,4.100990879e9,3.805819398e9,3.883427787e9,3.759697669e9,3.826958891e9,3.806828201e9,3.737459795e9,3.82547766e9,3.875865222e9,3.778686866e9,3.772500863e9,3.695058761e9,3.839603577e9,3.758997268e9,3.78092914e9,3.722981644e9,3.81821317e9,3.755600545e9,3.849403637e9,3.807069344e9,3.731021781e9,3.775985336e9,3.809009579e9,3.844778579e9,3.795816016e9,3.761476812e9,3.856067238e9]}]},"tags":["CPUInterpreter"]}]},"tags":[]}]]] \ No newline at end of file +[{"Julia":"1.11.5","BenchmarkTools":{"major":1,"minor":6,"patch":0,"prerelease":[],"build":[]}},[["BenchmarkGroup",{"data":{"CPU":["BenchmarkGroup",{"data":{"nikuradse_1":["Trial",{"allocs":1070928,"gctimes":[5.9810994e7,6.4737628e7,6.6129743e7,7.1565506e7,6.7670658e7,5.9069063e7,6.4987093e7,6.9015313e7,6.1821987e7,6.232688e7,6.9091327e7,6.0481241e7,6.7083905e7,7.1568874e7,6.4126918e7,6.656359e7,6.0971912e7,6.6050458e7,6.4490748e7,6.3792946e7,6.387013e7,6.2149826e7,6.5226883e7,5.8717054e7,7.0228008e7,6.4004441e7,6.179879e7,6.5803149e7,6.7778738e7,6.7530531e7,6.3874846e7,6.5191925e7,6.3458451e7,6.2795489e7,6.1214158e7,6.3242098e7,6.0904665e7,6.1067523e7,6.4187211e7,5.9758454e7,6.3188528e7,6.2703208e7,6.3179623e7,6.6383934e7,6.4153586e7,6.1124868e7,6.1729561e7,6.4057874e7,6.2238357e7,6.7185346e7],"memory":1092256904,"params":["Parameters",{"gctrial":true,"time_tolerance":0.05,"evals_set":false,"samples":50,"evals":1,"gcsample":false,"seconds":28800.0,"overhead":0.0,"memory_tolerance":0.01}],"times":[4.7279143479e10,4.7935284564e10,4.7889470924e10,4.8090224769e10,4.9154174752e10,4.8234789351e10,4.8104334398e10,4.8399709732e10,4.7838902153e10,4.7903811218e10,4.8003267026e10,4.7752267096e10,5.0271042e10,5.2827474041e10,5.1150949627e10,5.3890859024e10,5.0334709301e10,4.8277583693e10,4.8826727675e10,4.8699721506e10,4.8785042007e10,4.8277983231e10,4.814134015e10,4.8104634658e10,4.9149760213e10,4.8564998255e10,4.8300117448e10,4.8526373086e10,4.8889779772e10,4.8001705803e10,4.7925610954e10,4.8209726338e10,4.8102811977e10,4.8159213161e10,4.816676277e10,4.8356507356e10,4.8464023297e10,4.8347214632e10,4.8467268775e10,4.8034119608e10,4.88565184e10,4.8690518925e10,4.8235448799e10,4.8346337545e10,4.8627889423e10,4.784124779e10,4.8095176162e10,4.869052391e10,4.7806194068e10,4.8009508502e10]}]},"tags":["CPUInterpreter"]}]},"tags":[]}]]] \ No newline at end of file diff --git a/package/test/benchmarks/4/cpu_benchmark4_3620_var_sets.json b/package/test/benchmarks/3/cpu_benchmark4_3620_var_sets.json similarity index 100% rename from package/test/benchmarks/4/cpu_benchmark4_3620_var_sets.json rename to package/test/benchmarks/3/cpu_benchmark4_3620_var_sets.json diff --git a/package/test/benchmarks/4/gpu_transpiler_yet_to_be_done.json b/package/test/benchmarks/3/gpu.json similarity index 59% rename from package/test/benchmarks/4/gpu_transpiler_yet_to_be_done.json rename to package/test/benchmarks/3/gpu.json index a7d8588..1bf68c4 100644 --- a/package/test/benchmarks/4/gpu_transpiler_yet_to_be_done.json +++ b/package/test/benchmarks/3/gpu.json @@ -15,18 +15,66 @@ { "data": { "GPUT": [ - "BenchmarkGroup", - { - "data": { + "BenchmarkGroup", + { + "data": { "nikuradse_1": [ "Trial", { - "allocs": 1534112879, + "allocs": 27549909, "gctimes": [ - 3.398826747854e12, - 2.618070795579e12 + 1.796502723e9, + 7.72059865e8, + 3.94563446e8, + 4.27997326e8, + 4.06964911e8, + 4.08277194e8, + 4.02770711e8, + 4.11141922e8, + 4.07309952e8, + 4.12815766e8, + 4.13257433e8, + 4.11708235e8, + 4.06349416e8, + 4.14353433e8, + 4.05742826e8, + 4.09829039e8, + 4.02646084e8, + 4.01623866e8, + 4.11190055e8, + 4.11476122e8, + 4.07361638e8, + 4.07028467e8, + 4.11106781e8, + 4.26360821e8, + 4.07521363e8, + 4.07228793e8, + 4.09025385e8, + 4.21241253e8, + 4.1859973e8, + 4.2067553e8, + 4.00959317e8, + 4.16666312e8, + 4.10104406e8, + 4.18910797e8, + 4.05213147e8, + 4.16627063e8, + 4.1920481e8, + 4.54088613e8, + 4.39532553e8, + 4.13238829e8, + 4.14822338e8, + 4.11867383e8, + 4.15005572e8, + 4.11339915e8, + 4.1448983e8, + 4.17699043e8, + 4.16447232e8, + 4.1597287e8, + 4.14369912e8, + 4.19276762e8 ], - "memory": 51380857328968, + "memory": 67507887480, "params": [ "Parameters", { @@ -42,17 +90,65 @@ } ], "times": [ - --3.7202049569362e13, - --3.7400159760069e13 + 3.9931587632e10, + 3.8962332239e10, + 2.6658724209e10, + 2.769671872e10, + 2.6617417291e10, + 2.6695278116e10, + 2.6389594847e10, + 2.6500758348e10, + 2.6314618692e10, + 2.6869478695e10, + 2.6596999781e10, + 2.6195296634e10, + 2.6321536967e10, + 2.676203466e10, + 2.6810603797e10, + 2.6754603343e10, + 2.6616260783e10, + 2.7015249577e10, + 2.621089281e10, + 2.565195064e10, + 2.4093609228e10, + 2.6872052438e10, + 2.6312874968e10, + 2.6567674382e10, + 2.6188371615e10, + 2.6627277961e10, + 2.6351801318e10, + 2.6764821332e10, + 2.658020325e10, + 2.6845009549e10, + 2.6127450384e10, + 2.6523726565e10, + 2.6221363227e10, + 2.542875719e10, + 2.6885440863e10, + 2.7207730806e10, + 2.770831496e10, + 2.7896929881e10, + 2.7711770473e10, + 2.6842628626e10, + 2.4898863927e10, + 2.6687932301e10, + 2.6503076469e10, + 2.655039632e10, + 2.708347459e10, + 2.5440628322e10, + 2.6279933326e10, + 2.7371915793e10, + 2.6695784917e10, + 2.7225562291e10 ] } ] }, - "tags": [ - "GPUTranspiler" - ] - } - ], + "tags": [ + "GPUTranspiler" + ] + } + ], "GPUI": [ "BenchmarkGroup", { diff --git a/package/test/benchmarks/4/gpui_blocksize_192.json b/package/test/benchmarks/3/gpui_blocksize_192_much_worse_than_128.json similarity index 100% rename from package/test/benchmarks/4/gpui_blocksize_192.json rename to package/test/benchmarks/3/gpui_blocksize_192_much_worse_than_128.json diff --git a/package/test/benchmarks/4/cpu.json b/package/test/benchmarks/4/cpu.json deleted file mode 100644 index 062ae30..0000000 --- a/package/test/benchmarks/4/cpu.json +++ /dev/null @@ -1 +0,0 @@ -[{"Julia":"1.11.5","BenchmarkTools":{"major":1,"minor":6,"patch":0,"prerelease":[],"build":[]}},[["BenchmarkGroup",{"data":{"CPU":["BenchmarkGroup",{"data":{"nikuradse_1":["Trial",{"allocs":1070928,"gctimes":[5.9810994e7,6.4737628e7,6.6129743e7,7.1565506e7,6.7670658e7,5.9069063e7,6.4987093e7,6.9015313e7,6.1821987e7,6.232688e7,6.9091327e7,6.0481241e7,6.7083905e7,7.1568874e7,6.4126918e7,6.656359e7,6.0971912e7,6.6050458e7,6.4490748e7,6.3792946e7,6.387013e7,6.2149826e7,6.5226883e7,5.8717054e7,7.0228008e7,6.4004441e7,6.179879e7,6.5803149e7,6.7778738e7,6.7530531e7,6.3874846e7,6.5191925e7,6.3458451e7,6.2795489e7,6.1214158e7,6.3242098e7,6.0904665e7,6.1067523e7,6.4187211e7,5.9758454e7,6.3188528e7,6.2703208e7,6.3179623e7,6.6383934e7,6.4153586e7,6.1124868e7,6.1729561e7,6.4057874e7,6.2238357e7,6.7185346e7],"memory":1092256904,"params":["Parameters",{"gctrial":true,"time_tolerance":0.05,"evals_set":false,"samples":50,"evals":1,"gcsample":false,"seconds":28800.0,"overhead":0.0,"memory_tolerance":0.01}],"times":[4.7279143479e10,4.7935284564e10,4.7889470924e10,4.8090224769e10,4.9154174752e10,4.8234789351e10,4.8104334398e10,4.8399709732e10,4.7838902153e10,4.7903811218e10,4.8003267026e10,4.7752267096e10,5.0271042e10,5.2827474041e10,5.1150949627e10,5.3890859024e10,5.0334709301e10,4.8277583693e10,4.8826727675e10,4.8699721506e10,4.8785042007e10,4.8277983231e10,4.814134015e10,4.8104634658e10,4.9149760213e10,4.8564998255e10,4.8300117448e10,4.8526373086e10,4.8889779772e10,4.8001705803e10,4.7925610954e10,4.8209726338e10,4.8102811977e10,4.8159213161e10,4.816676277e10,4.8356507356e10,4.8464023297e10,4.8347214632e10,4.8467268775e10,4.8034119608e10,4.88565184e10,4.8690518925e10,4.8235448799e10,4.8346337545e10,4.8627889423e10,4.784124779e10,4.8095176162e10,4.869052391e10,4.7806194068e10,4.8009508502e10]}]},"tags":["CPUInterpreter"]}]},"tags":[]}]]] \ No newline at end of file diff --git a/thesis/chapters/evaluation.tex b/thesis/chapters/evaluation.tex index f8c0c3c..dc6b3ad 100644 --- a/thesis/chapters/evaluation.tex +++ b/thesis/chapters/evaluation.tex @@ -20,7 +20,7 @@ Although the GPU plays a crucial role, work is also carried out on the CPU. The \subsubsection{System Memory} In addition to the hardware configuration of the GPU and CPU, system memory (RAM) also plays a crucial role. Although RAM does not directly contribute to the overall performance, it can have a noticeable indirect impact due to its role in caching and general data storage. Insufficient RAM forces the operating system to use the page file, which is stored on a considerably slower SSD. This leads to slower data access, thereby reducing the overall performance of the application. -As seen in the list below, only 16 GB of RAM were available during the benchmarking process. This amount is insufficient to utilise caching to the extent outlined in Chapter \ref{cha:implementation}. Additional RAM was not available, meaning caching had to be disabled, which will be further explained in Section \ref{sec:results}. +As seen in the list below, only 16 GB of RAM were available during the benchmarking process. This amount is insufficient to utilise caching to the extent outlined in Chapter \ref{cha:implementation}. Additional RAM was not available, meaning caching had to be disabled for all benchmarks as further explained in Section \ref{sec:results}. \subsubsection{Hardware} With the requirements explained above in mind, the following hardware is used to perform the benchmarks for the CPU-based evaluator, which was used as the baseline, as well as for the GPU-based evaluators: @@ -45,18 +45,15 @@ Typically, newer versions of these components include, among other things, perfo \subsection{Performance Evaluation Process} With the hardware and software configuration established, the process of benchmarking the implementations can be described. This process is designed to simulate the load and scenario in which these evaluators will be used. The Nikuradse dataset \parencite{nikuradse_laws_1950} has been chosen as the data source. The dataset models the laws of flow in rough pipes and provides $362$ variable sets, each set containing two variables. This dataset has first been used by \textcite{guimera_bayesian_2020} to benchmark a symbolic regression algorithm. -Since only the evaluators are benchmarked, the expressions to be evaluated must already exist. These expressions are generated for the Nikuradse dataset using the exhaustive symbolic regression algorithm proposed by \textcite{bartlett_exhaustive_2024}. This ensures that the expressions are representative of what needs to be evaluated in a real-world application. In total, four benchmarks will be conducted, each having a different goal, which will be further explained in the following paragraphs. +Since only the evaluators are benchmarked, the expressions to be evaluated must already exist. These expressions are generated for the Nikuradse dataset using the exhaustive symbolic regression algorithm proposed by \textcite{bartlett_exhaustive_2024}. This ensures that the expressions are representative of what needs to be evaluated in a real-world application. In total, three benchmarks will be conducted, each having a different goal, which will be further explained in the following paragraphs. -The first benchmark involves a very large set of roughly $250\,000$ expressions. This means that all $250\,000$ expressions are evaluated in a single generation when using GP. In a typical generation, significantly fewer expressions would be evaluated. However, this benchmark is designed to show how the evaluators can handle large volumes of data. +The first benchmark involves a very large set of roughly $250\,000$ expressions with $362$ variable sets. This means that when using GP all $250\,000$ expressions would be evaluated in a single generation. In a typical generation, significantly fewer expressions would be evaluated. However, this benchmark is designed to show how the evaluators can handle very large volumes of data. Because of memory constraints, it was not possible to conduct an additional benchmark with a higher number of variable sets. -TODO:::: Remove this benchmark, as it just uses too much RAM -A second benchmark, with slight modifications to the first, is also conducted. Given that GPUs are very good at executing work in parallel, the number of variable sets is increased in this benchmark. Therefore, the second benchmark consists of the same $250\,000$ expressions, but the number of variable sets has been increased by a factor of 30 to a total of roughly $10\,000$. This benchmark aims to demonstrate how the GPU is best used for a larger number of variable sets. A higher number of variable sets is also more representative of the scenarios the evaluators will be employed. +Both the second and third benchmarks are conducted to demonstrate how the evaluators will perform in more realistic scenarios. For the second benchmark the number of expressions has been reduced to roughly $10\,000$, and the number of variable sets is again $362$. The number of expressions is much more representative to a typical scenario, while the number of variable sets is very low. To determine if the GPU evaluators are also a feasible alternative, this benchmark is conducted nonetheless. -The third benchmark is conducted to demonstrate how the evaluators will perform in more realistic scenarios. For this benchmark the number of expressions has been reduced to roughly $10\,000$, and the number of variable sets is again $362$. The purpose of this benchmark is to demonstrate how the evaluators are likely perform in a typical scenario. +Finally, the third benchmark will be conducted. Similar to the second benchmark, this benchmark evaluates the same $10\,000$ expressions but now with 30 times more variable sets, which equates to roughly $10\,000$. This benchmark mimics the scenario where the evaluators will most likely be used. While the others simulate different conditions to determine if and where the GPU evaluators can be used efficiently, this benchmark is more focused on determining if the GPU evaluators are suitable for the specific scenario they would be used in. -Finally, a fourth benchmark will be conducted. Similar to the second and third benchmarks, this benchmark evaluates the same $10\,000$ expressions with the same $10\,000$ variable sets. This benchmark mimics the scenario where the evaluators will most likely be used. While the others simulate different conditions to determine if and where the GPU evaluators can be used efficiently, this benchmark is more focused on determining if the GPU evaluators are suitable for the specific scenario they would be used in. - -All four benchmarks also simulate a parameter optimisation step, as this is the scenario in which these evaluators will be used in. For parameter optimisation, $100$ steps are used, meaning that all expressions will be evaluated $100$ times. During the benchmark, this process is simulated by re-transmitting the parameters instead of generating new ones. Generating new parameters is not part of the evaluators and is therefore not implemented. However, because the parameters are re-transmitted every time, the overhead of sending the data is taken into account. This overhead is part of the evaluators and is an additional burden that the CPU implementation does not have, making important to be measured. +All three benchmarks also simulate a parameter optimisation step, as this is the scenario in which these evaluators will be used in. For parameter optimisation, $100$ steps are used, meaning that all expressions will be evaluated $100$ times. During the benchmark, this process is simulated by re-transmitting the parameters instead of generating new ones. Generating new parameters is not part of the evaluators and is therefore not implemented. However, because the parameters are re-transmitted every time, the overhead of sending the data is taken into account. This overhead is part of the evaluators and is an additional burden that the CPU implementation does not have, making important to be measured. \subsubsection{Measuring Performance} The performance measurements are taken, using the BenchmarkTools.jl\footnote{\url{https://juliaci.github.io/BenchmarkTools.jl/stable/}} package. It is the standard for benchmarking applications in Julia, which makes it an obvious choice for measuring the performance of the evaluators. @@ -75,7 +72,7 @@ This section presents the results of the benchmarks described above. First the r In this section, the results for the GPU-based interpreter are presented in detail. Following the benchmark results, the process of tuning the interpreter is described as well as how to adapt the tuning for the different benchmarks. This part not only contains the tuning of the GPU, but also performance improvements done on the CPU side. \subsubsection{Benchmark 1} -The first benchmark consisted of $250\,000$ expressions and $362$ variable sets with $100$ parameter optimisation steps. Because each expression needs to be evaluated with each variable set for each parameter optimisation step, a total of $9.05\,\textit{billion}$ evaluations have been performed per sample. In Figure \ref{fig:gpu_i_benchmark_1} the result over all $50$ samples is presented. The median value across all executions is $466.3$ seconds with a standard deviation of $14.2$ seconds. +The first benchmark consisted of $250\,000$ expressions and $362$ variable sets with $100$ parameter optimisation steps. Because each expression needs to be evaluated with each variable set for each parameter optimisation step, a total of $9.05\,\textit{billion}$ evaluations have been performed per sample. In Figure \ref{fig:gpu_i_benchmark_1} the result over all $50$ samples is presented. The median value across all samples is $466.3$ seconds with a standard deviation of $14.2$ seconds. \begin{figure} \centering \includegraphics[width=.9\textwidth]{results/gpu-interpreter-final-performance-benchmark1.png} @@ -83,13 +80,19 @@ The first benchmark consisted of $250\,000$ expressions and $362$ variable sets \label{fig:gpu_i_benchmark_1} \end{figure} -% talk about kernel configuration (along the lines of: results achieved with block size of X) etc. Also include that CPU and GPU utilisation was 100% the entire time. If this is too short, just add it to the above paragraph and make the 4 benchmark sections relatively short, as the most interesting information is in the performance tuning and comparison sections anyway +For the kernel configuration, a block size of $128$ threads has been used. As will be explained below, this has been found to be the configuration that results in the most performance. During the benchmark, the utilisation of both the CPU and GPU was roughly $100\%$. \subsubsection{Benchmark 2} -TODO: Remove this benchmark, none of the implementations had enough RAM available +With $10\,000$ expressions, $362$ variable sets and $100$ parameter optimisation steps, the total number of evaluations per sample was $362\,\textit{million}$. The median across all samples is $21.3$ seconds with a standard deviation of $0.75$ seconds. Compared to benchmark 1, there were $25$ times fewer evaluations which also resulted in a reduction of the median and standard deviation of roughly $25$ times. Since the number of variable sets did not change, the block size for this benchmark remained at $128$ threads. Again the utilisation of the CPU and GPU during the benchmark was roughly $100\%$. +\begin{figure} + \centering + \includegraphics[width=.9\textwidth]{results/gpu-interpreter-final-performance-benchmark2.png} + \caption{The results of the GPU-based interpreter for benchmark 2} + \label{fig:gpu_i_benchmark_2} +\end{figure} \subsubsection{Benchmark 3} -std of 750.1 ms +The third benchmark used the same $10\,000$ expressions and $100$ parameter optimisation steps. However, now there are 30 times more variable sets that need to be used for evaluation. This means, that the total number of evaluations per sample is now $10.86\,\textit{billion}$. This means, compared to benchmark 1, an additional $1.8\,\textit{billion}$ evaluations were performed. However, as seen in Figure \ref{fig:gpu_i_benchmark_3}, the execution time was significantly faster. With a median of $30.3$ seconds and a standard deviation of $0.45$ seconds, this benchmark was only marginally slower than benchmark 2. This also indicates, that the GPU evaluators are much more suited for scenarios, where there is a high number of variable sets. \begin{figure} \centering \includegraphics[width=.9\textwidth]{results/gpu-interpreter-final-performance-benchmark3.png} @@ -97,7 +100,7 @@ std of 750.1 ms \label{fig:gpu_i_benchmark_3} \end{figure} -\subsubsection{Benchmark 4} +Although the number of variable sets has been increased by 30 times, the block size remained at 128 threads. Unlike the previous benchmarks, the hardware utilisation was different. Now only the GPU was utilised to 100\% while the CPU utilisation started at 100\% and slowly dropped to 80\%. The GPU needs to perform 30 times more evaluations, meaning it takes longer for one kernel dispatch to be finished. At the same time, the CPU tries to dispatch the kernel at the same rate as before. Because only a certain amount of kernels can be dispatched at once, the CPU needs to wait for the GPU to finish a kernel before another one can be dispatched again. Therefore, in this scenario, the evaluator runs into a GPU-bottleneck and using a GPU with more performance, would consequently improve the runtime in this scenario. In the benchmarks before, both the CPU and GPU would need to be upgraded, to achieve better performance. blocksize 128: 84.84 blocks fast (prolly because less wasted threads) bocksize 192: 56.56 blocks very slow @@ -121,14 +124,30 @@ Results only for Transpiler (also contains final kernel configuration and probab \subsubsection{Benchmark 1} \subsubsection{Benchmark 2} -TODO: Remove this benchmark +kernels can now be compiled at the same time as they are generated (should drastically improve performance) +std: 1.16 seconds +\begin{figure} + \centering + \includegraphics[width=.9\textwidth]{results/gpu-transpiler-final-performance-benchmark2.png} + \caption{The results of the transpiler for benchmark 2} + \label{fig:gpu_t_benchmark_2} +\end{figure} + +CPU: 100\% +GPU: very short bursts to 100\% then down to 0\% with a very high frequency (therefore GPU pretty much utilised to 50\% during a sample) \subsubsection{Benchmark 3} -kernels can now be compiled at the same time as they are generated (should drastically improve performance) +Even larger var sets would be perfect. 10k is rather small and the GPU still has barely any work to do +std: 2.64 seconds +\begin{figure} + \centering + \includegraphics[width=.9\textwidth]{results/gpu-transpiler-final-performance-benchmark3.png} + \caption{The results of the transpiler for benchmark 3} + \label{fig:gpu_t_benchmark_3} +\end{figure} -\subsubsection{Benchmark 4} - -Even larger var sets would be perfect. 10k is rather small and the GPU barely has any work to do +CPU: 100\% during frontend + transpilation + compilation, then goes hovers at 80\% (same reason than interpreter bench 3 most likely) +GPU: During compilation at 20\% -> evaluation: between 50 and 100 but fewer spikes to 100; probably very small kernels, therefore a lot of scheduling on GPU, resulting in less utilisation but too many dispatches so CPU slows down (maybe do another quick performance tuning session to see if different block size can improve this behaviour) \subsection{Performance Tuning} Document the process of performance tuning @@ -143,15 +162,10 @@ CPU at 100\% GPU at around 30\%. Heavily CPU bottlenecked. Mainly due to PTX com \subsection{Comparison} Comparison of Interpreter and Transpiler as well as Comparing the two with CPU interpreter -talk about that compute portion is just too little. Only more complex expressions with higher var set count benefit well (make one or two performance evaluations, with 10 larger expressions and at least 1k var sets and present that here as point for that statement) +more var sets == better performance for GPU; more expressions == more performance for CPU evaluator \subsubsection{Benchmark 1} - \subsubsection{Benchmark 2} -TODO: Remove this benchmark -CPU Did not finish due to RAM constraints -\subsubsection{Benchmark 3} - -\subsubsection{Benchmark 4} \ No newline at end of file +\subsubsection{Benchmark 3} \ No newline at end of file diff --git a/thesis/images/results/gpu-interpreter-final-performance-benchmark2.png b/thesis/images/results/gpu-interpreter-final-performance-benchmark2.png new file mode 100644 index 0000000000000000000000000000000000000000..8a75d844705d49b6f8aaecc434407ebf0aa227e9 GIT binary patch literal 17978 zcmeHvdpMM9+qW4CSvDoCl942>gd`M(Dak5DRw0`q$#!hA8+%5`Dn(I<7@JCEzuyi; zNcP)d#wI1(nX#W?81r3ft@W(ds`q);cO38g9>@3f&y4$?>%Q;nzOM87oxk&Uo|l{F zb+ov*?A*e_!oq#}=aav%u&_>mzv&#C!RKLp$4M5J-7Ke19>3^iMjm7@yx7xUKSzUJ zfA*_D+WrIeLwj~=lT!Qgg!S?)XP^fTD6$D~-MWt1DJ)3(702fA#s+VDC45t++<|k( zcb&-}-Yd(~B1kmVF!_=-8)^Kl5r5jT1tPJ@-x}-o)V}r6F}K@>_CdO8!p;RY%qtmL z`B$doY)|e!^-g`5X^YieCMeRojO9Ld@4jn%nXtHn`gVGTP@Ld=-{*&&TYnYsvR}M3 zUHY-Ux6rPuPjHIwXNg199#4ms9)sdK@QU8*ev>T^UOG!>j- zdpszCKzO?79pvC^-=u1c1lI@&)v+x);8`GW6Wvo%vIvBY$0%sjrXBx*4FXl3-YpBR zH|yLLhH2e-o~`e=;bQY`j106BCXGNuK21HpeRpy=rm%vIV?sve)+PwF9HW(?jlodf zrb z&J5hh@HV{=%C=bOy6C-$W5P^siVJ+b_qojezdvlH?8xr4L2)pdwt5+0`~~1XI57S> zKQ7sUKH7bpSlGhXj=Rz=1itE)Uh;f(*o55f>{u=47FK&Zv^pzq;(jmGAuLNVpVGkS z5p?LNET0{>>mm;{ITb50=TaDqDu@+MWAL0O+*%y#(_b?zrY+q;P@X9*OY~YE>V16r z0V-+d2{{N(toaJVisa|JzL(Kgy)P8&M}3k=SXDN0d>}x&;~A))T)nU^ zspvy8DMmG%bL_W@Db%fAuGg7_w?~lj!#(;7(*9{TXk{?JwN1ivZ)_`2?cS$H(%P!7 zoJ%;8SKK7yD2erLnV}@(6%4$UcBl^{F1_3*hRxl@ znqy+mZgK~(7~2C|G=cqa{9FNycYW0~*vb2i8r}Um(tqTpW~g&D^JXH!_p&Ew><~IfE$Oxmp;Jx+NT>-dwL4?CWp&wY`{yT;O=Ct3wry3RRW6u zh_M)ND)vY;kg8wYIz=Ymwxs3s$SWqtDypv!9IY6uUnSpEk@ftCBO>G$nsZ8p+ME%k zP0%G5I~z3>LKt~A4gK6Da0hW`@^pOqjq_&_&Kw1o)Q4ChxPayhNVqn%{HXlbA&z+m z^|sp%?H(zW$+*?j-@!g(FxqGRye_t!n$)8?oUiFJ=$Gqf{H~uaEZM9Et=0442bihY;YM@^%BqHEZkf*>Ul=7a&=I z3xe;+ssvcybMH5-=Lc_+8C(fIy-&OCf-0jBTLFxBeAwox7m1DpZZ1tTYtQ-T7&Xfq z{rqh$20DpDKKuF9Cd|r^CaBKGr{Su;I>)kJDkdlu^@cws>)^Ezy5px}&4F)HO8cM$ z7JKQ=zT9*;EA_pa?jT zL^gMCZoYP_6Ptep%tY&i-ac>>aC8lrw8$l3!2h5%Xl!s=ftIZ8cSHr4AN;yl#+Eh#5+uWa z81Wdq&9+;IjXoV=G=R~*e80_eqdzJW+eBMfG((`d-J&@3KYEC`mF>mUIP zQpw$)B?e&P`|x}pp6}N4_n_9x(do$*_&%c`LkX^qL zoxbJ+#rY~0pdAiPmj`UHoy43o?lCr~B*i*uF50mQae zK|GNR!6cFWzQU#ar!gY#SVIeiPaaAQV0W8#R<=9rVq0|~R>WQJ{(lPK5<>j#Ry7Xn z&lW@Y+6xlD60ny$i{u7V77k?Y`9hcOH7`Lx{WU~<)Di^@B_&%>FW z0qAy3y|0Hq6{UU0zhnflre_hcoCPAuo%|;dZD_TxFu^Jh;9A-;a)C7rMd)Aw{TqK` z0IcH0xH+MXr+ojJZ@E~N3AOB0`+vz2QQ@2uhb@X(FZ!GS%(wL`a>HN=59lD^IQ$#z zW0HS&@@i%G)S2<)OKaMz{l|qgIlme-e#QN}%0ZC(n$egux*QNVaph{^JRnL2T4unz zRz5za1Dxh+F9dWjr^X)o2c3#FMoy|eOA548SD8rN|1H`>N?t9!^@8&c0YzJ8Uvg7O zKhOC|PO)Sg73^&TASty@y#di|QtXiiPVnGi<;(1Y-i)fHP*4YKRiT)9Ds`f-aa1P@fL6_Baz?Z1rTCTOxQsO zE4O5DPE3*~7Qxc;H?#M6vXJbv{)7Q2OX?Sd^-s!FUNGguffxI}FRt&4>kCEZ`{LSg zPaqioZ&_R;Ay-unr-@-$pd1&^Bx`aN=nxg3caI!%iU6=7iq_~qPQ#&IY(=mH9S!>3 z?Pixo7$`gwSyZ-fw)=GDQQ#hQa(zs75VUhJ0MD8VP>v%&b?_01b4IsMzubFm3&(B@ zq8@w4*8m`me$u(cF^CU9kH815WG}+m2ZGJm1&@m#+eA6;yq6!zKD3VpemZS? zG95Uab7&3DiO&Qf!_V0)a}4%b;iepqeERlrZm0L5XeGTvKL?k;#%;sK0T*c&b=yz} z03qQ^Al!iTFTn}Gn?Q4E^(P19bz(<$CXgcPewQLN5VRcNw1*v>*#C(K?>p}4GN*w0 z?ti}fpRZ+0{u-TsCwJe;-RET9cXGFpaokX$zei4ACQZK;IlcRzjl&r{KE1n#=00Uu zyMQ#<^|oVN;2A#z7iyI5$T=}omJzuG{ClR$&5AE$HcgMb4Z(WrxA;G};L9jYPH1^#I7Y^+BOZi48&RS>kodQJORL=j0w|7&>q1$RfVY4kWpDC- zA-x_J|0k`%t#i-3C}T&yPwN*0`S#0t#u^yyfjZ4^>cD>uQvY4<97NhO(DHYhC?CMD zfDT{w8fnG~g0j1iJ>YHboxk4*h#NTC1-{q?V@o&s(|isTo1^Z|kPx~`|Vq%EonKA9c^u9m2sFx8h_K`Wpp3>#Vc19C4YOjP`p+5Ojin|KBcsX;Q77W3`pD%O`z6mM*6mE z!U=FNf{}tnx4?}$((s_Gv|D;u13)hfBGht#?~*#@pRz${c!8+-^>o3NFDfoJ*vx;y zV7@G%iv#I|ox785roW=S+lc&Lr3a)})>|wppaPDT9PU%-3uJhhw7mcr>Qt?q&!eiA z1+vLmyZnEvkUIf>D}{Yo`|x{p&qh7q7sF<{2ds+N|FG^*4#?cV@wfGUMH6mS{#}C+ zOD@>F9e8{JIOVv|k}VBz61Z{qfemAgH2ZB-jludcK1QzuCqac=DEM-L=LY}p*BuT7 z|9@F`_}6mH_uDpXXzzcBESwYl*yp%bz|#8P=Z)0uyI(C1&LFf0%p&sk{t7n8ejdk8K@VU`vNS9qRJR-CyE*PXZ$E|Y&gD`PUct*Wp!Eb+pJHp&jys;mO~+e`$T zJ;!aoDT#`OARAI}pl+_FpmDn*@tWhb%NnG3F)CaiueSI)TyZf%izPm}$ zW&WZGsz)FT{}Vft()O%Nwsa_I7sI||u9)ENFYGsI*9?U!unny>Xo08cQR^#237{<9 zA*;tAUp}ILxEERAuSb@|23o;ob~=QYI9Vwnd-zYYz1{M94Y?y8j+)92ODa-hb&^%K zZrYSUMCtxuwU6(a*z8gXv*;Blq_nKBas(-M2dP3w%R!!j7BtbKV2aR(^`G5y9`FX) z_Bc7W7-RqgNqs9kLrl#QEY4CwR_{+{9&x$lp_Um-E?HIVwQ7qH44A`_%2lGxZJlvr z4jC_AyvQrBuc9U;;+fVJzSm|_)lD*&_ViTmD%iU8M584xyUSDag zd&j$nhv4gr8g@Fi>QJN9%Se4yJRXriLdCQ5$g_mBU`<=S3@_+n@U$?NKiP&q< zJxk6hUh29MNL5ffHZ-@9Ro`@C*q<5AUFQEdF`#)J-7BHtK<+V=*)lOA)OWl@^=jmx zi;)LDli5<7SiYFMj*Bedna(z@RUx_G2z1(Ut+#UQy1G`fLD1|Z3Li};B_`#EMXp^v zxazDDYhRU>H~#keKQa2*MW981RySpae`qZy^qQj{q+(!dgVmnhKUR27Y|=!EsXA8o z+(1tRsPz6wu2&H)N|*^~jxoL>m!Rfe%3@m`&lWm`bO@Y;)Aq9`{NeOXWGKm$r3ckZGMDXBmS;Q{<>C zA?u${Kr2YX)--c6;@2<+I~CBiZ)ID=SjWe-rLLhNhnvff)UCY)VTF5+oB zKH7QJjH6lm9g(?aOC)>7!`0Rfqwwg5sq@u?3@_Iwd=P)LTWj7ah{@pxp@D)GPa`J1 zpDBd1;W$D(}6QK=G~C}_S*p& z(n2sD)|86z_s07*2YE|2D#iEdCdQaX38B*>l&|59)m^x&E30U)(iaHH* z`b?g%!$_!LH_sW*U_p**zxAa!E^;rb^$dkI;KSgx(0U1KWHmEuqBfC8@$WpPwv<1p zM5-}{*Ti$h2Hd!|{!wX|$Xyaycuk=5SFv&8b?JB|TaBSdGJH-=oPp{*r4z4r2G`yA ziE;49loXC`s;5;v21fa5eLd`EV}Wu&{Ly1&(D|xdIeF3vu=4wF)YPrU=|Xwc)~_R( zCG3u)Sqz7i7-@U>+ZhHaK{vfFcL@X#6po3M#ZZ?S!cvKY>ifbbQe1YTBNkb5hEQXbG7>P~i3ym->F(pbBPG0iHOgM&wr0o1mF%k0+hba_1NK7+zSYE_# zsmSa-Ol^4wq1v~3_H;{97#8I_lW#SDSHq0s{+5vRlCZD?IBF}qVrF3ER9NkU-mUFM zDtXXq@M;DS+)R<@r9LB3ug0J9(lwFd{9dk$Orz=`PeO7)`aZ*_PZ<69H+^0e)nJ2+ z5UWq=qTRa|-adKp>@%=;0t@AoF?PqrzLHeWr&sD9KONx+X_`K9m*5(`MCx{0?e(%8 zna-+_=iVZ^O(;oql|U5TtMW@F-+lqFX4+~Mt(Xg z=3-&!AI*azoYo?VY*JntpKRoze;gM<5!XX)98RVvq^8d52aE(y&MuG%;kx;u#xd0b zVVI#`1#iq6j4y4x72|I7>OS*hJF0$(6@os2daAEI3dI_YcuPy+U4=u&ZA8mCnn9SW z!b;~=Kc^$pn4s(t52u2C5E-V`tISuCI zhWoP?e+jeuIa<3TfNEWc>82Tl=1{(P|VWb0+*NrEyp145My@nfnA%Q^JAP0z)MirtCO~;Lt;rx)k|==UD)sMd@w#$lBJtG~S_>_3{REBl~Ip%>&k8 z{L0R)c*jcT3(=G zt4QfUnA(UZZZ^4T_Kx5Psy~XzJM1@HW8M5dODHc_P4}4n@F-f|jAQ$jki@y!v&pVG zC0Jaeng4=$HrAg*{E#8gGC_GO_co=aP9qu<&~w z$Df0(jTnOUH_ng2JS6*%dQpntB7`Y(U+77%9$1RW?@scICU}R92a8*H@#{lG8OAGexzIy_rUu5C&G%-$^u({)9Xf0ah!HIzfVZl@w9svD#t-`8t_#gCcys=sm5n70x5aouG z8zItuu>GI__9=QA%Rq2USZI0KGATtcNk5^v6VfJq55}20-__E#in?DBC0-ls$!wTo z-^(11%X21TENF!E57l`eV~jd^hSH-&N(~#P=4w2P%;lD0zSKIr<9xT>2APuhP=q4Z zuU9VQHBuIL209obhXdOOsT)2Q6RuMTLV=Q1n24pmzJ9OktFhv~)bKt_PgCoWifFA! z|0XBg7-_0Xs2*p@>KyP=ZH>le;+3)q&?l8kZ6A1_t*_JC7v^lt_l+;V>9TYj%QPzX znl@;py>%`hF;*C2itFMW{Ikmj1CkVRKDSk}Rg_j})iAddoDx0e@wlj{pS_Lgp*K3p zuFk?ftKuN|>3*zc8p;Rms&cCT{&RKW9mynoTP?5iOmhB z4yjFY<~&!|Ez!=Y=t}ZlFB% zocL8{3N@nC+w6IUylCPTi{&HK5y=nHyyE4Qk~H`_Nvarl!F{o%Z4c!eoJ##4Z^Rc= z1}}fKM;>6u##s5LK-!!igZJhuP$30j+ZhUiQ@ykD&f9<$JbU!A5=svYe00@U#3g%4 zH6@%}%&=BmE)F9<95*kiV5b!WP_h>FJ3Pb#e}Y94rfrFjYmKRM>HMU}ZaGC4D#$2b zN}=X_eN8o!7IqWe`V*4O>lpL%^+9a!dKzQCNp|6fiIi%?YKumvfDsAG69BAluDzQR zB9^72iy}-MY?%zZDCFUH)V;YpWox%bRZp}%&^XnXhg2cDgi$QcB`D@yd%gxtuD^h` zPCtHfa{5(+d9Lt`U!g5KoDEPK*t$QU%*6q?a*1)}iI}jcD(+q*g_UG6HtL~XEBvrk zV6`)1-a_N{U?tS&D5W@S+6;~;%qU0Kw)}^LR zCVNFM9dZ1{3YAs-%P&6kO?b%>S|&elK2Tlu&WMLl*qzJ!;+4!_);!=sMpV4<*)?2O zJnX8Gpy+>U+Z5i+|H){dQS!RXbNNK!s(KImuWD^H@EY}Gx#OMFmzbQ-fQ zyV4?ryCO9Vpe^U>6p={?$zeu^xSM?jt7fp>jlLFTWx63Y1fAT?wrFxn^$UMtt^Yo>J3<#n$MO*UJ)r7Xy+jYrtj2v6j(P* zs#ZUnpCPN<`74@o5DqWZ#eS33uON#$APA8jZA}wi0f?w`7wf*+DV^sVqV=3f0poHqpr0nkKx8C_2JlZCyCSejauA zjG5b5Uw+d;t4QAJW}uI}K)NqwQ9En#J%?HjCx=7kFwjGDT~4&jYK z+zr~|eA~yjh5B|h;N}9hVaA7iVe1ZItmPogMj!BPTlmm+r$9Tqtk%rW>oPal6#_TC zAtIB-8+#+nu$jk)<9!&V`hzN~&!qpf#abqmKH%HQ#Y(^6X?}0OO`WFyWBa(3A#pxa zI#~#&w76!5z^aU`iUwG35Lr0AS*kJHeVOG$ilo_Dih7_`cXB?{iiCdC-w2<6A{r8M zBXjIsjg)iV&FH}5j59FPQWU-*s>onj0X4if&R!AN{iE>uJNZU=_EPplQTtD8?#tIZ zkjxwS&aQ$ylun{or5l&}DXY#gWQDV$CldRnDV$*y~?9Ox7jRd&~ zyDPtSswg(>V03CFxs(+dd!>uFn|H1(*Q_k_9Qa4_sT zow|y(02`K3WTJFaVE=D8BLr~9&%)~bC!8sRTCg()0~tg**3)$B+ZwK-v#_gzun9rf z7C~6O0L)7;$swSQo3@t*m(9B*<+~s%+Ha9=8n5c^*p^t5yD45l8>UKaBAGiB-09V+ z|3RgEWc77zbXBa859cZ=JSVHAGh9-aPyJmVmm|=RbYv2F#n$?ThH@{oiN>i;I8u1% zxg%*&?3tmG&%$OzczNBVxQR3C(-%}0N2?k&-lO~M#aCV4Z|72(b90Co^wNwRRqX^A zwZcr1q!o+=w-)sn+QphyF<(_T;OTddIwK#_2c<2`_%?chEEC**5t{ql%>t#lT zy$q#!jVCWeX^8laJ)kams`ss=i`oa8dV8;qG@MqXF3}vS2TSs-&n4_z@Lzr&ODIc+ z0k|Sv?y_mlpED1L9e~~K*|m1mCEr6iIZUK{IHK31T1U~c{$K_5>1wn>`zr9<7+BK0 znlF_!S_WwmvbAo*E#64%@r;8rUn=zI4vbg3ZVWqwEgx)Tw~>D9^=VEtp<>Bl?CB4x zY79d{cNa3{g!bxAt4;oj%h0X~u6f!PX92ip%vxYhcC2AL)j`kKAzM z9XV846FgJHXe)x(4GOnglJa>bMj#HJ1I$9kI8aE~fwnqd!%we$6k^!-yb5f-C*7=O zVi~htk6%00E*X?awW`Z-PK*d7B?r_xij#-2fr&>whg=p$53iKXNQNKtTFMHPpolVj zuS@s(Y$e*@vkt1hcIx6mNlec_zz>%+u@72-kTXkPUm;IDd!ScG?aIs)Z|HK{t_^r% z30eUP1XlFL?VDeO1G_O8fMOK3w9l#O3S% E2c+3ZTL1t6 literal 0 HcmV?d00001 diff --git a/thesis/images/results/gpu-interpreter-final-performance-benchmark3.png b/thesis/images/results/gpu-interpreter-final-performance-benchmark3.png index 8a75d844705d49b6f8aaecc434407ebf0aa227e9..2f471166aaf86013587eedfc48611b6157bc36cc 100644 GIT binary patch literal 15716 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 E2c+3ZTL1t6 diff --git a/thesis/images/results/gpu-transpiler-final-performance-benchmark2.png b/thesis/images/results/gpu-transpiler-final-performance-benchmark2.png new file mode 100644 index 0000000000000000000000000000000000000000..98c1a60026a67cec3d06b0061eb6abbb9b1b1879 GIT binary patch literal 19251 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 literal 0 HcmV?d00001 diff --git a/thesis/images/results/gpu-transpiler-final-performance-benchmark3.png b/thesis/images/results/gpu-transpiler-final-performance-benchmark3.png new file mode 100644 index 0000000000000000000000000000000000000000..2ee85e4b72e9e079762f18f6db4dfcdde68fb6f8 GIT binary patch literal 20533 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 OG152FD?H^G_J075f$b>( literal 0 HcmV?d00001 diff --git a/thesis/main.pdf b/thesis/main.pdf index 2506945d2279d4a2c1a09bbbdc3d2d05c9cf7eb9..979b9601fa3b23468c4838f79de25f6d642f1d61 100644 GIT binary patch delta 107244 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
yLWiSH^ZSwaLM${A^79_Xa8IG6c= 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%0D?b&(uZw?`X$*PWeZ4hf+naBsdiRMSrh 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 F{{o+Xx}N|5 delta 78785 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