diff --git a/gmsh/analyze_gmsh_output.py b/gmsh/analyze_gmsh_output.py index e02daae..12f6183 100644 --- a/gmsh/analyze_gmsh_output.py +++ b/gmsh/analyze_gmsh_output.py @@ -11,10 +11,10 @@ orders = [2,3,4,5] extras = [4,6,8,12, 16,20,32,48, 64,96,128,192, 256] params = ( - (2,32), - (3,48), + (2,64), + (3,64), (4,64), - (5,96), + (5,64), ) if __name__ == '__main__': diff --git a/plots/analyze.py b/plots/analyze.py new file mode 100644 index 0000000..74e716c --- /dev/null +++ b/plots/analyze.py @@ -0,0 +1,25 @@ +import sys +import shelve + + +s = shelve.open(sys.argv[1]) +d = dict(s) +s.close() + +# {'count': 10000, 'extra': 256, 'receive': 1148.0290439128876, 'submit': 4.298105001449585, 'participants': 1, 'order': 5} +# 'tasks': defaultdict(, {'m5-2-1.local-31671': 10000}), + +for line in (i[1] for i in sorted(d.iteritems(), key = lambda x: x[1]['stats']['participants'])): + run = line['stats'] + + velocity = run['count'] / run['receive'] + + # print run['participants'], run['count'] / run['receive'] + # inverse + # print run['participants'], run['receive'] / run['count'] + + # speedup: + S_p = run['receive']/run['count'] / 1148.02904 + + print run['participants'], velocity, S_p + diff --git a/plots/resolution.3D.gmsh.out b/plots/resolution.3D.gmsh.out index 23e2cdd..af2637c 100644 --- a/plots/resolution.3D.gmsh.out +++ b/plots/resolution.3D.gmsh.out @@ -1,3 +1,3 @@ -0.0454730588061 0.000214779089741 7.38934716129e-05 1.41791618738e-05 3.86414745401e-06 -0.00997060697355 1.77866400479e-06 1.42892679232e-07 1.01412678674e-08 6.64644538372e-10 -0.00461278449044 1.76222798245e-07 1.43900476376e-08 3.24157996636e-10 9.90535684124e-12 +0.0454730588061 0.000270108596188 8.53500404066e-05 1.41791618738e-05 4.9979436523e-06 +0.00997060697355 2.0540042226e-06 1.69775361716e-07 1.01412678674e-08 8.0860277895e-10 +0.00461278449044 2.18695319382e-07 1.52441703341e-08 3.24157996636e-10 2.18935788738e-11 diff --git a/plots/scalability_histograms.py b/plots/scalability_histograms.py new file mode 100644 index 0000000..92cbc45 --- /dev/null +++ b/plots/scalability_histograms.py @@ -0,0 +1,35 @@ +import sys +import shelve +import pickle + +import numpy as np +import matplotlib +matplotlib.use('Agg') +import matplotlib.pyplot as plt + +if len(sys.argv) != 2: + print "usage: %s " % sys.argv[0] + sys.exit(1) + + +s = shelve.open(sys.argv[1]) +d = dict(s) +s.close() + +c = 0 +for line in (i[1] for i in sorted(d.iteritems(), key = lambda x: x[1]['stats']['participants'])): + c += 1 + run = line['stats'] + x = np.array(run['tasks'].values()) + + # the histogram of the data + plt.figure(c) + + plt.title("Histogram of Interpolation Performance") + plt.xlabel("Number of Interpolations Performed") + plt.ylabel("Number of minions") + + n, bins, patches = plt.hist(x) # , 50, normed=1, facecolor='green', alpha=0.5) + plt.grid(True) + output_file_name = 'asdf.%0.3d.%d.png' % (run['participants'], str(run['count']).count("0")) + plt.savefig(output_file_name) diff --git a/plots/scale.out b/plots/scale.out new file mode 100644 index 0000000..b828707 --- /dev/null +++ b/plots/scale.out @@ -0,0 +1,17 @@ +1 8.71058101972 0.000100000000341 +2 16.9174102062 5.14888564103e-05 +4 33.8342624632 2.57448527477e-05 +5 41.369278595 2.10556754801e-05 +8 70.8631618899 1.22921145728e-05 +11 95.1311787574 9.15638927551e-06 +16 140.277826152 6.20952098301e-06 +22 188.945066816 4.6101129795e-06 +32 275.671657764 3.15976662965e-06 +45 387.071286152 2.25038161213e-06 +64 550.492432027 1.58232530415e-06 +90 774.640026224 1.12446823744e-06 +128 1097.65200754 7.93564899404e-07 +181 1422.36034327 6.12403255659e-07 +196 1500.92599599 5.80347137214e-07 +224 1182.63366931 7.36540931943e-07 +256 1311.56362765 6.64137131117e-07 diff --git a/plots/scale.plt b/plots/scale.plt new file mode 100644 index 0000000..7bc5198 --- /dev/null +++ b/plots/scale.plt @@ -0,0 +1,11 @@ +set terminal postscript enhanced + +# set nokey + +# set log xy + +set xlabel "Number of Participating Minions" +set ylabel "Interpolation Throughput" + +plot 'scale.out' u 1:2 w lp t 'velocity'\ + # ,'' u 1:3 w lp t 'Speedup'