Evaluation scripts and images
This commit is contained in:
		| @@ -12,13 +12,13 @@ processes = [ | ||||
|     "QED Process: 'ke->ke'", | ||||
|     "QED Process: 'ke->kke'", | ||||
|     "QED Process: 'ke->kkke'", | ||||
|     "QED Process: 'ke->kkkke'", | ||||
|     "QED Process: 'ke->kkkkke'", | ||||
|     "QED Process: 'ke->kkkkkke'", | ||||
|     "QED Process: 'ke->kkkkkkke'", | ||||
|     #"QED Process: 'ke->kkkke'", | ||||
|     #"QED Process: 'ke->kkkkke'", | ||||
|     #"QED Process: 'ke->kkkkkke'", | ||||
|     #"QED Process: 'ke->kkkkkkke'", | ||||
|     "ABC Process: 'AB->AB'", | ||||
|     "ABC Process: 'AB->ABBB'", | ||||
|     "ABC Process: 'AB->ABBBBB'", | ||||
|     #"ABC Process: 'AB->ABBBBB'", | ||||
| ] | ||||
|  | ||||
| function proc_to_n(str::AbstractString) | ||||
|   | ||||
| @@ -18,7 +18,7 @@ input_file = ARGS[1] | ||||
| df = CSV.read(input_file, DataFrame) | ||||
|  | ||||
| # plotting with process size as x axis | ||||
| THREADS = [4] | ||||
| THREADS = [] | ||||
|  | ||||
| for threads in THREADS | ||||
|     title_string = "n-photon Compton diagram generation, $threads threads" | ||||
| @@ -145,4 +145,39 @@ for threads in THREADS | ||||
|  | ||||
|     savefig("compton_graph_size_versus.pdf") | ||||
|  | ||||
| end | ||||
| end | ||||
|  | ||||
| # for a specific process, plot times with threads as x | ||||
| process = "ke->kkkkkkkke" | ||||
| title_string = "n-photon Compton diagram generation times, $process" | ||||
|  | ||||
| df_filt = filter(:process_name => x -> x == process, df) | ||||
| df_filt.graph_gen_mean = @. df_filt.graph_gen_mean / 1e9 | ||||
| df_filt.graph_gen_std = @. df_filt.graph_gen_std / 1e9 | ||||
|  | ||||
| @df df_filt scatter( | ||||
|     :cpu_threads, | ||||
|     :graph_gen_mean, | ||||
|     yerror = :graph_gen_std, | ||||
|     label = "graph generation time", | ||||
|     markersize = 7, | ||||
| ) | ||||
|  | ||||
| plot!( | ||||
|     title = title_string, | ||||
|     yscale = :linear, | ||||
|     legend = :outerbottom, | ||||
|     minorgrid = true, | ||||
|     xticks = :cpu_threads, | ||||
|     #yticks = [1e-3, 1e-2, 1e-1, 1e-0, 1e1], | ||||
|     ylim = (0, max(df_filt[!, :graph_gen_mean]...) * 1.1), | ||||
|     xgrid = false, | ||||
|     xminorticks = false, | ||||
|     legendcolumns = 1, | ||||
|     legend_font_pointsize = 10, | ||||
|     size = (800, 600), | ||||
|     ylabel = "time (s)", | ||||
|     xlabel = "process size (#)", | ||||
| ) | ||||
|  | ||||
| savefig("gen_times_$(process).pdf") | ||||
							
								
								
									
										52
									
								
								data/evaluate_gen_one_sided_comparison.jl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								data/evaluate_gen_one_sided_comparison.jl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,52 @@ | ||||
