3 Script that fetches all the logfiles from disk and reads the timings. 4 Parameters can be changed according to the working points considered. 5 Some parameters of the plots are hardcoded. 10 n_algos_in_flight_l = [1, 2, 5, 7, 10, 16, 20, 22]
11 n_evts_in_flight_l = [1, 2, 4, 6, 7, 8, 9, 11, 13, 14, 15]
12 colour_l = [kRed, kBlue, kOrange, kGreen, kMagenta, kCyan] * 2
13 line_style_l = [1] * 6 + [2] * 6
14 cloneFlag_l = [
True,
False]
16 To be filled with files on disk of the form 17 timing_measurement_BrunelScenario_n150_eif2_aif20_nthreads24_cFalse_dqFalse.log 19 filename_scheleton =
"timing_measurement_BrunelScenario_n150_eif%s_aif%s_nthreads24_c%s_dqFalse.log" 22 def getRuntime(n_algos_in_flight, n_evts_in_flight, cloneFlag):
23 filename = filename_scheleton % (n_evts_in_flight, n_algos_in_flight,
27 for line
in open(filename,
"r").readlines(): 36 o Key = [n_algos_in_flight, n_evts_in_flight, cloneFlag] 43 for n_algos_in_flight
in n_algos_in_flight_l:
44 for n_evts_in_flight
in n_evts_in_flight_l:
45 for cloneFlag
in cloneFlag_l:
46 rt =
getRuntime(n_algos_in_flight, n_evts_in_flight, cloneFlag)
47 runtimes[n_algos_in_flight, n_evts_in_flight, cloneFlag] = rt
53 for key, rt
in runtimes.items():
54 this_n_algos_in_flight, this_n_evts_in_flight, this_cloneFlag = key
55 if this_n_evts_in_flight == n_evts_in_flight
and \
56 this_cloneFlag == cloneFlag:
57 points.append((this_n_algos_in_flight, rt))
63 graph = TGraph(len(points))
64 graph.GetXaxis().SetTitle(
"Maximum # in flight algos")
65 graph.GetXaxis().SetRangeUser(0, 23)
66 graph.GetYaxis().SetTitle(
"Runtime [s]")
67 graph.GetYaxis().SetTitleOffset(1.45)
68 graph.GetYaxis().SetRangeUser(0.1, 275)
69 graph.GetYaxis().SetNdivisions(12, 5, 1)
71 graph.SetLineColor(colour)
72 graph.SetMarkerColor(colour)
73 graph.SetLineStyle(style)
74 graph.SetFillColor(kWhite)
78 graph.SetPoint(point_n, x, y)
84 title =
"Brunel 150 events" 87 clone_string =
"_clone" 89 plotname =
"runtime%s.pdf" % clone_string
91 canvas = TCanvas(plotname,
"plot", 500, 400)
97 for colour, n_evts_in_flight, line_style
in zip(
98 colour_l, n_evts_in_flight_l, line_style_l):
99 print n_evts_in_flight
100 graph =
getSingleGraph(n_evts_in_flight, cloneFlag, runtimes, colour,
106 graph.SetTitle(title)
111 legend = TLegend(.499, .45, .9, .9,
"# Parallel Events")
112 legend.SetTextSize(0.04)
113 legend.SetFillColor(kWhite)
115 for graph, n
in zip(graphs, n_evts_in_flight_l):
116 legend.AddEntry(graph,
"%s" % n)
120 l = TLatex(.13, .16,
"#font[12]{#scale[.8]{24 Threads}}")
124 dummy = raw_input(
"Press enter to save...")
125 canvas.Print(plotname)
def getGraphPoints(n_evts_in_flight, cloneFlag, runtimes)
def make_plot(runtimes, cloneFlag)
def getRuntime(n_algos_in_flight, n_evts_in_flight, cloneFlag)
def getSingleGraph(n_evts_in_flight, cloneFlag, runtimes, colour, style)