diff --git a/package/src/Transpiler.jl b/package/src/Transpiler.jl index abe7c77..432af97 100644 --- a/package/src/Transpiler.jl +++ b/package/src/Transpiler.jl @@ -29,6 +29,8 @@ function evaluate(expressions::Vector{ExpressionProcessing.PostfixType}, cudaVar cudacall(compiledKernel, (CuPtr{Float32},CuPtr{Float32},CuPtr{Float32}), cudaVars, cudaParams, cudaResults; threads=threads, blocks=blocks) end + CUDA.unsafe_free!(cudaParams) + return cudaResults end diff --git a/package/test/benchmarks/1/cpu.json b/package/test/benchmarks/1/cpu.json new file mode 100644 index 0000000..16249cd --- /dev/null +++ b/package/test/benchmarks/1/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":36814947,"gctimes":[1.082739415e9,9.35589349e8,8.95739997e8,8.82797331e8,8.44175578e8,8.27278981e8,8.24664534e8,8.41590342e8,8.23430705e8,8.26304622e8,8.7328356e8,8.48151374e8,8.20769383e8,8.36210366e8,8.25357919e8,8.18247354e8,8.05126298e8,8.10738655e8,8.14534413e8,8.05974078e8,8.08104945e8,8.07549224e8,8.11047079e8,8.36937224e8,8.19217772e8,8.03258649e8,8.00177357e8,8.05390572e8,7.81551092e8,7.84470283e8,7.84717493e8,7.87670826e8,7.91518273e8,7.95865535e8,7.9488509e8,7.85908564e8,7.96303832e8,7.83015419e8,7.98406799e8,7.95693404e8,7.89571842e8,7.87009536e8,7.92931167e8,8.0354065e8,8.01147304e8,7.90650725e8,7.91114336e8,8.14447424e8,8.09202389e8,8.0150787e8],"memory":19327142456,"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":[1.11960461697e11,1.12658407743e11,1.11797123654e11,1.14086430365e11,1.12540701243e11,1.13057199848e11,1.12421343743e11,1.12335917668e11,1.11873753956e11,1.12087309285e11,1.15372551368e11,1.12857587668e11,1.12212954999e11,1.12352839748e11,1.12799090735e11,1.12712852105e11,1.11910175268e11,1.12890418194e11,1.12536406676e11,1.12333546234e11,1.12414119618e11,1.12632975657e11,1.12274854817e11,1.13642350405e11,1.13191424262e11,1.12623305956e11,1.12519637206e11,1.12733882055e11,1.13175515626e11,1.12499258654e11,1.12175542007e11,1.14221603568e11,1.12620900601e11,1.12996891317e11,1.12370260538e11,1.12760626809e11,1.13153933145e11,1.12762108936e11,1.12758858333e11,1.13381876923e11,1.12152161607e11,1.12831962905e11,1.12135760011e11,1.14343808852e11,1.12720432473e11,1.13061653545e11,1.12414150523e11,1.13142168741e11,1.12805546557e11,1.13053409368e11]}]},"tags":["CPUInterpreter"]}]},"tags":[]}]]] \ No newline at end of file diff --git a/package/test/benchmarks/1/gpu.json b/package/test/benchmarks/1/gpu.json new file mode 100644 index 0000000..64f9676 --- /dev/null +++ b/package/test/benchmarks/1/gpu.json @@ -0,0 +1,196 @@ +[ + { + "Julia": "1.11.5", + "BenchmarkTools": { + "major": 1, + "minor": 6, + "patch": 0, + "prerelease": [], + "build": [] + } + }, + [ + [ + "BenchmarkGroup", + { + "data": { + "GPUT": [ + "BenchmarkGroup", + { + "data": { + "nikuradse_1": [ + "Trial", + { + "allocs": 1534112879, + "gctimes": [ + 3.398826747854e12, + 2.618070795579e12 + ], + "memory": 51380857328968, + "params": [ + "Parameters", + { + "gctrial": true, + "time_tolerance": 0.05, + "evals_set": false, + "samples": 50, + "evals": 1, + "gcsample": false, + "seconds": 43200.0, + "overhead": 0.0, + "memory_tolerance": 0.01 + } + ], + "times": [ + 3.7202049569362e13, + 3.7400159760069e13 + ] + } + ] + }, + "tags": [ + "GPUTranspiler" + ] + } + ], + "GPUI": [ + "BenchmarkGroup", + { + "data": { + "nikuradse_1": [ + "Trial", + { + "allocs": 768766234, + "gctimes": [ + 9.039427718e9, + 9.064446832e9, + 9.800666936e9, + 1.0827322595e10, + 8.183176119e9, + 1.0336680452e10, + 1.2123016536e10, + 1.1144637536e10, + 1.1608950879e10, + 8.957069847e9, + 1.6269942403e10, + 1.4918376698e10, + 1.4251938232e10, + 1.2206537223e10, + 9.651032299e9, + 8.903295497e9, + 1.0685161605e10, + 1.3667059513e10, + 9.290015888e9, + 9.461223008e9, + 8.563242328e9, + 9.004616808e9, + 1.1567444604e10, + 1.4886979643e10, + 1.1748297074e10, + 1.0925963713e10, + 1.1739338325e10, + 1.2370751697e10, + 9.841839527e9, + 1.0294011249e10, + 1.0448009806e10, + 1.0032240935e10, + 1.0339378214e10, + 1.0181439573e10, + 1.0002432745e10, + 1.024672632e10, + 1.0288169821e10, + 9.9328892e9, + 9.691621257e9, + 1.0178716919e10, + 9.874193006e9, + 1.0230965657e10, + 9.986166398e9, + 1.0348837109e10, + 9.905019212e9, + 1.0229049781e10, + 1.0217382544e10, + 9.984211393e9, + 1.085035782e10, + 9.611515998e9 + ], + "memory": 54082704216, + "params": [ + "Parameters", + { + "gctrial": true, + "time_tolerance": 0.05, + "evals_set": false, + "samples": 50, + "evals": 1, + "gcsample": false, + "seconds": 43200.0, + "overhead": 0.0, + "memory_tolerance": 0.01 + } + ], + "times": [ + 4.59689343211e11, + 4.58928721202e11, + 4.58790866806e11, + 4.57001612541e11, + 4.18694344791e11, + 4.51768004064e11, + 4.72273439611e11, + 4.71801815498e11, + 4.7151631773e11, + 4.59466410568e11, + 4.78707344875e11, + 4.57553935546e11, + 4.83383119184e11, + 4.93000010286e11, + 4.73094508424e11, + 4.61605014711e11, + 4.5350924569e11, + 4.60262826899e11, + 4.89557260771e11, + 4.9072202667e11, + 5.01206569571e11, + 4.98388682969e11, + 4.97754134578e11, + 4.77393384636e11, + 4.86333985432e11, + 4.95544193592e11, + 4.61734198363e11, + 4.65888337953e11, + 4.62496887686e11, + 4.6684460331e11, + 4.67632785813e11, + 4.6746114379e11, + 4.66166811424e11, + 4.66344731528e11, + 4.67420138865e11, + 4.6812935133e11, + 4.67987294196e11, + 4.67112396022e11, + 4.65770084163e11, + 4.673875228e11, + 4.63872430175e11, + 4.62557110467e11, + 4.64486258696e11, + 4.67577200165e11, + 4.65189110368e11, + 4.64529885356e11, + 4.61770978471e11, + 4.63199044468e11, + 4.61538097167e11, + 4.61694021731e11 + ] + } + ] + }, + "tags": [ + "GPUInterpreter" + ] + } + ] + }, + "tags": [] + } + ] + ] +] \ No newline at end of file diff --git a/package/test/results-fh-new/3-interpreter-smaller-stack-less-var-allocations-both-unsafe_free.json b/package/test/results-fh-new/3-interpreter-smaller-stack-less-var-allocations-both-unsafe_free.json index 6e2fcc0..64f9676 100644 --- a/package/test/results-fh-new/3-interpreter-smaller-stack-less-var-allocations-both-unsafe_free.json +++ b/package/test/results-fh-new/3-interpreter-smaller-stack-less-var-allocations-both-unsafe_free.json @@ -1 +1,196 @@ -[{"Julia":"1.11.5","BenchmarkTools":{"major":1,"minor":6,"patch":0,"prerelease":[],"build":[]}},[["BenchmarkGroup",{"data":{"GPUT":["BenchmarkGroup",{"data":{},"tags":["GPUTranspiler"]}],"GPUI":["BenchmarkGroup",{"data":{"nikuradse_1":["Trial",{"allocs":768766234,"gctimes":[9.039427718e9,9.064446832e9,9.800666936e9,1.0827322595e10,8.183176119e9,1.0336680452e10,1.2123016536e10,1.1144637536e10,1.1608950879e10,8.957069847e9,1.6269942403e10,1.4918376698e10,1.4251938232e10,1.2206537223e10,9.651032299e9,8.903295497e9,1.0685161605e10,1.3667059513e10,9.290015888e9,9.461223008e9,8.563242328e9,9.004616808e9,1.1567444604e10,1.4886979643e10,1.1748297074e10,1.0925963713e10,1.1739338325e10,1.2370751697e10,9.841839527e9,1.0294011249e10,1.0448009806e10,1.0032240935e10,1.0339378214e10,1.0181439573e10,1.0002432745e10,1.024672632e10,1.0288169821e10,9.9328892e9,9.691621257e9,1.0178716919e10,9.874193006e9,1.0230965657e10,9.986166398e9,1.0348837109e10,9.905019212e9,1.0229049781e10,1.0217382544e10,9.984211393e9,1.085035782e10,9.611515998e9],"memory":54082704216,"params":["Parameters",{"gctrial":true,"time_tolerance":0.05,"evals_set":false,"samples":50,"evals":1,"gcsample":false,"seconds":43200.0,"overhead":0.0,"memory_tolerance":0.01}],"times":[4.59689343211e11,4.58928721202e11,4.58790866806e11,4.57001612541e11,4.18694344791e11,4.51768004064e11,4.72273439611e11,4.71801815498e11,4.7151631773e11,4.59466410568e11,4.78707344875e11,4.57553935546e11,4.83383119184e11,4.93000010286e11,4.73094508424e11,4.61605014711e11,4.5350924569e11,4.60262826899e11,4.89557260771e11,4.9072202667e11,5.01206569571e11,4.98388682969e11,4.97754134578e11,4.77393384636e11,4.86333985432e11,4.95544193592e11,4.61734198363e11,4.65888337953e11,4.62496887686e11,4.6684460331e11,4.67632785813e11,4.6746114379e11,4.66166811424e11,4.66344731528e11,4.67420138865e11,4.6812935133e11,4.67987294196e11,4.67112396022e11,4.65770084163e11,4.673875228e11,4.63872430175e11,4.62557110467e11,4.64486258696e11,4.67577200165e11,4.65189110368e11,4.64529885356e11,4.61770978471e11,4.63199044468e11,4.61538097167e11,4.61694021731e11]}]},"tags":["GPUInterpreter"]}]},"tags":[]}]]] \ No newline at end of file +[ + { + "Julia": "1.11.5", + "BenchmarkTools": { + "major": 1, + "minor": 6, + "patch": 0, + "prerelease": [], + "build": [] + } + }, + [ + [ + "BenchmarkGroup", + { + "data": { + "GPUT": [ + "BenchmarkGroup", + { + "data": { + "nikuradse_1": [ + "Trial", + { + "allocs": 1534112879, + "gctimes": [ + 3.398826747854e12, + 2.618070795579e12 + ], + "memory": 51380857328968, + "params": [ + "Parameters", + { + "gctrial": true, + "time_tolerance": 0.05, + "evals_set": false, + "samples": 50, + "evals": 1, + "gcsample": false, + "seconds": 43200.0, + "overhead": 0.0, + "memory_tolerance": 0.01 + } + ], + "times": [ + 3.7202049569362e13, + 3.7400159760069e13 + ] + } + ] + }, + "tags": [ + "GPUTranspiler" + ] + } + ], + "GPUI": [ + "BenchmarkGroup", + { + "data": { + "nikuradse_1": [ + "Trial", + { + "allocs": 768766234, + "gctimes": [ + 9.039427718e9, + 9.064446832e9, + 9.800666936e9, + 1.0827322595e10, + 8.183176119e9, + 1.0336680452e10, + 1.2123016536e10, + 1.1144637536e10, + 1.1608950879e10, + 8.957069847e9, + 1.6269942403e10, + 1.4918376698e10, + 1.4251938232e10, + 1.2206537223e10, + 9.651032299e9, + 8.903295497e9, + 1.0685161605e10, + 1.3667059513e10, + 9.290015888e9, + 9.461223008e9, + 8.563242328e9, + 9.004616808e9, + 1.1567444604e10, + 1.4886979643e10, + 1.1748297074e10, + 1.0925963713e10, + 1.1739338325e10, + 1.2370751697e10, + 9.841839527e9, + 1.0294011249e10, + 1.0448009806e10, + 1.0032240935e10, + 1.0339378214e10, + 1.0181439573e10, + 1.0002432745e10, + 1.024672632e10, + 1.0288169821e10, + 9.9328892e9, + 9.691621257e9, + 1.0178716919e10, + 9.874193006e9, + 1.0230965657e10, + 9.986166398e9, + 1.0348837109e10, + 9.905019212e9, + 1.0229049781e10, + 1.0217382544e10, + 9.984211393e9, + 1.085035782e10, + 9.611515998e9 + ], + "memory": 54082704216, + "params": [ + "Parameters", + { + "gctrial": true, + "time_tolerance": 0.05, + "evals_set": false, + "samples": 50, + "evals": 1, + "gcsample": false, + "seconds": 43200.0, + "overhead": 0.0, + "memory_tolerance": 0.01 + } + ], + "times": [ + 4.59689343211e11, + 4.58928721202e11, + 4.58790866806e11, + 4.57001612541e11, + 4.18694344791e11, + 4.51768004064e11, + 4.72273439611e11, + 4.71801815498e11, + 4.7151631773e11, + 4.59466410568e11, + 4.78707344875e11, + 4.57553935546e11, + 4.83383119184e11, + 4.93000010286e11, + 4.73094508424e11, + 4.61605014711e11, + 4.5350924569e11, + 4.60262826899e11, + 4.89557260771e11, + 4.9072202667e11, + 5.01206569571e11, + 4.98388682969e11, + 4.97754134578e11, + 4.77393384636e11, + 4.86333985432e11, + 4.95544193592e11, + 4.61734198363e11, + 4.65888337953e11, + 4.62496887686e11, + 4.6684460331e11, + 4.67632785813e11, + 4.6746114379e11, + 4.66166811424e11, + 4.66344731528e11, + 4.67420138865e11, + 4.6812935133e11, + 4.67987294196e11, + 4.67112396022e11, + 4.65770084163e11, + 4.673875228e11, + 4.63872430175e11, + 4.62557110467e11, + 4.64486258696e11, + 4.67577200165e11, + 4.65189110368e11, + 4.64529885356e11, + 4.61770978471e11, + 4.63199044468e11, + 4.61538097167e11, + 4.61694021731e11 + ] + } + ] + }, + "tags": [ + "GPUInterpreter" + ] + } + ] + }, + "tags": [] + } + ] + ] +] \ No newline at end of file