| using CSV | ||||
| using DataFrames | ||||
| using Plots | ||||
| using StatsPlots | ||||
| using LaTeXStrings | ||||
|  | ||||
| if (length(ARGS) < 2) | ||||
|     println("Please use with \"input_file.csv\" \"input_file_onesided.csv\"") | ||||
| end | ||||
|  | ||||
| function proc_to_n(str::AbstractString) | ||||
|     parts = split(str, "->") | ||||
|     k_count = count(c -> c == 'k', parts[2]) | ||||
|     return k_count | ||||
| end | ||||
|  | ||||
| input_file = ARGS[1] | ||||
| input_file_onesided = ARGS[2] | ||||
| df = CSV.read(input_file, DataFrame) | ||||
| df2 = CSV.read(input_file_onesided, DataFrame) | ||||
|  | ||||
|  | ||||
| df_filt = filter(:process_name => x -> proc_to_n(x) >= 1, df) | ||||
| df_filt.process_size = @. proc_to_n(df_filt.process_name) | ||||
|  | ||||
| df_filt2 = filter(:process_name => x -> proc_to_n(x) >= 1, df2) | ||||
| df_filt2.process_size = @. proc_to_n(df_filt2.process_name) | ||||
|  | ||||
|  | ||||
| # graph size | ||||
| title_string = "n-photon Compton reduced graph size" | ||||
|  | ||||
| @df df_filt scatter(:process_size, :graph_nodes_reduced, label = "nodes, two-sided generation", markershape = :circle) | ||||
| @df df_filt2 scatter!(:process_size, :graph_nodes_reduced, label = "nodes, one-sided generation", markershape = :square) | ||||
|  | ||||
| plot!( | ||||
|     title = title_string, | ||||
|     yscale = :log10, | ||||
|     legend = :outerbottom, | ||||
|     yminorgrid = true, | ||||
|     xticks = :process_size, | ||||
|     yticks = [1e1, 1e2, 1e3, 1e4, 1e5, 1e6], | ||||
|     xgrid = false, | ||||
|     xminorticks = false, | ||||
|     legendcolumns = 2, | ||||
|     legend_font_pointsize = 10, | ||||
|     size = (800, 600), | ||||
|     ylabel = "(#)", | ||||
|     xlabel = "process size (#)", | ||||
| ) | ||||
|  | ||||
| savefig("compton_diagram_gen_comparison.pdf") | ||||
							
								
								
									
										130
									
								
								data/evaluate_gpu.jl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										130
									
								
								data/evaluate_gpu.jl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,130 @@ | ||||
