diff options
| author | Tor Aamodt <[email protected]> | 2010-10-01 08:55:28 -0800 |
|---|---|---|
| committer | Tor Aamodt <[email protected]> | 2010-10-01 08:55:28 -0800 |
| commit | 11b308e7363e937966b035b4891db32b4eece3bf (patch) | |
| tree | 50ca4c9ad6f163ac4acb2bf505e64dfebed66947 /benchmarks/CUDA/MUM/make_figures.py | |
| parent | bb820c116764d7a1b8e071137d32b74e7f34dd2f (diff) | |
integrating recent changes from fermi-test into fermi
(i'll use "fermi" for more disruptive changes to the pipeline model such
as updating the MSHRs and getting rid of the warp tracker, ripping out DWF, etc...)
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 7805]
Diffstat (limited to 'benchmarks/CUDA/MUM/make_figures.py')
| -rw-r--r-- | benchmarks/CUDA/MUM/make_figures.py | 171 |
1 files changed, 0 insertions, 171 deletions
diff --git a/benchmarks/CUDA/MUM/make_figures.py b/benchmarks/CUDA/MUM/make_figures.py deleted file mode 100644 index efc0f33..0000000 --- a/benchmarks/CUDA/MUM/make_figures.py +++ /dev/null @@ -1,171 +0,0 @@ -#!/fs/sz-user-supported/Linux-i686/bin/python2.5 -import matplotlib -matplotlib.use('PS') - -import pylab -import csv - -def get_stats(filename): - stats = {} - statfile = open(filename) - stats = dict([(key, float(value)) for (key, value) in csv.reader(statfile)]) - return stats - -from pylab import arange,pi,sin,cos,sqrt - -def set_figure_props(): - fig_width_pt = 225.0 # Get this from LaTeX using \showthe\columnwidth - inches_per_pt = 1.0/72.27 # Convert pt to inch - golden_mean = (sqrt(5)-1.0)/2.0 # Aesthetic ratio - fig_width = fig_width_pt*inches_per_pt # width in inches - fig_height = 1.5*fig_width*golden_mean # height in inches - fig_size = [fig_width,fig_height] - params = {'backend': 'ps', - 'axes.labelsize': 8, - 'axes.linewidth': 0.5, - 'text.fontsize': 8, - 'xtick.labelsize': 7, - 'ytick.labelsize': 7, - 'legend.fontsize': 7, - 'legend.linewidth':0.5, - 'title.fontsize' : 8, - 'text.usetex': True, - 'figure.figsize': fig_size} - pylab.rcParams.update(params) - -def draw_speedup_figures(outfile, fig_title): - query_lens = [] - app_speedups = [] - kernel_speedups = [] - f = open(outfile) - headers = f.next() - headers = headers.strip() - headers = headers.split(',') - - query_col = headers.index("QUERY") - kernel_col = headers.index("KERNEL_SPEEDUP") - mummer_speed_col = headers.index("MUMMER_SPEEDUP") - - for vals in csv.reader(f, 'excel', delimiter=' '): - query_lens.append(int(vals[query_col])) - app_speedups.append(float(vals[mummer_speed_col])) - kernel_speedups.append(float(vals[kernel_col])) - - draw_speedup_fig(query_lens, - kernel_speedups, - fig_title, - outfile + ".kernel_speedup.eps") - -def draw_speedup_fig(x, y, fig_title, filename): - set_figure_props() - ax = pylab.subplot(111) - - pylab.semilogx(x, y, linestyle=':', marker='v', basex=2) - - pylab.xticks(x) - frm = pylab.FormatStrFormatter("%d") - ax.xaxis.set_major_formatter(frm) - - ax.xaxis.grid(True, which="minor") - pylab.xlabel("Query length (bp - log scale)") - pylab.ylabel("Speedup") - pylab.title(fig_title, fontsize=9) - - pylab.savefig(filename) - pylab.close() - -def make_time_breakout(): - statfiles = ["cbriggsae/cleanreads.fna-100.gpustats", - "lmonocytogenes/cleanreads.fna-20.gpustats", - "s_suis/cleanreads.fna-20.gpustats" - ] - - labels = [ "\emph{C. briggsae}", - "\emph{L. monocytogenes}", - "\emph{S. suis} " - ] - - stats = {} - convert_to_seconds = ["Total", - "Kernel", - "Print matches", - "Copy queries to GPU", - "Copy output from GPU", - "Copy suffix tree to GPU", - "Read queries from disk", - "Suffix tree constructions"] - - for f in statfiles: - f_stats = get_stats(f) - for (key, value) in f_stats.iteritems(): - - if key in convert_to_seconds: - val = value / 1000.0 #float( value/f_stats["TOTAL"] - else: - val = int(value) - if key in stats: - stats[key].append(val) - else: - stats[key] = [val] - - ind = arange(0,3.6,1.2 ) # the x locations for the groups - - width = 0.35 # the width of the bars: can also be len(x) sequence - - i = 0 -## colors = [ "#e31a1c", -## "#377db8", -## "#4daf4a", -## "#984ea3", -## "#ffff33", -## "#ff7f00"] - - colors = [ "#FF4500", - "#1E90FF", - "#90EE90", - "#FFD700", - "#DA70D6", - "#D2B48C"] - - set_figure_props() - pylab.subplot(111) - transfer = [] - for j in range(0, len(statfiles)): - transfer.append( stats["Copy suffix tree to GPU"][j] + stats["Copy output from GPU"][j] + stats["Copy queries to GPU"][j]) - - stats["Data transfer to GPU"] = transfer - - del stats["Copy suffix tree to GPU"] - del stats["Copy output from GPU"] - del stats["Copy queries to GPU"] - - del stats["Total"] - - lengths = stats["Minimum substring length"] - - del stats["Minimum substring length"] - del stats["Average query length"] - - - plots = [] - running_totals = [0 for j in range(0,len(statfiles))] - for (category, series) in stats.iteritems(): - plots.append(pylab.bar(ind, series, width, color=colors[i], bottom=running_totals)) - running_totals = [running_totals[j] + series[j] for j in range(0, len(series))] - i += 1 - - #pylab.xticks(ind+width/2., labels ) - pylab.xticks(ind +width/2., labels ) - - - pylab.title("Time spent by phase in MUMmerGPU", fontsize=9) - pylab.ylabel("time (s)") - pylab.xlim(-width,len(ind)) - pylab.ylim(0, 600) - pylab.legend( [p[0] for p in reversed(plots)], [key for key in reversed(stats.keys())] ) - - pylab.savefig('time_breakout.eps') - pylab.close() - -make_time_breakout() -draw_speedup_figures("anthrax/speedup.out", "Kernel speedup, GPU vs. CPU") |
