X-Git-Url: http://plrg.eecs.uci.edu/git/?p=satune.git;a=blobdiff_plain;f=src%2Fautotunerparser.py;fp=src%2Fautotunerparser.py;h=0000000000000000000000000000000000000000;hp=1632f4bd40f0f794cab09f6e9bb75b0862a7e68e;hb=38c275a74e1bd8fb93a43293aaed664acc9a8b03;hpb=8fed13e71e8ce1734d54398c34fd382452befc60 diff --git a/src/autotunerparser.py b/src/autotunerparser.py deleted file mode 100644 index 1632f4b..0000000 --- a/src/autotunerparser.py +++ /dev/null @@ -1,83 +0,0 @@ -import re -import argparse -import sys - - -class AutoTunerArgParser: - def __init__(self): - self.parser = argparse.ArgumentParser(description='Parsing the output log of the CSolver auto tuner ...') - self.parser.add_argument('--file', '-f', metavar='out.log', type=str, nargs=1,help='output log of running the autotuner ...') - self.args = self.parser.parse_args() - - def getFileName(self): - return self.args.file[0] - -configs = {"EXECTIME": "-", - "SATTIME":"-", - "TESTCASE":"-", - "PREPROCESS" : "-", - "ELEMENTOPT" : "-", - "ELEMENTOPTSETS" : "-", - "PROXYVARIABLE" : "-", - "#SubGraph" : "-", - "NODEENCODING" : "-", - "EDGEENCODING" : "-", - "NAIVEENCODER" :"-", - "ENCODINGGRAPHOPT" : "-" - } - -REGEXES = {"EXECTIME": "CSOLVER solve time: (.*)", - "SATTIME":"SAT Solving time: (.*)", - "TESTCASE": "deserializing (.+) ...", - "PREPROCESS" : "Param PREPROCESS = (.*)range=\[0,1\]", - "ELEMENTOPT" : "Param ELEMENTOPT = (.*)range=\[0,1\]", - "ELEMENTOPTSETS" : "Param ELEMENTOPTSETS = (.*)range=\[0,1\]", - "PROXYVARIABLE" : "Param PROXYVARIABLE = (.*)range=\[1,5\]", - "#SubGraph" : "#SubGraph = (.*)", - "NODEENCODING" : "Param NODEENCODING = (.*)range=\[0,3\](.*)", - "EDGEENCODING" : "Param EDGEENCODING = (.*)range=\[0,2\](.*)", - "NAIVEENCODER" : "Param NAIVEENCODER = (.*)range=\[1,3\](.*)", - "ENCODINGGRAPHOPT" : "Param ENCODINGGRAPHOPT = (.*)range=\[0,1\]" - } - -def printHeader(file): - global configs - mystr="" - for config in configs: - mystr+=str(config)+"," - print >>file, mystr - -def printConfig(file, data): - print data - mystr="" - for config in data: - mystr+=str(data[config])+"," - print >> file, mystr - -def main(): - global configs - argprocess = AutoTunerArgParser() - output = open("tuner.csv", "w") - printHeader(output) - with open(argprocess.getFileName()) as file: - for line in file: - if line.startswith("Mutating"): - printConfig(output,configs) - elif line.startswith("Best tuner"): - printConfig(output,configs); - else : - for regex in REGEXES: - p = re.compile(REGEXES[regex]) - token = p.search(line) - if token is not None: - if regex == "TESTCASE": - configs[regex] = re.search(REGEXES[regex], line).group(1) - else: - configs[regex] = re.findall("\d+\.?\d*", line)[0] - - configs["EXECTIME"] = "BEST TUNE:" - printConfig(output, configs) - print "Done with parsing " + argprocess.getFileName() - -if __name__ == "__main__": - main()