aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xassemble_files.py36
1 files changed, 33 insertions, 3 deletions
diff --git a/assemble_files.py b/assemble_files.py
index f4be48f..75c6c07 100755
--- a/assemble_files.py
+++ b/assemble_files.py
@@ -8,6 +8,22 @@ from os.path import splitext, basename
8from glob import glob 8from glob import glob
9from collections import defaultdict 9from collections import defaultdict
10 10
11import optparse
12
13o = optparse.make_option
14
15opts = [
16 o('-s', '--split', action='store_true', dest='split_files',
17 help='split out files into individual per-wss files'),
18 ]
19
20
21defaults = {
22 'split_files' : False,
23 }
24
25options = None
26
11#G-EDF/testpoint_ucap=13.75_wss=1792_dist=exp-10-10-100_deadlines=implicit_host=ludwig_scheduler=G-EDF.csv 27#G-EDF/testpoint_ucap=13.75_wss=1792_dist=exp-10-10-100_deadlines=implicit_host=ludwig_scheduler=G-EDF.csv
12 28
13def key(fname): 29def key(fname):
@@ -22,7 +38,12 @@ def key(fname):
22 dl = 'deadlines=%s' % conf['deadlines'] 38 dl = 'deadlines=%s' % conf['deadlines']
23 h = 'host=%s' % conf['host'] 39 h = 'host=%s' % conf['host']
24 40
25 return '_'.join([d, dl, s, h]) + q 41 if options.split_files:
42 w = '_wss=%s' % conf['wss']
43 else:
44 w = ''
45
46 return '_'.join([d, dl, s, h]) + q + w
26 47
27def assemble_results(dir): 48def assemble_results(dir):
28 files = glob(dir + '/*.csv') 49 files = glob(dir + '/*.csv')
@@ -33,10 +54,15 @@ def assemble_results(dir):
33 k = key(f) 54 k = key(f)
34 parts[k].append(f) 55 parts[k].append(f)
35 56
57 if options.split_files:
58 nametag = 'dwss'
59 else:
60 nametag = 'dall'
61
36 for i, k in enumerate(parts): 62 for i, k in enumerate(parts):
37 comment = 1 63 comment = 1
38 print '[%d/%d] Processing %s' % (i+ 1, len(parts), k) 64 print '[%d/%d] Processing %s' % (i+ 1, len(parts), k)
39 out = open('sched_%s.csv' % k, 'w') 65 out = open('%s_%s.csv' % (nametag, k), 'w')
40 for f in sorted(parts[k]): 66 for f in sorted(parts[k]):
41 for line in open(f): 67 for line in open(f):
42 if line[0] != '#' or comment: 68 if line[0] != '#' or comment:
@@ -48,6 +74,10 @@ def assemble_results(dir):
48 74
49 75
50if __name__ == '__main__': 76if __name__ == '__main__':
51 for d in sys.argv[1:]: 77 parser = optparse.OptionParser(option_list=opts)
78 parser.set_defaults(**defaults)
79 (options, dirs) = parser.parse_args()
80
81 for d in dirs:
52 assemble_results(d) 82 assemble_results(d)
53 83