Evaluation scripts and images

This commit is contained in:
Anton Reinhard 2024-02-13 11:52:02 +01:00
parent c6ebf91079
commit 6186776059
14 changed files with 297 additions and 11 deletions

View File

@ -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)

View File

@ -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")

View 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
View 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")

View File

@ -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
1 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
2 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
3 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
4 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
5 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
6 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
7 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
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
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
10 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
11 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

View File

@ -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
1 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
2 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
3 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
4 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
5 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
6 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
7 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
8 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
9 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
10 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
11 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
12 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
13 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
14 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
15 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
16 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
17 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
18 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
19 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
20 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
21 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
22 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
23 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
24 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
25 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
26 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
27 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
28 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
29 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
30 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
31 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
32 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
33 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
34 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
35 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
36 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
37 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
38 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
39 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
40 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
41 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
42 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
43 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
44 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
45 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
46 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
47 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
48 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
49 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

View 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,
1 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
2 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
3 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
4 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
5 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
6 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
7 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
8 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
9 ke->kkkkkkkke,12,1,1,1,1,12337955,6168983,11,3265920,2540160,362880,16329623,

View File

@ -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(

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -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}],
)