|
@@ -13,7 +13,7 @@
|
|
|
import sys
|
|
|
import os
|
|
|
from application import application
|
|
|
-
|
|
|
+from energy_parser import *
|
|
|
import signal
|
|
|
import subprocess
|
|
|
|
|
@@ -22,8 +22,8 @@ from transformer import transformer
|
|
|
import ConfigParser
|
|
|
from application.code_block import Code_block
|
|
|
|
|
|
-if (len(sys.argv) < 2):
|
|
|
- print "Usage: python run_dataset.py <hotspot_name>"
|
|
|
+if (len(sys.argv) < 3):
|
|
|
+ print "Usage: python run_dataset.py <hotspot_name> <energy|time>"
|
|
|
exit()
|
|
|
|
|
|
#os.system("rm ./temp/*")
|
|
@@ -42,16 +42,20 @@ print "=========================================================================
|
|
|
stmts = [Code_block("../"+configParser.get(sys.argv[1], 'source'), " ", configParser.get(sys.argv[1], 'line_start'), configParser.get(sys.argv[1], 'line_end'))]
|
|
|
|
|
|
#insert code to measure execution time or energy
|
|
|
-#set energy for collecting energy on Nvidia Tegra TX1
|
|
|
-transformed_hotspot = transformer.Transformer(stmts[0], "time")
|
|
|
+transformed_hotspot = transformer.Transformer(stmts[0], sys.argv[2])
|
|
|
transformed_hotspot.prepare([],[])
|
|
|
|
|
|
#re-build program
|
|
|
os.system("cd ../ && "+configParser.get(sys.argv[1], 'build'))
|
|
|
|
|
|
+if sys.argv[2]=="energy":
|
|
|
+ pro = subprocess.Popen("./get-power.sh")
|
|
|
#execute program
|
|
|
os.system("cd ../ && "+configParser.get(sys.argv[1], 'exec'))
|
|
|
|
|
|
+if sys.argv[2]=="energy":
|
|
|
+ pro.kill()
|
|
|
#restore source file
|
|
|
transformed_hotspot.restore()
|
|
|
-
|
|
|
+if sys.argv[2]=="energy":
|
|
|
+ energy_results()
|