| using CSV | ||||
| using DataFrames | ||||
| using Plots | ||||
| using StatsPlots | ||||
| using LaTeXStrings | ||||
|  | ||||
| if (length(ARGS) < 1) | ||||
|     println("Please use with \"input_file.csv\"") | ||||
| end | ||||
|  | ||||
| processes = [ | ||||
|     "QED Process: 'ke->ke'", | ||||
|     "QED Process: 'ke->kke'", | ||||
|     "QED Process: 'ke->kkke'", | ||||
|     #"QED Process: 'ke->kkkke'", | ||||
|     #"QED Process: 'ke->kkkkke'", | ||||
|     "ABC Process: 'AB->AB'", | ||||
|     "ABC Process: 'AB->ABBB'", | ||||
|     #"ABC Process: 'AB->ABBBBB'", | ||||
| ] | ||||
|  | ||||
| function proc_to_n(str::AbstractString) | ||||
|     parts = split(str, "'") | ||||
|     parts = split(parts[2], "->") | ||||
|     k_count = count(c -> c == 'k', parts[2]) | ||||
|     return k_count | ||||
| end | ||||
|  | ||||
| function beautify_title(str::AbstractString) | ||||
|     parts = split(str, "'") | ||||
|  | ||||
|     preprefix = parts[1] | ||||
|     infix = parts[2] | ||||
|     sufsuffix = parts[3] | ||||
|  | ||||
|     parts = split(infix, "->") | ||||
|  | ||||
|     prefix = parts[1] | ||||
|     suffix = parts[2] | ||||
|  | ||||
|     k_count = count(c -> c == 'k', suffix) | ||||
|     B_count = count(c -> c == 'B', suffix) | ||||
|  | ||||
|     if k_count == 1 || B_count == 1 | ||||
|         new_suffix = suffix | ||||
|     elseif k_count >= 1 | ||||
|         new_suffix = replace(suffix, r"k+" => "k^$k_count") | ||||
|     elseif B_count >= 1 | ||||
|         new_suffix = replace(suffix, r"B+" => "B^$B_count") | ||||
|     end | ||||
|  | ||||
|     return preprefix * L"%$prefix \rightarrow %$new_suffix" * sufsuffix | ||||
| end | ||||
|  | ||||
| input_file = ARGS[1] | ||||
| df = CSV.read(input_file, DataFrame) | ||||
| n_inputs = df[:, "n_inputs"][1] | ||||
| gpu_name = df[:, "gpu_name"][1] | ||||
| if (gpu_name == "") | ||||
|     println("Results file did not execute everything on GPU! (or didn't write gpu name)") | ||||
|     exit(0) | ||||
| end | ||||
|  | ||||
| # plotting with process size as x axis | ||||
| title_string = "GPU $gpu_name, $n_inputs samples" | ||||
|  | ||||
| df_filt = filter(:process_name => x -> proc_to_n(x) >= 1, df) | ||||
| df_filt.gpu_rate = df_filt.gpu_rate .* 1e9 | ||||
| df_filt.gpu_time = df_filt.gpu_time ./ 1e9 | ||||
| df_filt.gpu_gflops = df_filt.gpu_gflops .* 1e9 | ||||
|  | ||||
| df_filt.process_size = @. proc_to_n(df_filt.process_name) | ||||
|  | ||||
| df_no_opt = filter(:process_name => x -> match(r" no optimization$", x) !== nothing, df_filt) | ||||
| df_red = filter(:process_name => x -> match(r" reduced$", x) !== nothing, df_filt) | ||||
|  | ||||
| @df df_no_opt scatter(:process_size, :gpu_rate, label = "unoptimized function execution rate", markersize = 7) | ||||
| @df df_red scatter!(:process_size, :gpu_rate, label = "reduced function execution rate", markersize = 7) | ||||
|  | ||||
| plot!( | ||||
|     title = title_string * ", sample rate", | ||||
|     yscale = :log10, | ||||
|     legend = :outerbottom, | ||||
|     xticks = [1, 2, 3], | ||||
|     legendcolumns = 2, | ||||
|     legend_font_pointsize = 10, | ||||
|     size = (800, 600), | ||||
|     ylabel = "rate (" * L"s^{-1}" * ")", | ||||
|     xlabel = "process size (#)", | ||||
| ) | ||||
|  | ||||
| savefig("gpu_rate_$(gpu_name).pdf") | ||||
|  | ||||
|  | ||||
|  | ||||
| @df df_no_opt scatter(:process_size, :gpu_time, label = "unoptimized function execution time", markersize = 7) | ||||
| @df df_red scatter!(:process_size, :gpu_time, label = "reduced function execution time", markersize = 7) | ||||
|  | ||||
| plot!( | ||||
|     title = title_string * ", execution time", | ||||
|     yscale = :log10, | ||||
|     legend = :outerbottom, | ||||
|     xticks = [1, 2, 3], | ||||
|     legendcolumns = 2, | ||||
|     legend_font_pointsize = 10, | ||||
|     size = (800, 600), | ||||
|     ylabel = "time (s)", | ||||
|     xlabel = "process size (#)", | ||||
| ) | ||||
|  | ||||
| savefig("gpu_times_$(gpu_name).pdf") | ||||
|  | ||||
|  | ||||
|  | ||||
| @df df_no_opt scatter(:process_size, :gpu_gflops, label = "unoptimized function", markersize = 7) | ||||
| @df df_red scatter!(:process_size, :gpu_gflops, label = "reduced function", markersize = 7) | ||||
|  | ||||
| plot!( | ||||
|     title = title_string * ", GFLOPS", | ||||
|     yscale = :linear, | ||||
|     legend = :outerbottom, | ||||
|     xticks = [1, 2, 3], | ||||
|     legendcolumns = 2, | ||||
|     legend_font_pointsize = 10, | ||||
|     size = (800, 600), | ||||
|     ylabel = "performance (GFLOPS)", | ||||
|     xlabel = "process size (#)", | ||||
| ) | ||||
|  | ||||
| savefig("gpu_perf_$(gpu_name).pdf") | ||||
| @@ -0,0 +1,11 @@ | ||||
| process_name,graph_gen_time,optimization_time,function_generation_time,graph_nodes,graph_edges,graph_mem,cpu_threads,n_inputs,nflops_likwid,cpu_time,cpu_rate,cpu_gflops,gpu_name,gpu_time,gpu_rate,gpu_gflops | ||||
| QED Process: 'ke->ke' no optimization,0.021888338,0.0,0.143835415,26,29,6532.0,8,1000000,5631,1.880485659327354e8,0.0053177751983373165,2.9944392141837426e-8,NVIDIA A30,9.210393121686748e7,0.010857299865359762,6.113745554184082e-8 | ||||
| QED Process: 'ke->ke' reduced,0.021888338,0.100014526,0.006987601,26,29,6948.0,8,1000000,5631,1.874650740045045e8,0.005334326968958344,3.0037595162204434e-8,NVIDIA A30,9.341787712903225e7,0.010704589214961101,6.027754186944596e-8 | ||||
| QED Process: 'ke->kke' no optimization,0.011560896,0.0,0.166822706,77,101,19175.0,8,1000000,25082,5.1290228314606744e8,0.001949689117907892,4.890210245536574e-8,NVIDIA A30,6.011860777314286e8,0.001663378506324519,4.172085969563159e-8 | ||||
| QED Process: 'ke->kke' reduced,0.011560896,0.067716005,0.014070132,59,77,16383.0,8,1000000,16835,4.00165268947644e8,0.0024989674956794813,4.207011778976407e-8,NVIDIA A30,4.5467275652879584e8,0.0021993840309116187,3.70266301603971e-8 | ||||
| QED Process: 'ke->kkke' no optimization,0.032403395,0.0,0.082379401,356,493,85898.0,8,1000000,127663,2.047233999655914e9,0.0004884639470466364,6.235877287181474e-8,NVIDIA A30,2.53188631039759e9,0.0003949624419917049,5.042209023198702e-8 | ||||
| QED Process: 'ke->kkke' reduced,0.032403395,0.183699028,0.031991448,148,221,43962.0,8,1000000,43407,8.954736112291666e8,0.00111672749197752,4.847379024426821e-8,NVIDIA A30,1.4135596722016807e9,0.0007074338775118397,3.0707582321156425e-8 | ||||
| ABC Process: 'AB->AB' no optimization,0.000433092,0.0,0.017023325,34,37,8624.0,8,1000000,41,8.381314010084033e7,0.011931303358839001,4.89183437712399e-10,NVIDIA A30,1.8635275427480917e7,0.05366166998129408,2.2001284692330575e-9 | ||||
| ABC Process: 'AB->AB' reduced,0.000433092,0.065024113,0.007775533,34,37,9296.0,8,1000000,41,8.377098068354431e7,0.01193730802528896,4.894296290368474e-10,NVIDIA A30,1.8622735923664123e7,0.05369780273419915,2.2016099121021654e-9 | ||||
| ABC Process: 'AB->ABBB' no optimization,0.000342619,0.0,0.055432922,280,385,69428.0,8,1000000,555,1.185642213930131e8,0.00843424760227818,4.681007419264389e-9,NVIDIA A30,1.7535707459770113e7,0.0570264987765204,3.164970682096882e-8 | ||||
| ABC Process: 'AB->ABBB' reduced,0.000342619,0.124045849,0.040663336,200,285,57156.0,8,1000000,899,1.2518282353097345e8,0.00798831638233958,7.181496427723283e-9,NVIDIA A30,1.6718557076628352e7,0.059813774323739126,5.377258311704147e-8 | ||||
| 
 | 
