예제 #1
0
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)
예제 #2
0
파일: batch.py 프로젝트: ElPetros/contech
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")
예제 #3
0
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") 
예제 #4
0
파일: regress.py 프로젝트: ElPetros/contech
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")
예제 #5
0
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")
예제 #6
0
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")
예제 #7
0
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)
예제 #8
0
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)
예제 #9
0
파일: batch.py 프로젝트: ElPetros/contech
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)
예제 #10
0
파일: batch.py 프로젝트: ElPetros/contech
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")
예제 #11
0
파일: batch.py 프로젝트: ElPetros/contech
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)
예제 #12
0
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")
예제 #13
0
파일: perf.py 프로젝트: ElPetros/contech
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)
예제 #14
0
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")
예제 #15
0
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",
        )
예제 #16
0
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")
예제 #17
0
파일: regress.py 프로젝트: ElPetros/contech
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")
예제 #18
0
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")
예제 #19
0
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")
예제 #20
0
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")
예제 #21
0
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")
예제 #22
0
파일: batch.py 프로젝트: ElPetros/contech
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)
예제 #23
0
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)