def main(): CONTECH_HOME = util.findContechInstall() script = """ #!/bin/csh cd /net/tinker/brailing/contech/scripts ./build{3}.py {0} ./run{3}.py --traceOnly --discardTrace {0} -n 16 -i {2} --time "{1}" ./run{3}.py --traceOnly --discardTrace {0} -n 16 -i {2} --time "{1}" --pinFrontend {4} """ bset = util.Benchmarks.all timeCmd = "perf stat -x, -e L1-dcache-loads,L1-dcache-load-misses,L1-dcache-stores,L1-dcache-store-misses,branches,branch-misses,L1-icache-loads,L1-icache-load-misses,instructions,cycles" #timeCmd = "perf stat -x, -e LLC-loads,LLC-load-misses,LLC-stores,LLC-store-misses,bus-cycles,ref-cycles,stalled-cycles-frontend,stalled-cycles-backend" # for b in util.Benchmarks.nas: # util.quicksub(name="{}_{}".format(b, "perf"), code=script.format(b, timeCmd, "A", "_nas", nativeRunNas(b, 16, "A", time)), resources=["nodes=1:ppn=24,pmem=1gb"], queue="newpasta") # time.sleep(30) for b in bset: util.quicksub(name="{}_{}".format(b, "perf"), code=script.format( b, timeCmd, "simsmall", "_parsec", nativeRunParsec(b, 16, "simmedium", timeCmd)), resources=["nodes=1:ppn=24,pmem=1gb"], queue="newpasta") time.sleep(1)
def launchBackend(backend): CONTECH_HOME = util.findContechInstall() script = """ cd /net/tinker/brailing/contech/scripts ./run{3}.py --cached {0} -n 16 -i {2} --backend {1} """ bset = util.Benchmarks.all for b in util.Benchmarks.nas: util.quicksub(name="{}_{}".format(b, backend), code=script.format(b, backend, "A", "_nas"), resources=["nodes=1:ppn=24"], queue="newpasta") for b in bset: util.quicksub(name="{}_{}".format(b, backend), code=script.format(b, backend, "simmedium", "_parsec"), resources=["nodes=1:ppn=24"], queue="newpasta")
def main(): CONTECH_HOME = util.findContechInstall() script = """ cd /net/tinker/brailing/contech/scripts ./build{3}.py {0} ./run{3}.py --traceOnly --discardTrace {0} -n 16 -i {2} --time "{1}" ./run{3}.py --traceOnly --discardTrace {0} -n 16 -i {2} --time "{1}" --pinFrontend {4} """ bset = util.Benchmarks.all time = "perf stat -x, -e L1-dcache-loads,L1-dcache-load-misses,L1-dcache-stores,L1-dcache-store-misses,branches,branch-misses,L1-icache-loads,L1-icache-load-misses,instructions,cycles" for b in bset: util.quicksub(name="{}_{}".format(b, "perf"), code=script.format(b, time, "simmedium", "_parsec",nativeRunParsec(b, 16, "simmedium", time)), resources=["nodes=1:ppn=24"], queue="newpasta") for b in util.Benchmarks.nas: util.quicksub(name="{}_{}".format(b, "perf"), code=script.format(b, time, "A", "_nas", nativeRunNas(b, 16, "A", time)), resources=["nodes=1:ppn=24"], queue="newpasta")
def statsRun(benchmark, n, input, option): CONTECH_HOME = util.findContechInstall() if os.environ.has_key("CONTECH_OUTDIR"): script = """ cd $CONTECH_HOME/scripts ./run_parsec.py {0} -n {1} -i {2} {3} --backends stats rm -f --verbose $CONTECH_OUTDIR/{0}.contech.trace rm -f --verbose $CONTECH_OUTDIR/{0}.taskgraph; """ else: script = """ cd $CONTECH_HOME/scripts ./run_parsec.py {0} -n {1} -i {2} {3} --backends stats rm -f --verbose /tmp/{0}.contech.trace rm -f --verbose /tmp/{0}.taskgraph; """ options = {"discard": "--discardTrace", "pin" : "--pinFrontend", "contech" : "", "contechmarker" : ""} script = script.format(benchmark, n, input, options[option]) jobName = "{}_{}_{}_{}".format(option, input, n, benchmark) print jobName return util.quicksub(name=jobName, code=script, resources=["nodes=1:ppn=24,pmem=1800mb"], queue="newpasta")
def statsRun(benchmark, n, input, option): CONTECH_HOME = util.findContechInstall() if os.environ.has_key("CONTECH_OUTDIR"): script = """ cd $CONTECH_HOME/scripts ./run_nas.py {0} -n {1} -i {2} {3} --backends stats rm -f --verbose $CONTECH_OUTDIR/{0}.contech.trace rm -f --verbose $CONTECH_OUTDIR/{0}.taskgraph; """ else: script = """ cd $CONTECH_HOME/scripts ./run_nas.py {0} -n {1} -i {2} {3} --backends stats rm -f --verbose /tmp/{0}.contech.trace rm -f --verbose /tmp/{0}.taskgraph; """ options = { "discard": "--discardTrace", "pin": "--pinFrontend", "contech": "", "contechmarker": "" } script = script.format(benchmark, n, input, options[option]) jobName = "{}_{}_{}_{}".format(option, input, n, benchmark) print jobName return util.quicksub(name=jobName, code=script, resources=["nodes=1:ppn=24,pmem=1gb"], queue="newpasta")
def mark(benchmark): CONTECH_HOME = util.findContechInstall() script = """ cd $CONTECH_HOME/scripts ./mark_parsec.py {0} """ script = script.format(benchmark) return util.quicksub(name=("mark_" + benchmark), code=script)
def build(benchmark, bldconf="contech"): CONTECH_HOME = util.findContechInstall() script = """ cd $CONTECH_HOME/scripts ./build_parsec.py {0} --bldconf {1} """ script = script.format(benchmark, bldconf) return util.quicksub(name=("build_" + benchmark), code=script)
def nativeRun(benchmark, n, input): PARSEC_HOME = util.findParsecInstall() script = """ $PARSEC_HOME/bin/parsecmgmt -a run -p {0} -c llvm -n {1} -i {2} -s "/usr/bin/time" """ script = script.format(benchmark, n, input) jobName = "llvm_{}_{}_{}".format(input, n, benchmark) print jobName return util.quicksub(name=jobName, code=script, resources=["nodes=1:ppn=24"], queue="newpasta")
def main(): CONTECH_HOME = util.findContechInstall() script = """ cd /net/tinker/brailing/contech/scripts ./build{3}.py {0} ./run{3}.py --traceOnly {0} -n 16 -i {2} --time "{1}" """ bset = util.Benchmarks.all time = "/usr/bin/time" for b in bset: util.quicksub(name="{}_{}".format(b, "perf"), code=script.format(b, time, "simmedium", "_parsec"), resources=["nodes=1:ppn=24"], queue="newpasta") for b in util.Benchmarks.nas: util.quicksub(name="{}_{}".format(b, "perf"), code=script.format(b, time, "A", "_nas"), resources=["nodes=1:ppn=24"], queue="newpasta")
def main(): CONTECH_HOME = util.findContechInstall() script = """ #!/bin/csh cd /net/tinker/brailing/contech/scripts ./build{3}.py {0} ./run{3}.py --traceOnly --discardTrace {0} -n 16 -i {2} --time "{1}" ./run{3}.py --traceOnly --discardTrace {0} -n 16 -i {2} --time "{1}" --pinFrontend {4} """ bset = util.Benchmarks.all timeCmd = "perf stat -x, -e L1-dcache-loads,L1-dcache-load-misses,L1-dcache-stores,L1-dcache-store-misses,branches,branch-misses,L1-icache-loads,L1-icache-load-misses,instructions,cycles" #timeCmd = "perf stat -x, -e LLC-loads,LLC-load-misses,LLC-stores,LLC-store-misses,bus-cycles,ref-cycles,stalled-cycles-frontend,stalled-cycles-backend" # for b in util.Benchmarks.nas: # util.quicksub(name="{}_{}".format(b, "perf"), code=script.format(b, timeCmd, "A", "_nas", nativeRunNas(b, 16, "A", time)), resources=["nodes=1:ppn=24,pmem=1gb"], queue="newpasta") # time.sleep(30) for b in bset: util.quicksub(name="{}_{}".format(b, "perf"), code=script.format(b, timeCmd, "simsmall", "_parsec",nativeRunParsec(b, 16, "simmedium", timeCmd)), resources=["nodes=1:ppn=24,pmem=1gb"], queue="newpasta") time.sleep(1)
def main(): CONTECH_HOME = util.findContechInstall() script = """ cd /net/tinker/brailing/contech/scripts ./build{3}.py {0} ./run{3}.py --traceOnly {0} -n 16 -i {2} --time "{1}" """ bset = util.Benchmarks.all time = "/usr/bin/time" for b in bset: util.quicksub( name="{}_{}".format(b, "perf"), code=script.format(b, time, "simmedium", "_parsec"), resources=["nodes=1:ppn=24"], queue="newpasta", ) for b in util.Benchmarks.nas: util.quicksub( name="{}_{}".format(b, "perf"), code=script.format(b, time, "A", "_nas"), resources=["nodes=1:ppn=24"], queue="newpasta", )
def nativeRun(benchmark, n, input): PARSEC_HOME = util.findParsecInstall() script = """ mkdir /tmp/$USER cp $NAS_HOME/bin-llvm/{0}.{2}.x /tmp/$USER cd /tmp/$USER setenv OMP_NUM_THREADS {1} /usr/bin/time /tmp/$USER/{0}.{2}.x cd - rm -f /tmp/$USER/* """ script = script.format(benchmark, n, input) jobName = "llvm_{}_{}_{}".format(input, n, benchmark) print jobName return util.quicksub(name=jobName, code=script, resources=["nodes=1:ppn=24"], queue="newpasta")
def compilationTimeCompare(benchmark): CONTECH_HOME = util.findContechInstall() script = """ cd $CONTECH_HOME/scripts """ test = """ # {0} ./build_parsec.py {0} --bldconf llvm | {1} ./build_parsec.py {0} --bldconf contech | {2} """ label = "sed s/'Build'/'{0}'/ " script += test.format(benchmark, label.format(benchmark+"-llvm"), label.format(benchmark+"-contech")) # print script return util.quicksub(name="timed_compilation_{}".format(benchmark), code=script, resources=["nodes=1:ppn=1,pmem=1gb"], queue="newpasta")
def compilationTimeCompare(benchmark, input): CONTECH_HOME = util.findContechInstall() script = """ cd $CONTECH_HOME/scripts """ test = """ # {0} ./build_nas.py {0} -i {3} -c llvm | {1} ./build_nas.py {0} -i {3} -c contech | {2} """ label = "sed s/'Build'/'{0}'/ " script += test.format(benchmark, label.format(benchmark+"-llvm"), label.format(benchmark+"-contech"), input) # print script return util.quicksub(name="timed_compilation_{}".format(benchmark), code=script, queue="newpasta")
def nativeRun(benchmark, n, input): PARSEC_HOME = util.findParsecInstall() script = """ mkdir /tmp/$USER cp $NAS_HOME/bin-llvm/{0}.{2}.x /tmp/$USER cd /tmp/$USER setenv OMP_NUM_THREADS {1} /usr/bin/time /tmp/$USER/{0}.{2}.x cd - rm -f /tmp/$USER/* """ script = script.format(benchmark, n, input) jobName = "llvm_{}_{}_{}".format(input, n, benchmark) print jobName return util.quicksub(name=jobName, code=script, resources=["nodes=1:ppn=24,pmem=1gb"], queue="newpasta")
def compilationTimeCompare(benchmark, input): CONTECH_HOME = util.findContechInstall() script = """ cd $CONTECH_HOME/scripts """ test = """ # {0} ./build_nas.py {0} -i {3} -c llvm | {1} ./build_nas.py {0} -i {3} -c contech | {2} """ label = "sed s/'Build'/'{0}'/ " script += test.format(benchmark, label.format(benchmark + "-llvm"), label.format(benchmark + "-contech"), input) # print script return util.quicksub(name="timed_compilation_{}".format(benchmark), code=script, queue="newpasta")
def compilationTimeCompare(benchmark): CONTECH_HOME = util.findContechInstall() script = """ cd $CONTECH_HOME/scripts """ test = """ # {0} ./build_parsec.py {0} --bldconf llvm | {1} ./build_parsec.py {0} --bldconf contech | {2} """ label = "sed s/'Build'/'{0}'/ " script += test.format(benchmark, label.format(benchmark + "-llvm"), label.format(benchmark + "-contech")) # print script return util.quicksub(name="timed_compilation_{}".format(benchmark), code=script, resources=["nodes=1:ppn=1,pmem=1gb"], queue="newpasta")
def compilationTimeCompare(benchmarks): CONTECH_HOME = util.findContechInstall() script = """ cd $CONTECH_HOME/scripts """ # extract = """grep "Build finished in" | sed s/'Build finished in'/{{\"{0}\":/ | sed s/seconds/}}/""" label = "sed s/'Build'/'{0}'/ " for benchmark in benchmarks: test = """ # {0} ./build_parsec.py {0} --bldconf llvm | {1} ./build_parsec.py {0} --bldconf contech | {2} """ script += test.format(benchmark, label.format(benchmark+"-llvm"), label.format(benchmark+"-contech")) # print script return util.quicksub(name=("timed_compilation"), code=script)
def compilationTimeCompare(benchmarks): CONTECH_HOME = util.findContechInstall() script = """ cd $CONTECH_HOME/scripts """ # extract = """grep "Build finished in" | sed s/'Build finished in'/{{\"{0}\":/ | sed s/seconds/}}/""" label = "sed s/'Build'/'{0}'/ " for benchmark in benchmarks: test = """ # {0} ./build_parsec.py {0} --bldconf llvm | {1} ./build_parsec.py {0} --bldconf contech | {2} """ script += test.format(benchmark, label.format(benchmark + "-llvm"), label.format(benchmark + "-contech")) # print script return util.quicksub(name=("timed_compilation"), code=script)