| @@ -0,0 +1,49 @@ | ||||
| process_name,cpu_threads,graph_gen_samples,graph_gen_mean,graph_gen_std,graph_gen_median,graph_nodes,graph_data_nodes,graph_u_nodes,graph_v_nodes,graph_s1_nodes,graph_s2_nodes,graph_edges,graph_nodes_reduced,graph_data_nodes_reduced,graph_u_nodes_reduced,graph_v_nodes_reduced,graph_s1_nodes_reduced,graph_s2_nodes_reduced,graph_edges_reduced,graph_mem,graph_mem_reduced,graph_elapsed_reduce | ||||
| ke->ke,1,367,163591.83378746593,8244.06944429464,161415.0,26,15,4,4,0,2,29,26,15,4,4,0,2,29,23980.0,25292.0,0.00018103 | ||||
| ke->kke,1,365,276647.57808219176,12219.038493744352,273586.0,77,41,5,18,6,6,101,59,32,5,12,3,6,77,35423.0,47607.0,0.001373516 | ||||
| ke->kkke,1,365,812335.7726027397,15951.11600371844,810553.0,356,181,6,96,48,24,493,148,77,6,32,8,24,221,95474.0,156874.0,0.012610364 | ||||
| ke->kkkke,1,363,4.373731104683195e6,50585.69128404933,4.362524e6,2183,1095,7,600,360,120,3015,543,275,7,110,30,120,885,470405.0,788269.0,0.051800489 | ||||
| ke->kkkkke,1,346,3.110679258381503e7,230966.46375778675,3.10600265e7,15866,7937,8,4320,2880,720,21617,2234,1121,8,312,72,720,3977,3.619736e6,5.522784e6,0.593557378 | ||||
| ke->kkkkkke,1,231,3.2812668651082253e8,2.8467563184950906e6,3.27443771e8,131069,65539,9,35280,25200,5040,176419,13441,6725,9,1358,308,5040,24869,2.7220139e7,4.1450691e7,16.947993752 | ||||
| ke->kkkkkkke,1,54,3.2961057175925927e9,6.6541001965338744e7,3.276489101e9,1209632,604821,10,322560,241920,40320,1612821,90592,45301,10,4160,800,40320,175381,2.47916222e8,3.67755278e8,891.940045588 | ||||
| ke->kkkkkkkke,1,6,3.9249114226166664e10,8.105963054167406e9,3.6105827785e10,12337955,6168983,11,3265920,2540160,362880,16329623,0,0,0,0,0,0,0,2.636058833e9,-1.0,-1.0 | ||||
| ke->ke,2,324,198319.9537037037,16737.410208574984,196973.0,26,15,4,4,0,2,29,26,15,4,4,0,2,29,23980.0,25292.0,0.000167656 | ||||
| ke->kke,2,320,333413.134375,18305.68357885323,332569.0,77,41,5,18,6,6,101,59,32,5,12,3,6,77,35423.0,47319.0,0.001350622 | ||||
| ke->kkke,2,319,875648.4231974921,43850.159366328604,875459.0,356,181,6,96,48,24,493,148,77,6,32,8,24,221,95474.0,154426.0,0.027575666 | ||||
| ke->kkkke,2,319,4.192190119122257e6,195656.34037978342,4.175425e6,2183,1095,7,600,360,120,3015,543,275,7,110,30,120,885,470405.0,788269.0,0.052157649 | ||||
| ke->kkkkke,2,315,2.93219354031746e7,1.3066366525419788e6,2.9198563e7,15866,7937,8,4320,2880,720,21617,2234,1121,8,312,72,720,3977,3.619736e6,5.489832e6,0.553458761 | ||||
| ke->kkkkkke,2,199,3.190660898341709e8,1.2884918309451135e7,3.19042521e8,131069,65539,9,35280,25200,5040,176419,13441,6725,9,1358,308,5040,24869,2.7220139e7,4.1583723e7,18.630557854 | ||||
| ke->kkkkkkke,2,47,3.344206026787234e9,9.279381184171565e7,3.336634389e9,1209632,604821,10,322560,241920,40320,1612821,90592,45301,10,4160,800,40320,175381,2.47916222e8,3.47729046e8,1009.782477087 | ||||
| ke->kkkkkkkke,2,6,3.6058775391166664e10,8.153891159038606e8,3.6067091006e10,12337955,6168983,11,3265920,2540160,362880,16329623,0,0,0,0,0,0,0,2.636058833e9,-1.0,-1.0 | ||||
| ke->ke,3,309,235713.21035598704,19813.534912077153,232082.0,26,15,4,4,0,2,29,26,15,4,4,0,2,29,23980.0,25292.0,0.00019762 | ||||
| ke->kke,3,307,362589.3029315961,18556.58163253827,360702.0,77,41,5,18,6,6,101,59,32,5,12,3,6,77,35423.0,47319.0,0.001468295 | ||||
| ke->kkke,3,307,910030.1628664496,36238.53981785484,905656.0,356,181,6,96,48,24,493,148,77,6,32,8,24,221,95474.0,154858.0,0.014372412 | ||||
| ke->kkkke,3,305,4.1099876524590165e6,195198.13565678694,4.065734e6,2183,1095,7,600,360,120,3015,543,275,7,110,30,120,885,470405.0,788413.0,0.079820723 | ||||
| ke->kkkkke,3,292,2.926505180821918e7,1.3171365432771866e6,2.90031685e7,15866,7937,8,4320,2880,720,21617,2234,1121,8,312,72,720,3977,3.619736e6,5.527392e6,0.609388774 | ||||
| ke->kkkkkke,3,200,3.09932223355e8,1.1990379192933526e7,3.091332075e8,131069,65539,9,35280,25200,5040,176419,13441,6725,9,1358,308,5040,24869,2.7220139e7,4.1111723e7,17.892442653 | ||||
| ke->kkkkkkke,3,46,3.448601302804348e9,8.803199424165167e7,3.456859858e9,1209632,604821,10,322560,241920,40320,1612821,90592,45301,10,4160,800,40320,175381,2.47916222e8,3.67081654e8,1030.174149301 | ||||
| ke->kkkkkkkke,3,5,3.8856149529e10,1.2944467519101532e9,3.8413979685e10,12337955,6168983,11,3265920,2540160,362880,16329623,0,0,0,0,0,0,0,2.636058833e9,-1.0,-1.0 | ||||
| ke->ke,4,360,218479.25,15099.08526269704,213265.0,26,15,4,4,0,2,29,26,15,4,4,0,2,29,23980.0,25292.0,0.00018319 | ||||
| ke->kke,4,359,355889.86072423396,19186.908833615867,357721.0,77,41,5,18,6,6,101,59,32,5,12,3,6,77,35423.0,47607.0,0.001431696 | ||||
| ke->kkke,4,358,930918.5754189944,31808.004708813798,926156.0,356,181,6,96,48,24,493,148,77,6,32,8,24,221,95474.0,156730.0,0.012686494 | ||||
| ke->kkkke,4,357,4.18535349859944e6,83409.76365370877,4.163246e6,2183,1095,7,600,360,120,3015,543,275,7,110,30,120,885,470405.0,792733.0,0.069768067 | ||||
| ke->kkkkke,4,301,2.8807327441860463e7,394631.4977459108,2.8986579e7,15866,7937,8,4320,2880,720,21617,2234,1121,8,312,72,720,3977,3.619736e6,5.536608e6,0.578988643 | ||||
| ke->kkkkkke,4,200,3.1101288635e8,1.2242934298760163e7,3.05370731e8,131069,65539,9,35280,25200,5040,176419,13441,6725,9,1358,308,5040,24869,2.7220139e7,4.1569819e7,16.910096874 | ||||
| ke->kkkkkkke,4,54,2.751006164148148e9,9.159053921609345e7,2.7311236935e9,1209632,604821,10,322560,241920,40320,1612821,90592,45301,10,4160,800,40320,175381,2.47916222e8,3.69321686e8,879.942655414 | ||||
| ke->kkkkkkkke,4,6,3.3901058634e10,1.2573456781427138e9,3.36394407355e10,12337955,6168983,11,3265920,2540160,362880,16329623,0,0,0,0,0,0,0,2.636058833e9,-1.0,-1.0 | ||||
| ke->ke,5,308,276433.788961039,20974.753647754293,273738.5,26,15,4,4,0,2,29,26,15,4,4,0,2,29,23980.0,25292.0,0.000247319 | ||||
| ke->kke,5,307,376616.01954397396,19704.176972319336,373621.0,77,41,5,18,6,6,101,59,32,5,12,3,6,77,35423.0,47607.0,0.001515396 | ||||
| ke->kkke,5,306,952992.4509803922,34085.869866316905,948944.0,356,181,6,96,48,24,493,148,77,6,32,8,24,221,95474.0,154426.0,0.013131685 | ||||
| ke->kkkke,5,307,4.25323387296417e6,312175.1065181335,4.225936e6,2183,1095,7,600,360,120,3015,543,275,7,110,30,120,885,470405.0,788269.0,0.057499781 | ||||
| ke->kkkkke,5,293,2.9532872167235494e7,1.2718150700116598e6,2.9466345e7,15866,7937,8,4320,2880,720,21617,2234,1121,8,312,72,720,3977,3.619736e6,5.486496e6,0.667497736 | ||||
| ke->kkkkkke,5,198,3.247416337626263e8,1.3008937043360736e7,3.23659444e8,131069,65539,9,35280,25200,5040,176419,13441,6725,9,1358,308,5040,24869,2.7220139e7,4.1624555e7,17.47025299 | ||||
| ke->kkkkkkke,5,49,3.0149285022040815e9,9.474792234833725e7,2.992396182e9,1209632,604821,10,322560,241920,40320,1612821,90592,45301,10,4160,800,40320,175381,2.47916222e8,3.64448638e8,991.043118381 | ||||
| ke->kkkkkkkke,5,6,3.5096400832333336e10,2.2986165538874135e9,3.38597258525e10,12337955,6168983,11,3265920,2540160,362880,16329623,0,0,0,0,0,0,0,2.636058833e9,-1.0,-1.0 | ||||
| ke->ke,6,318,251745.46226415093,21897.783128584524,250364.0,26,15,4,4,0,2,29,26,15,4,4,0,2,29,23980.0,25292.0,0.000206335 | ||||
| ke->kke,6,318,394313.1698113208,21249.33364513439,389394.0,77,41,5,18,6,6,101,59,32,5,12,3,6,77,35423.0,47607.0,0.001527776 | ||||
| ke->kkke,6,317,957311.1640378549,37757.77996624451,954502.0,356,181,6,96,48,24,493,148,77,6,32,8,24,221,95474.0,156730.0,0.013595493 | ||||
| ke->kkkke,6,315,4.0828651174603174e6,170982.13799683942,4.04163e6,2183,1095,7,600,360,120,3015,543,275,7,110,30,120,885,470405.0,788269.0,0.073712887 | ||||
| ke->kkkkke,6,301,2.8771192594684385e7,1.2257176793540926e6,2.8225655e7,15866,7937,8,4320,2880,720,21617,2234,1121,8,312,72,720,3977,3.619736e6,5.527392e6,0.602918502 | ||||
| ke->kkkkkke,6,201,3.074898551243781e8,1.1587677476111867e7,3.06073884e8,131069,65539,9,35280,25200,5040,176419,13441,6725,9,1358,308,5040,24869,2.7220139e7,4.0967755e7,18.044061008 | ||||
| ke->kkkkkkke,6,51,2.819152255392157e9,1.0769465159606656e8,2.797451893e9,1209632,604821,10,322560,241920,40320,1612821,90592,45301,10,4160,800,40320,175381,2.47916222e8,3.67052486e8,948.254854257 | ||||
| ke->kkkkkkkke,6,6,3.30252982335e10,2.951298864612307e9,3.1297002603e10,12337955,6168983,11,3265920,2540160,362880,16329623,0,0,0,0,0,0,0,2.636058833e9,-1.0,-1.0 | ||||
| 
 | 
							
								
								
									
										9
									
								
								data/qed_gen_results_onesided.csv
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								data/qed_gen_results_onesided.csv
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| process_name,cpu_threads,graph_gen_samples,graph_gen_mean,graph_gen_std,graph_gen_median,graph_nodes,graph_data_nodes,graph_u_nodes,graph_v_nodes,graph_s1_nodes,graph_s2_nodes,graph_edges,graph_nodes_reduced,graph_data_nodes_reduced,graph_u_nodes_reduced,graph_v_nodes_reduced,graph_s1_nodes_reduced,graph_s2_nodes_reduced,graph_edges_reduced,graph_mem,graph_mem_reduced,graph_elapsed_reduce | ||||
| ke->ke,12,10,108808.9,8914.379537827883,105358.0,26,15,4,4,0,2,29,26,15,4,4,0,2,29,23980.0,25292.0,0.000106035 | ||||
| ke->kke,12,10,165478.4,9600.214525380843,163445.5,77,41,5,18,6,6,101,59,32,5,12,3,6,77,35423.0,47319.0,0.000519342 | ||||
| ke->kkke,12,10,374438.5,20482.285974036742,368261.0,356,181,6,96,48,24,493,188,97,6,44,16,24,273,95474.0,156554.0,0.012867533 | ||||
| ke->kkkke,12,11,1.6873362727272727e6,51816.76295387605,1.67913e6,2183,1095,7,600,360,120,3015,853,430,7,210,85,120,1295,470405.0,821533.0,0.021791955 | ||||
| ke->kkkkke,12,11,1.1873603272727273e7,141285.96370063865,1.1860729e7,15866,7937,8,4320,2880,720,21617,4982,2495,8,1242,516,720,7655,3.619736e6,6.016976e6,0.415923098 | ||||
| ke->kkkkkke,12,8,1.3225809575e8,1.1404915362397024e7,1.30853327e8,131069,65539,9,35280,25200,5040,176419,34679,17344,9,8666,3619,5040,53415,2.7220139e7,4.5851723e7,17.679961505 | ||||
| ke->kkkkkkke,12,2,1.4026342725e9,7.484155987190072e7,1.4026342725e9,1209632,604821,10,322560,241920,40320,1612821,277168,138589,10,69288,28960,40320,427085,2.47916222e8,4.00541614e8,1429.500021529 | ||||
| ke->kkkkkkkke,12,1,1,1,1,12337955,6168983,11,3265920,2540160,362880,16329623, | ||||
| 
 | 
