Parallel Programming - Stuff happened
[matches/honours.git] / course / semester2 / pprog / assignment1 / get_data.py
index 8ef8241..04ad2be 100755 (executable)
@@ -12,10 +12,13 @@ import Gnuplot, Gnuplot.funcutils
 plot = Gnuplot.Gnuplot(persist=0)
 
 programs = {
-       "single-thread" : "./single-thread/nbody -g -v 5"
+       "single-thread" : "./single-thread/nbody -v 5"
 }
-for n in range(1, 5):
-       programs.update({"mthread"+str(n) : "./mthread/nbody -g -v 5 -n "+str(n)})
+for n in range(2, 6):
+       programs.update({"mthread"+str(n) : "./mthread/nbody -v 5 --pedantic-graphics -n "+str(n)})
+       programs.update({"mthread"+str(n) : "./mthread/nbody -v 5 -n "+str(n)})
+       #programs.update({"slow-mthread"+str(n) : "./mthread/nbody-slow --pedantic-graphics -v 5 -n "+str(n)})
+       #programs.update({"openmp"+str(n) : "./openmp/nbody -v 5 --pedantic-graphics -n " +str(n)})
 
 
 
@@ -29,8 +32,8 @@ def RunProgram(string):
 
 def RunForSteps(program, field, steps):
        results = []
-       #print(str(program) + " -s "+str(steps) + " " + str(field))
-       results.append(RunProgram(str(program) + " -s "+str(steps) + " " + str(field)))
+       print(str(program) + " -s "+str(steps) + " " + str(field))
+       results = RunProgram(str(program) + " -s "+str(steps) + " " + str(field))
        return results
 
 def VaryField(program, steps, fields):
@@ -56,12 +59,18 @@ def main(argv):
        fields = map(int, os.listdir("fields"))
        fields.sort(key = lambda e : e)
        
+       ignore = [10, 100]
        for n in fields:
+               if n in ignore:
+                       continue
                for p in data.keys():
-                       data[p] = [RunForSteps(programs[p], "fields/"+str(n), 200), n]
+                       data[p] = RunForSteps(programs[p], "fields/"+str(n), 200)
                        #print(str(data[p]))
-                       if (len(data[p]) > 0):
-                               plot.replot(Gnuplot.Data(data[p][0], title=str(p)+":"+str(n), with_="lp linecolor "+str(fields.index(n))))
+
+               #print(str(data.items()));
+               for d in sorted(data.items(), key = lambda e : e[1][len(e[1])-1][1]):
+                       if (len(d[1]) > 0):
+                               plot.replot(Gnuplot.Data(d[1], title=str(d[0])+":"+str(n), with_="lp")) #linecolor "+str(fields.index(n))))
 
        #print(str(data.items()))
        # Score the programs

UCC git Repository :: git.ucc.asn.au