8H = [ 0.5, 0.2, 0.1, 0.05, 0.02, 0.01, 0.005, 0.002, 0.001 ]
9Flops = [ 1, 100, 10000, 1000000 ]
16 if os.path.exists( filename ):
17 print(
"found " + filename +
" write " + filename +
".filter" )
18 input_file = open(filename,
"r")
19 output_file = open(filename,
"w")
21 if (
"start parallel traversals" in line)
or (
"local unrefined cells" in line)
or "terminated successfully" in line:
22 output_file.write( line )
72 min_serial_time = 65536.0
79 for cores
in range(1,64):
82 if os.path.exists( filename+
".filter" ):
85 elif os.path.exists( filename ):
89 print(
"found " + filename )
93 max_cells = max(cells,max_cells)
94 max_cores = max(cores,max_cores)
96 ydata.append(new_entry)
98 max_serial_time = max(max_serial_time, new_entry/max_cells)
99 min_serial_time = min(min_serial_time, new_entry/max_cells)
105 xdata, ydata_calibrated,
106 label=
"h=" + str(h) +
",#flops/cell=" + str(flops),
107 color=Color[H.index(h)],
108 marker=Flops.index(flops)+4
117 xdata = range(1,max_cores)
119 xdata, [max_serial_time/i
for i
in xdata],
120 "--", color=
"#000000"
123 xdata, [min_serial_time/i
for i
in xdata],
124 "--", color=
"#000000"
128 plt.xlabel(
"cores" )
129 plt.ylabel(
"time/cell [t]=ms" )
130 plt.xscale(
"log", basex=2 )
131 plt.yscale(
"log", basey=2 )
133 xlabels = [
"serial" ]
134 while xtics[-1] < max_cores:
135 xtics.append( xtics[-1]*2 )
136 xlabels.append( str(xtics[-1]) )
137 plt.xticks( xtics, xlabels )
138 plt.title(
"shared memory scaling " + str(d) +
"d" )
139 plt.savefig(
"shared-memory-" + str(d) +
"d.pdf" )
140 plt.savefig(
"shared-memory-" + str(d) +
"d.png" )