| @@ -38,7 +38,7 @@ function bench_process(process::AbstractString; warmup = false, optimize = true) | ||||
|  | ||||
|     proc = parse_process(process, model) | ||||
|  | ||||
|     gen_bench = @benchmark gen_graph($proc) gcsample = true seconds = 300 | ||||
|     gen_bench = @benchmark gen_graph($proc) gcsample = true seconds = 5 | ||||
|  | ||||
|     graph = gen_graph(proc) | ||||
|  | ||||
| @@ -101,8 +101,8 @@ processes = [ | ||||
|     ("ke->kkkkke", true), | ||||
|     ("ke->kkkkkke", true), | ||||
|     ("ke->kkkkkkke", true), | ||||
|     ("ke->kkkkkkkke", false), | ||||
|     ("ke->kkkkkkkkke", false), | ||||
|     #("ke->kkkkkkkke", false), | ||||
|     #("ke->kkkkkkkkke", false), | ||||
| ] | ||||
|  | ||||
| df = DataFrame( | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								images/compton_diagram_gen_comparison.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								images/compton_diagram_gen_comparison.pdf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								images/gen_times_1_threads_hemera.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								images/gen_times_1_threads_hemera.pdf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								images/gpu_perf_NVIDIA A30.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								images/gpu_perf_NVIDIA A30.pdf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								images/gpu_rate_NVIDIA A30.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								images/gpu_rate_NVIDIA A30.pdf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								images/gpu_times_NVIDIA A30.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								images/gpu_times_NVIDIA A30.pdf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -623,7 +623,7 @@ From a given feynman diagram in its initial state, e.g. when created through the | ||||
| """ | ||||
| function gen_diagrams(fd::FeynmanDiagram) | ||||
|     if is_compton(fd) | ||||
|         return gen_compton_diagrams( | ||||
|         return gen_compton_diagrams_one_side( | ||||
|             fd.type_ids[PhotonStateful{Incoming, PolX}], | ||||
|             fd.type_ids[PhotonStateful{Outgoing, PolX}], | ||||
|         ) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user