cpu2000.py revision 4555
14116Sgblack@eecs.umich.edu# Copyright (c) 2006-2007 The Regents of The University of Michigan
23671Sbinkertn@umich.edu# All rights reserved.
33671Sbinkertn@umich.edu#
43671Sbinkertn@umich.edu# Redistribution and use in source and binary forms, with or without
53671Sbinkertn@umich.edu# modification, are permitted provided that the following conditions are
63671Sbinkertn@umich.edu# met: redistributions of source code must retain the above copyright
73671Sbinkertn@umich.edu# notice, this list of conditions and the following disclaimer;
83671Sbinkertn@umich.edu# redistributions in binary form must reproduce the above copyright
93671Sbinkertn@umich.edu# notice, this list of conditions and the following disclaimer in the
103671Sbinkertn@umich.edu# documentation and/or other materials provided with the distribution;
113671Sbinkertn@umich.edu# neither the name of the copyright holders nor the names of its
123671Sbinkertn@umich.edu# contributors may be used to endorse or promote products derived from
133671Sbinkertn@umich.edu# this software without specific prior written permission.
143671Sbinkertn@umich.edu#
153671Sbinkertn@umich.edu# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
163671Sbinkertn@umich.edu# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
173671Sbinkertn@umich.edu# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
183671Sbinkertn@umich.edu# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
193671Sbinkertn@umich.edu# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
203671Sbinkertn@umich.edu# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
213671Sbinkertn@umich.edu# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
223671Sbinkertn@umich.edu# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
233671Sbinkertn@umich.edu# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
243671Sbinkertn@umich.edu# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
253671Sbinkertn@umich.edu# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
263671Sbinkertn@umich.edu#
273671Sbinkertn@umich.edu# Authors: Nathan Binkert
283671Sbinkertn@umich.edu
293671Sbinkertn@umich.eduimport os
303671Sbinkertn@umich.eduimport sys
313671Sbinkertn@umich.edufrom os.path import basename, exists, join as joinpath, normpath
323671Sbinkertn@umich.edufrom os.path import isdir, isfile, islink
333671Sbinkertn@umich.edu
343671Sbinkertn@umich.eduspec_dist = '/dist/m5/cpu2000'
353671Sbinkertn@umich.edu
363671Sbinkertn@umich.edudef copyfiles(srcdir, dstdir):
373671Sbinkertn@umich.edu    from filecmp import cmp as filecmp
383671Sbinkertn@umich.edu    from shutil import copyfile
393671Sbinkertn@umich.edu
403671Sbinkertn@umich.edu    srcdir = normpath(srcdir)
413671Sbinkertn@umich.edu    dstdir = normpath(dstdir)
423671Sbinkertn@umich.edu
433671Sbinkertn@umich.edu    if not isdir(dstdir):
443671Sbinkertn@umich.edu        os.mkdir(dstdir)
453671Sbinkertn@umich.edu
463671Sbinkertn@umich.edu    for root, dirs, files in os.walk(srcdir):
473671Sbinkertn@umich.edu        root = normpath(root)
483671Sbinkertn@umich.edu        prefix = os.path.commonprefix([root, srcdir])
493671Sbinkertn@umich.edu
503671Sbinkertn@umich.edu        root = root[len(prefix):]
513671Sbinkertn@umich.edu        if root.startswith('/'):
523671Sbinkertn@umich.edu            root = root[1:]
533671Sbinkertn@umich.edu
543671Sbinkertn@umich.edu        for entry in dirs:
553671Sbinkertn@umich.edu            newdir = joinpath(dstdir, root, entry)
563671Sbinkertn@umich.edu            if not isdir(newdir):
573671Sbinkertn@umich.edu                os.mkdir(newdir)
583671Sbinkertn@umich.edu
593671Sbinkertn@umich.edu        for entry in files:
603671Sbinkertn@umich.edu            dest = normpath(joinpath(dstdir, root, entry))
613671Sbinkertn@umich.edu            src = normpath(joinpath(srcdir, root, entry))
623671Sbinkertn@umich.edu            if not isfile(dest) or not filecmp(src, dest):
633671Sbinkertn@umich.edu                copyfile(src, dest)
643671Sbinkertn@umich.edu
653671Sbinkertn@umich.edu    # some of the spec benchmarks expect to be run from one directory up.
663671Sbinkertn@umich.edu    # just create some symlinks that solve the problem
673671Sbinkertn@umich.edu    inlink = joinpath(dstdir, 'input')
683671Sbinkertn@umich.edu    outlink = joinpath(dstdir, 'output')
693671Sbinkertn@umich.edu    if not exists(inlink):
703671Sbinkertn@umich.edu        os.symlink('.', inlink)
713671Sbinkertn@umich.edu    if not exists(outlink):
723671Sbinkertn@umich.edu        os.symlink('.', outlink)
733671Sbinkertn@umich.edu
743671Sbinkertn@umich.educlass Benchmark(object):
753671Sbinkertn@umich.edu    def __init__(self, isa, os, input_set):
763671Sbinkertn@umich.edu        if not hasattr(self.__class__, 'name'):
773671Sbinkertn@umich.edu            self.name = self.__class__.__name__
783671Sbinkertn@umich.edu
793671Sbinkertn@umich.edu        if not hasattr(self.__class__, 'binary'):
803671Sbinkertn@umich.edu            self.binary = self.name
813671Sbinkertn@umich.edu
823671Sbinkertn@umich.edu        if not hasattr(self.__class__, 'args'):
833671Sbinkertn@umich.edu            self.args = []
843671Sbinkertn@umich.edu
853671Sbinkertn@umich.edu        if not hasattr(self.__class__, 'output'):
863671Sbinkertn@umich.edu            self.output = '%s.out' % self.name
873671Sbinkertn@umich.edu
883671Sbinkertn@umich.edu        try:
893671Sbinkertn@umich.edu            func = getattr(self.__class__, input_set)
903671Sbinkertn@umich.edu        except AttributeError:
913671Sbinkertn@umich.edu            raise AttributeError, \
923671Sbinkertn@umich.edu                  'The benchmark %s does not have the %s input set' % \
933671Sbinkertn@umich.edu                  (self.name, input_set)
943671Sbinkertn@umich.edu
953671Sbinkertn@umich.edu        executable = joinpath(spec_dist, 'binaries', isa, os, self.binary)
963671Sbinkertn@umich.edu        if not isfile(executable):
973671Sbinkertn@umich.edu            raise AttributeError, '%s not found' % executable
983671Sbinkertn@umich.edu        self.executable = executable
993671Sbinkertn@umich.edu
1003671Sbinkertn@umich.edu        # root of tree for input & output data files
1013671Sbinkertn@umich.edu        data_dir = joinpath(spec_dist, 'data', self.name)
1023671Sbinkertn@umich.edu        # optional subtree with files shared across input sets
1033671Sbinkertn@umich.edu        all_dir = joinpath(data_dir, 'all')
1043671Sbinkertn@umich.edu        # dirs for input & output files for this input set
1053671Sbinkertn@umich.edu        inputs_dir = joinpath(data_dir, input_set, 'input')
1063671Sbinkertn@umich.edu        outputs_dir = joinpath(data_dir, input_set, 'output')
1074116Sgblack@eecs.umich.edu        # keep around which input set was specified
1084116Sgblack@eecs.umich.edu        self.input_set = input_set
1093671Sbinkertn@umich.edu
1103671Sbinkertn@umich.edu        if not isdir(inputs_dir):
1113671Sbinkertn@umich.edu            raise AttributeError, '%s not found' % inputs_dir
1123671Sbinkertn@umich.edu
1133671Sbinkertn@umich.edu        self.inputs_dir = [ inputs_dir ]
1143671Sbinkertn@umich.edu        if isdir(all_dir):
1153671Sbinkertn@umich.edu            self.inputs_dir += [ joinpath(all_dir, 'input') ]
1163671Sbinkertn@umich.edu        if isdir(outputs_dir):
1173671Sbinkertn@umich.edu            self.outputs_dir = outputs_dir
1183671Sbinkertn@umich.edu
1193671Sbinkertn@umich.edu        if not hasattr(self.__class__, 'stdin'):
1203671Sbinkertn@umich.edu            self.stdin = joinpath(inputs_dir, '%s.in' % self.name)
1213671Sbinkertn@umich.edu            if not isfile(self.stdin):
1223671Sbinkertn@umich.edu                self.stdin = None
1233671Sbinkertn@umich.edu
1243671Sbinkertn@umich.edu        if not hasattr(self.__class__, 'stdout'):
1253671Sbinkertn@umich.edu            self.stdout = joinpath(outputs_dir, '%s.out' % self.name)
1263671Sbinkertn@umich.edu            if not isfile(self.stdout):
1273671Sbinkertn@umich.edu                self.stdout = None
1283671Sbinkertn@umich.edu
1293671Sbinkertn@umich.edu        func(self, isa, os)
1303671Sbinkertn@umich.edu
1313671Sbinkertn@umich.edu    def makeLiveProcessArgs(self, **kwargs):
1323671Sbinkertn@umich.edu        # set up default args for LiveProcess object
1333671Sbinkertn@umich.edu        process_args = {}
1344555Sbinkertn@umich.edu        process_args['cmd'] = [ self.name ] + self.args
1353671Sbinkertn@umich.edu        process_args['executable'] = self.executable
1363671Sbinkertn@umich.edu        if self.stdin:
1373671Sbinkertn@umich.edu            process_args['input'] = self.stdin
1383671Sbinkertn@umich.edu        if self.stdout:
1393671Sbinkertn@umich.edu            process_args['output'] = self.stdout
1403671Sbinkertn@umich.edu
1413671Sbinkertn@umich.edu        # explicit keywords override defaults
1423671Sbinkertn@umich.edu        process_args.update(kwargs)
1433671Sbinkertn@umich.edu
1443671Sbinkertn@umich.edu        return process_args
1453671Sbinkertn@umich.edu
1463671Sbinkertn@umich.edu    def makeLiveProcess(self, **kwargs):
1473671Sbinkertn@umich.edu        process_args = self.makeLiveProcessArgs(**kwargs)
1483671Sbinkertn@umich.edu
1493671Sbinkertn@umich.edu        # figure out working directory: use m5's outdir unless
1503671Sbinkertn@umich.edu        # overridden by LiveProcess's cwd param
1513671Sbinkertn@umich.edu        cwd = process_args.get('cwd')
1523671Sbinkertn@umich.edu        if not cwd:
1533671Sbinkertn@umich.edu            from m5.main import options
1543671Sbinkertn@umich.edu            cwd = options.outdir
1553671Sbinkertn@umich.edu            process_args['cwd'] = cwd
1563671Sbinkertn@umich.edu        if not isdir(cwd):
1573671Sbinkertn@umich.edu            os.makedirs(cwd)
1583671Sbinkertn@umich.edu        # copy input files to working directory
1593671Sbinkertn@umich.edu        for d in self.inputs_dir:
1603671Sbinkertn@umich.edu            copyfiles(d, cwd)
1613671Sbinkertn@umich.edu        # generate LiveProcess object
1623671Sbinkertn@umich.edu        from m5.objects import LiveProcess
1633671Sbinkertn@umich.edu        return LiveProcess(**process_args)
1643671Sbinkertn@umich.edu
1653671Sbinkertn@umich.edu    def __str__(self):
1663671Sbinkertn@umich.edu        return self.name
1673671Sbinkertn@umich.edu
1683671Sbinkertn@umich.educlass DefaultBenchmark(Benchmark):
1693671Sbinkertn@umich.edu    def ref(self, isa, os): pass
1703671Sbinkertn@umich.edu    def test(self, isa, os): pass
1713671Sbinkertn@umich.edu    def train(self, isa, os): pass
1723671Sbinkertn@umich.edu
1733671Sbinkertn@umich.educlass MinneDefaultBenchmark(DefaultBenchmark):
1743671Sbinkertn@umich.edu    def smred(self, isa, os): pass
1753671Sbinkertn@umich.edu    def mdred(self, isa, os): pass
1763671Sbinkertn@umich.edu    def lgred(self, isa, os): pass
1773671Sbinkertn@umich.edu
1783671Sbinkertn@umich.educlass ammp(MinneDefaultBenchmark):
1793671Sbinkertn@umich.edu    name = 'ammp'
1803671Sbinkertn@umich.edu    number = 188
1813671Sbinkertn@umich.edu    lang = 'C'
1823671Sbinkertn@umich.edu
1833671Sbinkertn@umich.educlass applu(MinneDefaultBenchmark):
1843671Sbinkertn@umich.edu    name = 'applu'
1853671Sbinkertn@umich.edu    number = 173
1863671Sbinkertn@umich.edu    lang = 'F77'
1873671Sbinkertn@umich.edu
1883671Sbinkertn@umich.educlass apsi(MinneDefaultBenchmark):
1893671Sbinkertn@umich.edu    name = 'apsi'
1903671Sbinkertn@umich.edu    number = 301
1913671Sbinkertn@umich.edu    lang = 'F77'
1923671Sbinkertn@umich.edu
1933671Sbinkertn@umich.educlass art(DefaultBenchmark):
1943671Sbinkertn@umich.edu    name = 'art'
1953671Sbinkertn@umich.edu    number = 179
1963671Sbinkertn@umich.edu    lang = 'C'
1973671Sbinkertn@umich.edu
1983671Sbinkertn@umich.edu    def test(self, isa, os):
1993671Sbinkertn@umich.edu        self.args = [ '-scanfile', 'c756hel.in',
2003671Sbinkertn@umich.edu                      '-trainfile1', 'a10.img',
2013671Sbinkertn@umich.edu                      '-stride', '2',
2023671Sbinkertn@umich.edu                      '-startx', '134',
2033671Sbinkertn@umich.edu                      '-starty', '220',
2043671Sbinkertn@umich.edu                      '-endx', '139',
2053671Sbinkertn@umich.edu                      '-endy', '225',
2063671Sbinkertn@umich.edu                      '-objects', '1' ]
2073671Sbinkertn@umich.edu        self.output = 'test.out'
2083671Sbinkertn@umich.edu
2093671Sbinkertn@umich.edu    def train(self, isa, os):
2103671Sbinkertn@umich.edu        self.args = [ '-scanfile', 'c756hel.in',
2113671Sbinkertn@umich.edu                      '-trainfile1', 'a10.img',
2123671Sbinkertn@umich.edu                      '-stride', '2',
2133671Sbinkertn@umich.edu                      '-startx', '134',
2143671Sbinkertn@umich.edu                      '-starty', '220',
2153671Sbinkertn@umich.edu                      '-endx', '184',
2163671Sbinkertn@umich.edu                      '-endy', '240',
2173671Sbinkertn@umich.edu                      '-objects', '3' ]
2183671Sbinkertn@umich.edu        self.output = 'train.out'
2193671Sbinkertn@umich.edu
2203671Sbinkertn@umich.edu    def lgred(self, isa, os):
2213671Sbinkertn@umich.edu        self.args = ['-scanfile', 'c756hel.in',
2223671Sbinkertn@umich.edu                     '-trainfile1', 'a10.img',
2233671Sbinkertn@umich.edu                     '-stride', '5',
2243671Sbinkertn@umich.edu                     '-startx', '134',
2253671Sbinkertn@umich.edu                     '-starty', '220',
2263671Sbinkertn@umich.edu                     '-endx', '184',
2273671Sbinkertn@umich.edu                     '-endy', '240',
2283671Sbinkertn@umich.edu                     '-objects', '1' ]
2293671Sbinkertn@umich.edu        self.output = 'lgred.out'
2303671Sbinkertn@umich.edu
2313671Sbinkertn@umich.edu
2323671Sbinkertn@umich.educlass art110(art):
2333671Sbinkertn@umich.edu    def ref(self, isa, os):
2343671Sbinkertn@umich.edu        self.args = [ '-scanfile', 'c756hel.in',
2353671Sbinkertn@umich.edu                      '-trainfile1', 'a10.img',
2363671Sbinkertn@umich.edu                      '-trainfile2', 'hc.img',
2373671Sbinkertn@umich.edu                      '-stride', '2',
2383671Sbinkertn@umich.edu                      '-startx', '110',
2393671Sbinkertn@umich.edu                      '-starty', '200',
2403671Sbinkertn@umich.edu                      '-endx', '160',
2413671Sbinkertn@umich.edu                      '-endy', '240',
2423671Sbinkertn@umich.edu                      '-objects', '10' ]
2433671Sbinkertn@umich.edu        self.output = 'ref.1.out'
2443671Sbinkertn@umich.edu
2453671Sbinkertn@umich.educlass art470(art):
2463671Sbinkertn@umich.edu    def ref(self, isa, os):
2473671Sbinkertn@umich.edu        self.args = [ '-scanfile', 'c756hel.in',
2483671Sbinkertn@umich.edu                      '-trainfile1', 'a10.img',
2493671Sbinkertn@umich.edu                      '-trainfile2', 'hc.img',
2503671Sbinkertn@umich.edu                      '-stride', '2',
2513671Sbinkertn@umich.edu                      '-startx', '470',
2523671Sbinkertn@umich.edu                      '-starty', '140',
2533671Sbinkertn@umich.edu                      '-endx', '520',
2543671Sbinkertn@umich.edu                      '-endy', '180',
2553671Sbinkertn@umich.edu                      '-objects', '10' ]
2563671Sbinkertn@umich.edu        self.output = 'ref.2.out'
2573671Sbinkertn@umich.edu
2583671Sbinkertn@umich.educlass equake(DefaultBenchmark):
2593671Sbinkertn@umich.edu    name = 'equake'
2603671Sbinkertn@umich.edu    number = 183
2613671Sbinkertn@umich.edu    lang = 'C'
2623671Sbinkertn@umich.edu
2633671Sbinkertn@umich.edu    def lgred(self, isa, os): pass
2643671Sbinkertn@umich.edu
2653671Sbinkertn@umich.educlass facerec(MinneDefaultBenchmark):
2663671Sbinkertn@umich.edu    name = 'facerec'
2673671Sbinkertn@umich.edu    number = 187
2683671Sbinkertn@umich.edu    lang = 'F'
2693671Sbinkertn@umich.edu
2703671Sbinkertn@umich.educlass fma3d(MinneDefaultBenchmark):
2713671Sbinkertn@umich.edu    name = 'fma3d'
2723671Sbinkertn@umich.edu    number = 191
2733671Sbinkertn@umich.edu    lang = 'F'
2743671Sbinkertn@umich.edu
2753671Sbinkertn@umich.educlass galgel(MinneDefaultBenchmark):
2763671Sbinkertn@umich.edu    name = 'galgel'
2773671Sbinkertn@umich.edu    number = 178
2783671Sbinkertn@umich.edu    lang = 'F'
2793671Sbinkertn@umich.edu
2803671Sbinkertn@umich.educlass lucas(MinneDefaultBenchmark):
2813671Sbinkertn@umich.edu    name = 'lucas'
2823671Sbinkertn@umich.edu    number = 189
2833671Sbinkertn@umich.edu    lang = 'F'
2843671Sbinkertn@umich.edu
2853671Sbinkertn@umich.educlass mesa(Benchmark):
2863671Sbinkertn@umich.edu    name = 'mesa'
2873671Sbinkertn@umich.edu    number = 177
2883671Sbinkertn@umich.edu    lang = 'C'
2893671Sbinkertn@umich.edu    stdin = None
2903671Sbinkertn@umich.edu
2913671Sbinkertn@umich.edu    def __set_args(self, frames):
2923671Sbinkertn@umich.edu        self.args = [ '-frames', frames, '-meshfile', '%s.in' % self.name,
2933671Sbinkertn@umich.edu                      '-ppmfile', '%s.ppm' % self.name ]
2943671Sbinkertn@umich.edu
2953671Sbinkertn@umich.edu    def test(self, isa, os):
2963671Sbinkertn@umich.edu        self.__set_args('10')
2973671Sbinkertn@umich.edu
2983671Sbinkertn@umich.edu    def train(self, isa, os):
2993671Sbinkertn@umich.edu        self.__set_args('500')
3003671Sbinkertn@umich.edu
3013671Sbinkertn@umich.edu    def ref(self, isa, os):
3023671Sbinkertn@umich.edu        self.__set_args('1000')
3033671Sbinkertn@umich.edu
3043671Sbinkertn@umich.edu    def lgred(self, isa, os):
3053671Sbinkertn@umich.edu        self.__set_args('1')
3063671Sbinkertn@umich.edu
3073671Sbinkertn@umich.educlass mgrid(MinneDefaultBenchmark):
3083671Sbinkertn@umich.edu    name = 'mgrid'
3093671Sbinkertn@umich.edu    number = 172
3103671Sbinkertn@umich.edu    lang = 'F77'
3113671Sbinkertn@umich.edu
3123671Sbinkertn@umich.educlass sixtrack(DefaultBenchmark):
3133671Sbinkertn@umich.edu    name = 'sixtrack'
3143671Sbinkertn@umich.edu    number = 200
3153671Sbinkertn@umich.edu    lang = 'F77'
3163671Sbinkertn@umich.edu
3173671Sbinkertn@umich.edu    def lgred(self, isa, os): pass
3183671Sbinkertn@umich.edu
3193671Sbinkertn@umich.educlass swim(MinneDefaultBenchmark):
3203671Sbinkertn@umich.edu    name = 'swim'
3213671Sbinkertn@umich.edu    number = 171
3223671Sbinkertn@umich.edu    lang = 'F77'
3233671Sbinkertn@umich.edu
3243671Sbinkertn@umich.educlass wupwise(DefaultBenchmark):
3253671Sbinkertn@umich.edu    name = 'wupwise'
3263671Sbinkertn@umich.edu    number = 168
3273671Sbinkertn@umich.edu    lang = 'F77'
3283671Sbinkertn@umich.edu
3293671Sbinkertn@umich.edu    def lgred(self, isa, os): pass
3303671Sbinkertn@umich.edu
3313671Sbinkertn@umich.educlass bzip2(DefaultBenchmark):
3323671Sbinkertn@umich.edu    name = 'bzip2'
3333671Sbinkertn@umich.edu    number = 256
3343671Sbinkertn@umich.edu    lang = 'C'
3353671Sbinkertn@umich.edu
3363671Sbinkertn@umich.edu    def test(self, isa, os):
3373671Sbinkertn@umich.edu        self.args = [ 'input.random' ]
3383671Sbinkertn@umich.edu
3393671Sbinkertn@umich.edu    def train(self, isa, os):
3403671Sbinkertn@umich.edu        self.args = [ 'input.compressed' ]
3413671Sbinkertn@umich.edu
3423671Sbinkertn@umich.educlass bzip2_source(bzip2):
3433671Sbinkertn@umich.edu    def ref(self, isa, os):
3443671Sbinkertn@umich.edu        self.args = [ 'input.source', '58' ]
3453671Sbinkertn@umich.edu
3463671Sbinkertn@umich.edu    def lgred(self, isa, os):
3473671Sbinkertn@umich.edu        self.args = [ 'input.source', '1' ]
3483671Sbinkertn@umich.edu
3493671Sbinkertn@umich.educlass bzip2_graphic(bzip2):
3503671Sbinkertn@umich.edu    def ref(self, isa, os):
3513671Sbinkertn@umich.edu        self.args = [ 'input.graphic', '58' ]
3523671Sbinkertn@umich.edu
3533671Sbinkertn@umich.edu    def lgred(self, isa, os):
3543671Sbinkertn@umich.edu        self.args = [ 'input.graphic', '1' ]
3553671Sbinkertn@umich.edu
3563671Sbinkertn@umich.educlass bzip2_program(bzip2):
3573671Sbinkertn@umich.edu    def ref(self, isa, os):
3583671Sbinkertn@umich.edu        self.args = [ 'input.program', '58' ]
3593671Sbinkertn@umich.edu
3603671Sbinkertn@umich.edu    def lgred(self, isa, os):
3613671Sbinkertn@umich.edu        self.args = [ 'input.program', '1' ]
3623671Sbinkertn@umich.edu
3633671Sbinkertn@umich.educlass crafty(MinneDefaultBenchmark):
3643671Sbinkertn@umich.edu    name = 'crafty'
3653671Sbinkertn@umich.edu    number = 186
3663671Sbinkertn@umich.edu    lang = 'C'
3673671Sbinkertn@umich.edu
3683671Sbinkertn@umich.educlass eon(MinneDefaultBenchmark):
3693671Sbinkertn@umich.edu    name = 'eon'
3703671Sbinkertn@umich.edu    number = 252
3713671Sbinkertn@umich.edu    lang = 'CXX'
3723671Sbinkertn@umich.edu    stdin = None
3733671Sbinkertn@umich.edu
3743671Sbinkertn@umich.educlass eon_kajiya(eon):
3753671Sbinkertn@umich.edu    args = [ 'chair.control.kajiya', 'chair.camera', 'chair.surfaces',
3763671Sbinkertn@umich.edu             'chair.kajiya.ppm', 'ppm', 'pixels_out.kajiya']
3773671Sbinkertn@umich.edu    output = 'kajiya_log.out'
3783671Sbinkertn@umich.edu
3793671Sbinkertn@umich.edu
3803671Sbinkertn@umich.educlass eon_cook(eon):
3813671Sbinkertn@umich.edu    args = [ 'chair.control.cook', 'chair.camera', 'chair.surfaces',
3823671Sbinkertn@umich.edu             'chair.cook.ppm', 'ppm', 'pixels_out.cook' ]
3833671Sbinkertn@umich.edu    output = 'cook_log.out'
3843671Sbinkertn@umich.edu
3853671Sbinkertn@umich.educlass eon_rushmeier(eon):
3863671Sbinkertn@umich.edu    args = [ 'chair.control.rushmeier', 'chair.camera', 'chair.surfaces',
3873671Sbinkertn@umich.edu             'chair.rushmeier.ppm', 'ppm', 'pixels_out.rushmeier' ]
3883671Sbinkertn@umich.edu    output = 'rushmeier_log.out'
3893671Sbinkertn@umich.edu
3903671Sbinkertn@umich.educlass gap(DefaultBenchmark):
3913671Sbinkertn@umich.edu    name = 'gap'
3923671Sbinkertn@umich.edu    number = 254
3933671Sbinkertn@umich.edu    lang = 'C'
3943671Sbinkertn@umich.edu
3953671Sbinkertn@umich.edu    def __set_args(self, size):
3963671Sbinkertn@umich.edu        self.args = [ '-l', './', '-q', '-m', size ]
3973671Sbinkertn@umich.edu
3983671Sbinkertn@umich.edu    def test(self, isa, os):
3993671Sbinkertn@umich.edu        self.__set_args('64M')
4003671Sbinkertn@umich.edu
4013671Sbinkertn@umich.edu    def train(self, isa, os):
4023671Sbinkertn@umich.edu        self.__set_args('128M')
4033671Sbinkertn@umich.edu
4043671Sbinkertn@umich.edu    def ref(self, isa, os):
4053671Sbinkertn@umich.edu        self.__set_args('192M')
4063671Sbinkertn@umich.edu
4073671Sbinkertn@umich.edu    def lgred(self, isa, os):
4083671Sbinkertn@umich.edu        self.__set_args('64M')
4093671Sbinkertn@umich.edu
4103671Sbinkertn@umich.edu    def mdred(self, isa, os):
4113671Sbinkertn@umich.edu        self.__set_args('64M')
4123671Sbinkertn@umich.edu
4133671Sbinkertn@umich.edu    def smred(self, isa, os):
4143671Sbinkertn@umich.edu        self.__set_args('64M')
4153671Sbinkertn@umich.edu
4163671Sbinkertn@umich.educlass gcc(DefaultBenchmark):
4173671Sbinkertn@umich.edu    name = 'gcc'
4183671Sbinkertn@umich.edu    number = 176
4193671Sbinkertn@umich.edu    lang = 'C'
4203671Sbinkertn@umich.edu
4213671Sbinkertn@umich.edu    def test(self, isa, os):
4223671Sbinkertn@umich.edu        self.args = [ 'cccp.i', '-o', 'cccp.s' ]
4233671Sbinkertn@umich.edu
4243671Sbinkertn@umich.edu    def train(self, isa, os):
4253671Sbinkertn@umich.edu        self.args = [ 'cp-decl.i', '-o', 'cp-decl.s' ]
4263671Sbinkertn@umich.edu
4273671Sbinkertn@umich.edu    def smred(self, isa, os):
4283671Sbinkertn@umich.edu        self.args = [ 'c-iterate.i', '-o', 'c-iterate.s' ]
4293671Sbinkertn@umich.edu
4303671Sbinkertn@umich.edu    def mdred(self, isa, os):
4313671Sbinkertn@umich.edu        self.args = [ 'rdlanal.i', '-o', 'rdlanal.s' ]
4323671Sbinkertn@umich.edu
4333671Sbinkertn@umich.edu    def lgred(self, isa, os):
4343671Sbinkertn@umich.edu        self.args = [ 'cp-decl.i', '-o', 'cp-decl.s' ]
4353671Sbinkertn@umich.edu
4363671Sbinkertn@umich.educlass gcc_166(gcc):
4373671Sbinkertn@umich.edu    def ref(self, isa, os):
4383671Sbinkertn@umich.edu        self.args = [ '166.i', '-o', '166.s' ]
4393671Sbinkertn@umich.edu
4403671Sbinkertn@umich.educlass gcc_200(gcc):
4413671Sbinkertn@umich.edu    def ref(self, isa, os):
4423671Sbinkertn@umich.edu        self.args = [ '200.i', '-o', '200.s' ]
4433671Sbinkertn@umich.edu
4443671Sbinkertn@umich.educlass gcc_expr(gcc):
4453671Sbinkertn@umich.edu    def ref(self, isa, os):
4463671Sbinkertn@umich.edu        self.args = [ 'expr.i', '-o', 'expr.s' ]
4473671Sbinkertn@umich.edu
4483671Sbinkertn@umich.educlass gcc_integrate(gcc):
4493671Sbinkertn@umich.edu    def ref(self, isa, os):
4503671Sbinkertn@umich.edu        self.args = [ 'integrate.i', '-o', 'integrate.s' ]
4513671Sbinkertn@umich.edu
4523671Sbinkertn@umich.educlass gcc_scilab(gcc):
4533671Sbinkertn@umich.edu    def ref(self, isa, os):
4543671Sbinkertn@umich.edu        self.args = [ 'scilab.i', '-o', 'scilab.s' ]
4553671Sbinkertn@umich.edu
4563671Sbinkertn@umich.educlass gzip(DefaultBenchmark):
4573671Sbinkertn@umich.edu    name = 'gzip'
4583671Sbinkertn@umich.edu    number = 164
4593671Sbinkertn@umich.edu    lang = 'C'
4603671Sbinkertn@umich.edu
4613671Sbinkertn@umich.edu    def test(self, isa, os):
4623671Sbinkertn@umich.edu        self.args = [ 'input.compressed', '2' ]
4633671Sbinkertn@umich.edu
4643671Sbinkertn@umich.edu    def train(self, isa, os):
4653671Sbinkertn@umich.edu        self.args = [ 'input.combined', '32' ]
4663671Sbinkertn@umich.edu
4673671Sbinkertn@umich.educlass gzip_source(gzip):
4683671Sbinkertn@umich.edu    def ref(self, isa, os):
4693671Sbinkertn@umich.edu        self.args = [ 'input.source', '1' ]
4703671Sbinkertn@umich.edu    def smred(self, isa, os):
4713671Sbinkertn@umich.edu        self.args = [ 'input.source', '1' ]
4723671Sbinkertn@umich.edu    def mdred(self, isa, os):
4733671Sbinkertn@umich.edu        self.args = [ 'input.source', '1' ]
4743671Sbinkertn@umich.edu    def lgred(self, isa, os):
4753671Sbinkertn@umich.edu        self.args = [ 'input.source', '1' ]
4763671Sbinkertn@umich.edu
4773671Sbinkertn@umich.educlass gzip_log(gzip):
4783671Sbinkertn@umich.edu    def ref(self, isa, os):
4793671Sbinkertn@umich.edu        self.args = [ 'input.log', '60' ]
4803671Sbinkertn@umich.edu    def smred(self, isa, os):
4813671Sbinkertn@umich.edu        self.args = [ 'input.log', '1' ]
4823671Sbinkertn@umich.edu    def mdred(self, isa, os):
4833671Sbinkertn@umich.edu        self.args = [ 'input.log', '1' ]
4843671Sbinkertn@umich.edu    def lgred(self, isa, os):
4853671Sbinkertn@umich.edu        self.args = [ 'input.log', '1' ]
4863671Sbinkertn@umich.edu
4873671Sbinkertn@umich.educlass gzip_graphic(gzip):
4883671Sbinkertn@umich.edu    def ref(self, isa, os):
4893671Sbinkertn@umich.edu        self.args = [ 'input.graphic', '60' ]
4903671Sbinkertn@umich.edu    def smred(self, isa, os):
4913671Sbinkertn@umich.edu        self.args = [ 'input.graphic', '1' ]
4923671Sbinkertn@umich.edu    def mdred(self, isa, os):
4933671Sbinkertn@umich.edu        self.args = [ 'input.graphic', '1' ]
4943671Sbinkertn@umich.edu    def lgred(self, isa, os):
4953671Sbinkertn@umich.edu        self.args = [ 'input.graphic', '1' ]
4963671Sbinkertn@umich.edu
4973671Sbinkertn@umich.educlass gzip_random(gzip):
4983671Sbinkertn@umich.edu    def ref(self, isa, os):
4993671Sbinkertn@umich.edu        self.args = [ 'input.random', '60' ]
5003671Sbinkertn@umich.edu    def smred(self, isa, os):
5013671Sbinkertn@umich.edu        self.args = [ 'input.random', '1' ]
5023671Sbinkertn@umich.edu    def mdred(self, isa, os):
5033671Sbinkertn@umich.edu        self.args = [ 'input.random', '1' ]
5043671Sbinkertn@umich.edu    def lgred(self, isa, os):
5053671Sbinkertn@umich.edu        self.args = [ 'input.random', '1' ]
5063671Sbinkertn@umich.edu
5073671Sbinkertn@umich.educlass gzip_program(gzip):
5083671Sbinkertn@umich.edu    def ref(self, isa, os):
5093671Sbinkertn@umich.edu        self.args = [ 'input.program', '60' ]
5103671Sbinkertn@umich.edu    def smred(self, isa, os):
5113671Sbinkertn@umich.edu        self.args = [ 'input.program', '1' ]
5123671Sbinkertn@umich.edu    def mdred(self, isa, os):
5133671Sbinkertn@umich.edu        self.args = [ 'input.program', '1' ]
5143671Sbinkertn@umich.edu    def lgred(self, isa, os):
5153671Sbinkertn@umich.edu        self.args = [ 'input.program', '1' ]
5163671Sbinkertn@umich.edu
5173671Sbinkertn@umich.educlass mcf(MinneDefaultBenchmark):
5183671Sbinkertn@umich.edu    name = 'mcf'
5193671Sbinkertn@umich.edu    number = 181
5203671Sbinkertn@umich.edu    lang = 'C'
5214271Sgblack@eecs.umich.edu    args = [ 'mcf.in' ]
5223671Sbinkertn@umich.edu
5233671Sbinkertn@umich.educlass parser(MinneDefaultBenchmark):
5243671Sbinkertn@umich.edu    name = 'parser'
5253671Sbinkertn@umich.edu    number = 197
5263671Sbinkertn@umich.edu    lang = 'C'
5273671Sbinkertn@umich.edu    args = [ '2.1.dict', '-batch' ]
5283671Sbinkertn@umich.edu
5293671Sbinkertn@umich.educlass perlbmk(DefaultBenchmark):
5303671Sbinkertn@umich.edu    name = 'perlbmk'
5313671Sbinkertn@umich.edu    number = 253
5323671Sbinkertn@umich.edu    lang = 'C'
5333671Sbinkertn@umich.edu
5343671Sbinkertn@umich.edu    def test(self, isa, os):
5353671Sbinkertn@umich.edu        self.args = [ '-I.', '-I', 'lib', 'test.pl' ]
5363671Sbinkertn@umich.edu        self.stdin = 'test.in'
5373671Sbinkertn@umich.edu
5383671Sbinkertn@umich.educlass perlbmk_diffmail(perlbmk):
5393671Sbinkertn@umich.edu    def ref(self, isa, os):
5403671Sbinkertn@umich.edu        self.args = [ '-I', 'lib', 'diffmail.pl', '2', '550', '15', '24',
5413671Sbinkertn@umich.edu                      '23', '100' ]
5423671Sbinkertn@umich.edu
5433671Sbinkertn@umich.edu    def train(self, isa, os):
5443671Sbinkertn@umich.edu        self.args = [ '-I', 'lib', 'diffmail.pl', '2', '350', '15', '24',
5453671Sbinkertn@umich.edu                      '23', '150' ]
5463671Sbinkertn@umich.edu
5473671Sbinkertn@umich.educlass perlbmk_scrabbl(perlbmk):
5483671Sbinkertn@umich.edu    def train(self, isa, os):
5493671Sbinkertn@umich.edu        self.args = [ '-I.', '-I', 'lib', 'scrabbl.pl' ]
5503671Sbinkertn@umich.edu        self.stdin = 'scrabbl.in'
5513671Sbinkertn@umich.edu
5523671Sbinkertn@umich.educlass perlbmk_makerand(perlbmk):
5533671Sbinkertn@umich.edu    def ref(self, isa, os):
5543671Sbinkertn@umich.edu        self.args = [ '-I', 'lib',  'makerand.pl' ]
5553671Sbinkertn@umich.edu
5563671Sbinkertn@umich.edu    def lgred(self, isa, os):
5573671Sbinkertn@umich.edu        self.args = [ '-I.', '-I', 'lib', 'lgred.makerand.pl' ]
5583671Sbinkertn@umich.edu
5593671Sbinkertn@umich.edu    def mdred(self, isa, os):
5603671Sbinkertn@umich.edu        self.args = [ '-I.', '-I', 'lib', 'mdred.makerand.pl' ]
5613671Sbinkertn@umich.edu
5623671Sbinkertn@umich.edu    def smred(self, isa, os):
5633671Sbinkertn@umich.edu        self.args = [ '-I.', '-I', 'lib', 'smred.makerand.pl' ]
5643671Sbinkertn@umich.edu
5653671Sbinkertn@umich.educlass perlbmk_perfect(perlbmk):
5663671Sbinkertn@umich.edu    def ref(self, isa, os):
5673671Sbinkertn@umich.edu        self.args = [ '-I', 'lib',  'perfect.pl', 'b', '3', 'm', '4' ]
5683671Sbinkertn@umich.edu
5693671Sbinkertn@umich.edu    def train(self, isa, os):
5703671Sbinkertn@umich.edu        self.args = [ '-I', 'lib', 'perfect.pl', 'b',  '3' ]
5713671Sbinkertn@umich.edu
5723671Sbinkertn@umich.educlass perlbmk_splitmail1(perlbmk):
5733671Sbinkertn@umich.edu    def ref(self, isa, os):
5743671Sbinkertn@umich.edu        self.args = [ '-I', 'lib', 'splitmail.pl', '850', '5', '19',
5753671Sbinkertn@umich.edu                      '18', '1500' ]
5763671Sbinkertn@umich.edu
5773671Sbinkertn@umich.educlass perlbmk_splitmail2(perlbmk):
5783671Sbinkertn@umich.edu    def ref(self, isa, os):
5793671Sbinkertn@umich.edu        self.args = [ '-I', 'lib', 'splitmail.pl', '704', '12', '26',
5803671Sbinkertn@umich.edu                      '16', '836' ]
5813671Sbinkertn@umich.edu
5823671Sbinkertn@umich.educlass perlbmk_splitmail3(perlbmk):
5833671Sbinkertn@umich.edu    def ref(self, isa, os):
5843671Sbinkertn@umich.edu        self.args = [ '-I', 'lib', 'splitmail.pl', '535', '13', '25',
5853671Sbinkertn@umich.edu                      '24', '1091' ]
5863671Sbinkertn@umich.edu
5873671Sbinkertn@umich.educlass perlbmk_splitmail4(perlbmk):
5883671Sbinkertn@umich.edu    def ref(self, isa, os):
5893671Sbinkertn@umich.edu        self.args = [ '-I', 'lib', 'splitmail.pl', '957', '12', '23',
5903671Sbinkertn@umich.edu                      '26', '1014' ]
5913671Sbinkertn@umich.edu
5923671Sbinkertn@umich.educlass twolf(Benchmark):
5933671Sbinkertn@umich.edu    name = 'twolf'
5943671Sbinkertn@umich.edu    number = 300
5953671Sbinkertn@umich.edu    lang = 'C'
5963671Sbinkertn@umich.edu    stdin = None
5973671Sbinkertn@umich.edu
5983671Sbinkertn@umich.edu    def test(self, isa, os):
5993671Sbinkertn@umich.edu        self.args = [ 'test' ]
6003671Sbinkertn@umich.edu
6013671Sbinkertn@umich.edu    def train(self, isa, os):
6023671Sbinkertn@umich.edu        self.args = [ 'train' ]
6033671Sbinkertn@umich.edu
6043671Sbinkertn@umich.edu    def ref(self, isa, os):
6053671Sbinkertn@umich.edu        self.args = [ 'ref' ]
6063671Sbinkertn@umich.edu
6073671Sbinkertn@umich.edu    def smred(self, isa, os):
6083671Sbinkertn@umich.edu        self.args = [ 'smred' ]
6093671Sbinkertn@umich.edu
6103671Sbinkertn@umich.edu    def mdred(self, isa, os):
6113671Sbinkertn@umich.edu        self.args = [ 'mdred' ]
6123671Sbinkertn@umich.edu
6133671Sbinkertn@umich.edu    def lgred(self, isa, os):
6143671Sbinkertn@umich.edu        self.args = [ 'lgred' ]
6153671Sbinkertn@umich.edu
6163671Sbinkertn@umich.educlass vortex(Benchmark):
6173671Sbinkertn@umich.edu    name = 'vortex'
6183671Sbinkertn@umich.edu    number = 255
6193671Sbinkertn@umich.edu    lang = 'C'
6203671Sbinkertn@umich.edu    stdin = None
6213671Sbinkertn@umich.edu
6223671Sbinkertn@umich.edu    def __init__(self, isa, os, input_set):
6233671Sbinkertn@umich.edu        if isa == 'alpha':
6243671Sbinkertn@umich.edu            self.endian = 'lendian'
6254116Sgblack@eecs.umich.edu        elif (isa == 'sparc' or isa == 'sparc32'):
6264116Sgblack@eecs.umich.edu            self.endian = 'bendian'
6273671Sbinkertn@umich.edu        else:
6283671Sbinkertn@umich.edu            raise AttributeError, "unknown ISA %s" % isa
6293671Sbinkertn@umich.edu
6303671Sbinkertn@umich.edu        super(vortex, self).__init__(isa, os, input_set)
6313671Sbinkertn@umich.edu
6323671Sbinkertn@umich.edu    def test(self, isa, os):
6333671Sbinkertn@umich.edu        self.args = [ '%s.raw' % self.endian ]
6343671Sbinkertn@umich.edu        self.output = 'vortex.out'
6353671Sbinkertn@umich.edu
6363671Sbinkertn@umich.edu    def train(self, isa, os):
6373671Sbinkertn@umich.edu        self.args = [ '%s.raw' % self.endian ]
6383671Sbinkertn@umich.edu        self.output = 'vortex.out'
6393671Sbinkertn@umich.edu
6403671Sbinkertn@umich.edu    def smred(self, isa, os):
6413671Sbinkertn@umich.edu        self.args = [ '%s.raw' % self.endian ]
6423671Sbinkertn@umich.edu        self.output = 'vortex.out'
6433671Sbinkertn@umich.edu
6443671Sbinkertn@umich.edu    def mdred(self, isa, os):
6453671Sbinkertn@umich.edu        self.args = [ '%s.raw' % self.endian ]
6463671Sbinkertn@umich.edu        self.output = 'vortex.out'
6473671Sbinkertn@umich.edu
6483671Sbinkertn@umich.edu    def lgred(self, isa, os):
6493671Sbinkertn@umich.edu        self.args = [ '%s.raw' % self.endian ]
6503671Sbinkertn@umich.edu        self.output = 'vortex.out'
6513671Sbinkertn@umich.edu
6523671Sbinkertn@umich.educlass vortex1(vortex):
6533671Sbinkertn@umich.edu    def ref(self, isa, os):
6543671Sbinkertn@umich.edu        self.args = [ '%s1.raw' % self.endian ]
6553671Sbinkertn@umich.edu        self.output = 'vortex1.out'
6563671Sbinkertn@umich.edu
6573671Sbinkertn@umich.edu
6583671Sbinkertn@umich.educlass vortex2(vortex):
6593671Sbinkertn@umich.edu    def ref(self, isa, os):
6603671Sbinkertn@umich.edu        self.args = [ '%s2.raw' % self.endian ]
6613671Sbinkertn@umich.edu        self.output = 'vortex2.out'
6623671Sbinkertn@umich.edu
6633671Sbinkertn@umich.educlass vortex3(vortex):
6643671Sbinkertn@umich.edu    def ref(self, isa, os):
6653671Sbinkertn@umich.edu        self.args = [ '%s3.raw' % self.endian ]
6663671Sbinkertn@umich.edu        self.output = 'vortex3.out'
6673671Sbinkertn@umich.edu
6683671Sbinkertn@umich.educlass vpr(MinneDefaultBenchmark):
6693671Sbinkertn@umich.edu    name = 'vpr'
6703671Sbinkertn@umich.edu    number = 175
6713671Sbinkertn@umich.edu    lang = 'C'
6723671Sbinkertn@umich.edu
6733671Sbinkertn@umich.edu# not sure about vpr minnespec place.in
6743671Sbinkertn@umich.educlass vpr_place(vpr):
6753671Sbinkertn@umich.edu    args = [ 'net.in', 'arch.in', 'place.out', 'dum.out', '-nodisp',
6763671Sbinkertn@umich.edu             '-place_only', '-init_t', '5', '-exit_t', '0.005',
6773671Sbinkertn@umich.edu             '-alpha_t', '0.9412', '-inner_num', '2' ]
6783671Sbinkertn@umich.edu    output = 'place_log.out'
6793671Sbinkertn@umich.edu
6803671Sbinkertn@umich.educlass vpr_route(vpr):
6813671Sbinkertn@umich.edu    args = [ 'net.in', 'arch.in', 'place.in', 'route.out', '-nodisp',
6823671Sbinkertn@umich.edu             '-route_only', '-route_chan_width', '15',
6833671Sbinkertn@umich.edu             '-pres_fac_mult', '2', '-acc_fac', '1',
6843671Sbinkertn@umich.edu             '-first_iter_pres_fac', '4', '-initial_pres_fac', '8' ]
6853671Sbinkertn@umich.edu    output = 'route_log.out'
6863671Sbinkertn@umich.edu
6873671Sbinkertn@umich.eduall = [ ammp, applu, apsi, art110, art470, equake, facerec, fma3d, galgel,
6883671Sbinkertn@umich.edu        lucas, mesa, mgrid, sixtrack, swim, wupwise, bzip2_source,
6893671Sbinkertn@umich.edu        bzip2_graphic, bzip2_program, crafty, eon_kajiya, eon_cook,
6903671Sbinkertn@umich.edu        eon_rushmeier, gap, gcc_166, gcc_200, gcc_expr, gcc_integrate,
6913671Sbinkertn@umich.edu        gcc_scilab, gzip_source, gzip_log, gzip_graphic, gzip_random,
6923671Sbinkertn@umich.edu        gzip_program, mcf, parser, perlbmk_diffmail, perlbmk_makerand,
6933671Sbinkertn@umich.edu        perlbmk_perfect, perlbmk_splitmail1, perlbmk_splitmail2,
6943671Sbinkertn@umich.edu        perlbmk_splitmail3, perlbmk_splitmail4, twolf, vortex1, vortex2,
6953671Sbinkertn@umich.edu        vortex3, vpr_place, vpr_route ]
6963671Sbinkertn@umich.edu
6973671Sbinkertn@umich.edu__all__ = [ x.__name__ for x in all ]
6983671Sbinkertn@umich.edu
6993671Sbinkertn@umich.eduif __name__ == '__main__':
7003671Sbinkertn@umich.edu    from pprint import pprint
7013671Sbinkertn@umich.edu    for bench in all:
7023671Sbinkertn@umich.edu        for input_set in 'ref', 'test', 'train':
7033671Sbinkertn@umich.edu            print 'class: %s' % bench.__name__
7043671Sbinkertn@umich.edu            x = bench('alpha', 'tru64', input_set)
7053671Sbinkertn@umich.edu            print '%s: %s' % (x, input_set)
7063671Sbinkertn@umich.edu            pprint(x.makeLiveProcessArgs())
7073671Sbinkertn@umich.edu            print
708