Added hook to check for SMT workloads. SMT is identified by adding a semicolon between
authorKorey Sewell <ksewell@umich.edu>
Mon, 3 Jul 2006 05:10:19 +0000 (01:10 -0400)
committerKorey Sewell <ksewell@umich.edu>
Mon, 3 Jul 2006 05:10:19 +0000 (01:10 -0400)
the workloads.

Now SMT on the O3CPU can be invoked by "/ALPHA_SE/m5.debug ../configs/test/test.py -d --cmd="hello;hello" -i="file1;file2"

I think I am a novice python magician now!!!!....

configs/test/test.py:
    Added hook to check for SMT workloads. SMT is identified by adding a semicolon between
    the workloads.

    Now SMT on the O3CPU can be invoked by "/ALPHA_SE/m5.debug ../configs/test/test.py -d --cmd="hello;hello" --input="file1;file2"
    (btw, We are back to working for this double hello world case)

    I am a novice python magician now!!!!....

--HG--
extra : convert_revision : b55e10dce33f5a9dc4c78f90409ec0912bad4292

configs/test/test.py

index 3095cd1d12512e02677c6eb7b5ca877816668ddb..625304a08a85af01116a79422c487a00784a2b9e 100644 (file)
@@ -51,6 +51,25 @@ if options.timing and options.detailed:
 if options.timing:
     cpu = TimingSimpleCPU()
 elif options.detailed:
+    #check for SMT workload
+    workloads = options.cmd.split(';')
+    if len(workloads) > 1:
+        process = []
+        smt_idx = 0
+        inputs = []
+
+        if options.input != "":
+            inputs = options.input.split(';')
+
+        for wrkld in workloads:
+            smt_process = LiveProcess()
+            smt_process.executable = os.path.join(this_dir, wrkld)
+            smt_process.cmd = wrkld + " " + options.options
+            if inputs and inputs[smt_idx]:
+                smt_process.input = inputs[smt_idx]
+            process += [smt_process, ]
+            smt_idx += 1
+
     cpu = DetailedO3CPU()
 else:
     cpu = AtomicSimpleCPU()