cpu2000.py revision 12564
15361Srstrong@cs.ucsd.edu# Copyright (c) 2006-2008 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 2912564Sgabeblack@google.comfrom __future__ import print_function 3012564Sgabeblack@google.com 313671Sbinkertn@umich.eduimport os 323671Sbinkertn@umich.eduimport sys 333671Sbinkertn@umich.edufrom os.path import basename, exists, join as joinpath, normpath 343671Sbinkertn@umich.edufrom os.path import isdir, isfile, islink 353671Sbinkertn@umich.edu 366028Ssteve.reinhardt@amd.comspec_dist = os.environ.get('M5_CPU2000', '/dist/m5/cpu2000') 373671Sbinkertn@umich.edu 383671Sbinkertn@umich.edudef copyfiles(srcdir, dstdir): 393671Sbinkertn@umich.edu from filecmp import cmp as filecmp 403671Sbinkertn@umich.edu from shutil import copyfile 413671Sbinkertn@umich.edu 423671Sbinkertn@umich.edu srcdir = normpath(srcdir) 433671Sbinkertn@umich.edu dstdir = normpath(dstdir) 443671Sbinkertn@umich.edu 453671Sbinkertn@umich.edu if not isdir(dstdir): 463671Sbinkertn@umich.edu os.mkdir(dstdir) 473671Sbinkertn@umich.edu 483671Sbinkertn@umich.edu for root, dirs, files in os.walk(srcdir): 493671Sbinkertn@umich.edu root = normpath(root) 503671Sbinkertn@umich.edu prefix = os.path.commonprefix([root, srcdir]) 513671Sbinkertn@umich.edu 523671Sbinkertn@umich.edu root = root[len(prefix):] 533671Sbinkertn@umich.edu if root.startswith('/'): 543671Sbinkertn@umich.edu root = root[1:] 553671Sbinkertn@umich.edu 563671Sbinkertn@umich.edu for entry in dirs: 573671Sbinkertn@umich.edu newdir = joinpath(dstdir, root, entry) 583671Sbinkertn@umich.edu if not isdir(newdir): 593671Sbinkertn@umich.edu os.mkdir(newdir) 603671Sbinkertn@umich.edu 613671Sbinkertn@umich.edu for entry in files: 623671Sbinkertn@umich.edu dest = normpath(joinpath(dstdir, root, entry)) 633671Sbinkertn@umich.edu src = normpath(joinpath(srcdir, root, entry)) 643671Sbinkertn@umich.edu if not isfile(dest) or not filecmp(src, dest): 653671Sbinkertn@umich.edu copyfile(src, dest) 663671Sbinkertn@umich.edu 673671Sbinkertn@umich.edu # some of the spec benchmarks expect to be run from one directory up. 683671Sbinkertn@umich.edu # just create some symlinks that solve the problem 693671Sbinkertn@umich.edu inlink = joinpath(dstdir, 'input') 703671Sbinkertn@umich.edu outlink = joinpath(dstdir, 'output') 713671Sbinkertn@umich.edu if not exists(inlink): 723671Sbinkertn@umich.edu os.symlink('.', inlink) 733671Sbinkertn@umich.edu if not exists(outlink): 743671Sbinkertn@umich.edu os.symlink('.', outlink) 753671Sbinkertn@umich.edu 763671Sbinkertn@umich.educlass Benchmark(object): 773671Sbinkertn@umich.edu def __init__(self, isa, os, input_set): 783671Sbinkertn@umich.edu if not hasattr(self.__class__, 'name'): 793671Sbinkertn@umich.edu self.name = self.__class__.__name__ 803671Sbinkertn@umich.edu 813671Sbinkertn@umich.edu if not hasattr(self.__class__, 'binary'): 823671Sbinkertn@umich.edu self.binary = self.name 833671Sbinkertn@umich.edu 843671Sbinkertn@umich.edu if not hasattr(self.__class__, 'args'): 853671Sbinkertn@umich.edu self.args = [] 863671Sbinkertn@umich.edu 873671Sbinkertn@umich.edu if not hasattr(self.__class__, 'output'): 883671Sbinkertn@umich.edu self.output = '%s.out' % self.name 893671Sbinkertn@umich.edu 905361Srstrong@cs.ucsd.edu if not hasattr(self.__class__, 'simpoint'): 915361Srstrong@cs.ucsd.edu self.simpoint = None 925361Srstrong@cs.ucsd.edu 933671Sbinkertn@umich.edu try: 943671Sbinkertn@umich.edu func = getattr(self.__class__, input_set) 953671Sbinkertn@umich.edu except AttributeError: 963671Sbinkertn@umich.edu raise AttributeError, \ 973671Sbinkertn@umich.edu 'The benchmark %s does not have the %s input set' % \ 983671Sbinkertn@umich.edu (self.name, input_set) 993671Sbinkertn@umich.edu 1003671Sbinkertn@umich.edu executable = joinpath(spec_dist, 'binaries', isa, os, self.binary) 1013671Sbinkertn@umich.edu if not isfile(executable): 1023671Sbinkertn@umich.edu raise AttributeError, '%s not found' % executable 1033671Sbinkertn@umich.edu self.executable = executable 1043671Sbinkertn@umich.edu 1053671Sbinkertn@umich.edu # root of tree for input & output data files 1063671Sbinkertn@umich.edu data_dir = joinpath(spec_dist, 'data', self.name) 1073671Sbinkertn@umich.edu # optional subtree with files shared across input sets 1083671Sbinkertn@umich.edu all_dir = joinpath(data_dir, 'all') 1093671Sbinkertn@umich.edu # dirs for input & output files for this input set 1103671Sbinkertn@umich.edu inputs_dir = joinpath(data_dir, input_set, 'input') 1113671Sbinkertn@umich.edu outputs_dir = joinpath(data_dir, input_set, 'output') 1124116Sgblack@eecs.umich.edu # keep around which input set was specified 1134116Sgblack@eecs.umich.edu self.input_set = input_set 1143671Sbinkertn@umich.edu 1153671Sbinkertn@umich.edu if not isdir(inputs_dir): 1163671Sbinkertn@umich.edu raise AttributeError, '%s not found' % inputs_dir 1173671Sbinkertn@umich.edu 1183671Sbinkertn@umich.edu self.inputs_dir = [ inputs_dir ] 1193671Sbinkertn@umich.edu if isdir(all_dir): 1203671Sbinkertn@umich.edu self.inputs_dir += [ joinpath(all_dir, 'input') ] 1213671Sbinkertn@umich.edu if isdir(outputs_dir): 1223671Sbinkertn@umich.edu self.outputs_dir = outputs_dir 1233671Sbinkertn@umich.edu 1243671Sbinkertn@umich.edu if not hasattr(self.__class__, 'stdin'): 1253671Sbinkertn@umich.edu self.stdin = joinpath(inputs_dir, '%s.in' % self.name) 1263671Sbinkertn@umich.edu if not isfile(self.stdin): 1273671Sbinkertn@umich.edu self.stdin = None 1283671Sbinkertn@umich.edu 1293671Sbinkertn@umich.edu if not hasattr(self.__class__, 'stdout'): 1303671Sbinkertn@umich.edu self.stdout = joinpath(outputs_dir, '%s.out' % self.name) 1313671Sbinkertn@umich.edu if not isfile(self.stdout): 1323671Sbinkertn@umich.edu self.stdout = None 1333671Sbinkertn@umich.edu 1343671Sbinkertn@umich.edu func(self, isa, os) 1353671Sbinkertn@umich.edu 13611851Sbrandon.potter@amd.com def makeProcessArgs(self, **kwargs): 13711851Sbrandon.potter@amd.com # set up default args for Process object 1383671Sbinkertn@umich.edu process_args = {} 1394555Sbinkertn@umich.edu process_args['cmd'] = [ self.name ] + self.args 1403671Sbinkertn@umich.edu process_args['executable'] = self.executable 1413671Sbinkertn@umich.edu if self.stdin: 1423671Sbinkertn@umich.edu process_args['input'] = self.stdin 1433671Sbinkertn@umich.edu if self.stdout: 1443671Sbinkertn@umich.edu process_args['output'] = self.stdout 1455378Ssaidi@eecs.umich.edu if self.simpoint: 1465378Ssaidi@eecs.umich.edu process_args['simpoint'] = self.simpoint 1473671Sbinkertn@umich.edu # explicit keywords override defaults 1483671Sbinkertn@umich.edu process_args.update(kwargs) 1493671Sbinkertn@umich.edu 1503671Sbinkertn@umich.edu return process_args 1513671Sbinkertn@umich.edu 15211851Sbrandon.potter@amd.com def makeProcess(self, **kwargs): 15311851Sbrandon.potter@amd.com process_args = self.makeProcessArgs(**kwargs) 1543671Sbinkertn@umich.edu 1553671Sbinkertn@umich.edu # figure out working directory: use m5's outdir unless 15611851Sbrandon.potter@amd.com # overridden by Process's cwd param 1573671Sbinkertn@umich.edu cwd = process_args.get('cwd') 1585361Srstrong@cs.ucsd.edu 1593671Sbinkertn@umich.edu if not cwd: 1608246Snate@binkert.org from m5 import options 1613671Sbinkertn@umich.edu cwd = options.outdir 1623671Sbinkertn@umich.edu process_args['cwd'] = cwd 1633671Sbinkertn@umich.edu if not isdir(cwd): 1643671Sbinkertn@umich.edu os.makedirs(cwd) 1653671Sbinkertn@umich.edu # copy input files to working directory 1663671Sbinkertn@umich.edu for d in self.inputs_dir: 1673671Sbinkertn@umich.edu copyfiles(d, cwd) 16811851Sbrandon.potter@amd.com # generate Process object 16911851Sbrandon.potter@amd.com from m5.objects import Process 17011851Sbrandon.potter@amd.com return Process(**process_args) 1713671Sbinkertn@umich.edu 1723671Sbinkertn@umich.edu def __str__(self): 1733671Sbinkertn@umich.edu return self.name 1743671Sbinkertn@umich.edu 1753671Sbinkertn@umich.educlass DefaultBenchmark(Benchmark): 1763671Sbinkertn@umich.edu def ref(self, isa, os): pass 1773671Sbinkertn@umich.edu def test(self, isa, os): pass 1783671Sbinkertn@umich.edu def train(self, isa, os): pass 1793671Sbinkertn@umich.edu 1803671Sbinkertn@umich.educlass MinneDefaultBenchmark(DefaultBenchmark): 1813671Sbinkertn@umich.edu def smred(self, isa, os): pass 1823671Sbinkertn@umich.edu def mdred(self, isa, os): pass 1833671Sbinkertn@umich.edu def lgred(self, isa, os): pass 1843671Sbinkertn@umich.edu 1853671Sbinkertn@umich.educlass ammp(MinneDefaultBenchmark): 1863671Sbinkertn@umich.edu name = 'ammp' 1873671Sbinkertn@umich.edu number = 188 1883671Sbinkertn@umich.edu lang = 'C' 1895361Srstrong@cs.ucsd.edu simpoint = 108*100E6 1903671Sbinkertn@umich.edu 1913671Sbinkertn@umich.educlass applu(MinneDefaultBenchmark): 1923671Sbinkertn@umich.edu name = 'applu' 1933671Sbinkertn@umich.edu number = 173 1943671Sbinkertn@umich.edu lang = 'F77' 1955361Srstrong@cs.ucsd.edu simpoint = 2179*100E6 1963671Sbinkertn@umich.edu 1973671Sbinkertn@umich.educlass apsi(MinneDefaultBenchmark): 1983671Sbinkertn@umich.edu name = 'apsi' 1993671Sbinkertn@umich.edu number = 301 2003671Sbinkertn@umich.edu lang = 'F77' 2015361Srstrong@cs.ucsd.edu simpoint = 3408*100E6 2023671Sbinkertn@umich.edu 2033671Sbinkertn@umich.educlass art(DefaultBenchmark): 2043671Sbinkertn@umich.edu name = 'art' 2053671Sbinkertn@umich.edu number = 179 2063671Sbinkertn@umich.edu lang = 'C' 2073671Sbinkertn@umich.edu 2083671Sbinkertn@umich.edu def test(self, isa, os): 2093671Sbinkertn@umich.edu self.args = [ '-scanfile', 'c756hel.in', 2103671Sbinkertn@umich.edu '-trainfile1', 'a10.img', 2113671Sbinkertn@umich.edu '-stride', '2', 2123671Sbinkertn@umich.edu '-startx', '134', 2133671Sbinkertn@umich.edu '-starty', '220', 2143671Sbinkertn@umich.edu '-endx', '139', 2153671Sbinkertn@umich.edu '-endy', '225', 2163671Sbinkertn@umich.edu '-objects', '1' ] 2173671Sbinkertn@umich.edu self.output = 'test.out' 2183671Sbinkertn@umich.edu 2193671Sbinkertn@umich.edu def train(self, isa, os): 2203671Sbinkertn@umich.edu self.args = [ '-scanfile', 'c756hel.in', 2213671Sbinkertn@umich.edu '-trainfile1', 'a10.img', 2223671Sbinkertn@umich.edu '-stride', '2', 2233671Sbinkertn@umich.edu '-startx', '134', 2243671Sbinkertn@umich.edu '-starty', '220', 2253671Sbinkertn@umich.edu '-endx', '184', 2263671Sbinkertn@umich.edu '-endy', '240', 2273671Sbinkertn@umich.edu '-objects', '3' ] 2283671Sbinkertn@umich.edu self.output = 'train.out' 2293671Sbinkertn@umich.edu 2303671Sbinkertn@umich.edu def lgred(self, isa, os): 2313671Sbinkertn@umich.edu self.args = ['-scanfile', 'c756hel.in', 2323671Sbinkertn@umich.edu '-trainfile1', 'a10.img', 2333671Sbinkertn@umich.edu '-stride', '5', 2343671Sbinkertn@umich.edu '-startx', '134', 2353671Sbinkertn@umich.edu '-starty', '220', 2363671Sbinkertn@umich.edu '-endx', '184', 2373671Sbinkertn@umich.edu '-endy', '240', 2383671Sbinkertn@umich.edu '-objects', '1' ] 2393671Sbinkertn@umich.edu self.output = 'lgred.out' 2403671Sbinkertn@umich.edu 2413671Sbinkertn@umich.edu 2423671Sbinkertn@umich.educlass art110(art): 2433671Sbinkertn@umich.edu def ref(self, isa, os): 2443671Sbinkertn@umich.edu self.args = [ '-scanfile', 'c756hel.in', 2453671Sbinkertn@umich.edu '-trainfile1', 'a10.img', 2463671Sbinkertn@umich.edu '-trainfile2', 'hc.img', 2473671Sbinkertn@umich.edu '-stride', '2', 2483671Sbinkertn@umich.edu '-startx', '110', 2493671Sbinkertn@umich.edu '-starty', '200', 2503671Sbinkertn@umich.edu '-endx', '160', 2513671Sbinkertn@umich.edu '-endy', '240', 2523671Sbinkertn@umich.edu '-objects', '10' ] 2533671Sbinkertn@umich.edu self.output = 'ref.1.out' 2545361Srstrong@cs.ucsd.edu self.simpoint = 340*100E6 2553671Sbinkertn@umich.edu 2563671Sbinkertn@umich.educlass art470(art): 2573671Sbinkertn@umich.edu def ref(self, isa, os): 2583671Sbinkertn@umich.edu self.args = [ '-scanfile', 'c756hel.in', 2593671Sbinkertn@umich.edu '-trainfile1', 'a10.img', 2603671Sbinkertn@umich.edu '-trainfile2', 'hc.img', 2613671Sbinkertn@umich.edu '-stride', '2', 2623671Sbinkertn@umich.edu '-startx', '470', 2633671Sbinkertn@umich.edu '-starty', '140', 2643671Sbinkertn@umich.edu '-endx', '520', 2653671Sbinkertn@umich.edu '-endy', '180', 2663671Sbinkertn@umich.edu '-objects', '10' ] 2673671Sbinkertn@umich.edu self.output = 'ref.2.out' 2685361Srstrong@cs.ucsd.edu self.simpoint = 365*100E6 2693671Sbinkertn@umich.edu 2703671Sbinkertn@umich.educlass equake(DefaultBenchmark): 2713671Sbinkertn@umich.edu name = 'equake' 2723671Sbinkertn@umich.edu number = 183 2733671Sbinkertn@umich.edu lang = 'C' 2745361Srstrong@cs.ucsd.edu simpoint = 812*100E6 2753671Sbinkertn@umich.edu 2763671Sbinkertn@umich.edu def lgred(self, isa, os): pass 2773671Sbinkertn@umich.edu 2783671Sbinkertn@umich.educlass facerec(MinneDefaultBenchmark): 2793671Sbinkertn@umich.edu name = 'facerec' 2803671Sbinkertn@umich.edu number = 187 2813671Sbinkertn@umich.edu lang = 'F' 2825361Srstrong@cs.ucsd.edu simpoint = 375*100E6 2833671Sbinkertn@umich.edu 2843671Sbinkertn@umich.educlass fma3d(MinneDefaultBenchmark): 2853671Sbinkertn@umich.edu name = 'fma3d' 2863671Sbinkertn@umich.edu number = 191 2873671Sbinkertn@umich.edu lang = 'F' 2885361Srstrong@cs.ucsd.edu simpoint = 2541*100E6 2893671Sbinkertn@umich.edu 2903671Sbinkertn@umich.educlass galgel(MinneDefaultBenchmark): 2913671Sbinkertn@umich.edu name = 'galgel' 2923671Sbinkertn@umich.edu number = 178 2933671Sbinkertn@umich.edu lang = 'F' 2945361Srstrong@cs.ucsd.edu simpoint = 2491*100E6 2953671Sbinkertn@umich.edu 2963671Sbinkertn@umich.educlass lucas(MinneDefaultBenchmark): 2973671Sbinkertn@umich.edu name = 'lucas' 2983671Sbinkertn@umich.edu number = 189 2993671Sbinkertn@umich.edu lang = 'F' 3005361Srstrong@cs.ucsd.edu simpoint = 545*100E6 3013671Sbinkertn@umich.edu 3023671Sbinkertn@umich.educlass mesa(Benchmark): 3033671Sbinkertn@umich.edu name = 'mesa' 3043671Sbinkertn@umich.edu number = 177 3053671Sbinkertn@umich.edu lang = 'C' 3063671Sbinkertn@umich.edu stdin = None 3073671Sbinkertn@umich.edu 3083671Sbinkertn@umich.edu def __set_args(self, frames): 3093671Sbinkertn@umich.edu self.args = [ '-frames', frames, '-meshfile', '%s.in' % self.name, 3103671Sbinkertn@umich.edu '-ppmfile', '%s.ppm' % self.name ] 3113671Sbinkertn@umich.edu 3123671Sbinkertn@umich.edu def test(self, isa, os): 3133671Sbinkertn@umich.edu self.__set_args('10') 3143671Sbinkertn@umich.edu 3153671Sbinkertn@umich.edu def train(self, isa, os): 3163671Sbinkertn@umich.edu self.__set_args('500') 3173671Sbinkertn@umich.edu 3183671Sbinkertn@umich.edu def ref(self, isa, os): 3193671Sbinkertn@umich.edu self.__set_args('1000') 3205361Srstrong@cs.ucsd.edu self.simpoint = 1135*100E6 3213671Sbinkertn@umich.edu 3223671Sbinkertn@umich.edu def lgred(self, isa, os): 3233671Sbinkertn@umich.edu self.__set_args('1') 3243671Sbinkertn@umich.edu 3253671Sbinkertn@umich.educlass mgrid(MinneDefaultBenchmark): 3263671Sbinkertn@umich.edu name = 'mgrid' 3273671Sbinkertn@umich.edu number = 172 3283671Sbinkertn@umich.edu lang = 'F77' 3295361Srstrong@cs.ucsd.edu simpoint = 3292*100E6 3303671Sbinkertn@umich.edu 3313671Sbinkertn@umich.educlass sixtrack(DefaultBenchmark): 3323671Sbinkertn@umich.edu name = 'sixtrack' 3333671Sbinkertn@umich.edu number = 200 3343671Sbinkertn@umich.edu lang = 'F77' 3355361Srstrong@cs.ucsd.edu simpoint = 3043*100E6 3363671Sbinkertn@umich.edu 3373671Sbinkertn@umich.edu def lgred(self, isa, os): pass 3383671Sbinkertn@umich.edu 3393671Sbinkertn@umich.educlass swim(MinneDefaultBenchmark): 3403671Sbinkertn@umich.edu name = 'swim' 3413671Sbinkertn@umich.edu number = 171 3423671Sbinkertn@umich.edu lang = 'F77' 3435361Srstrong@cs.ucsd.edu simpoint = 2079*100E6 3443671Sbinkertn@umich.edu 3453671Sbinkertn@umich.educlass wupwise(DefaultBenchmark): 3463671Sbinkertn@umich.edu name = 'wupwise' 3473671Sbinkertn@umich.edu number = 168 3483671Sbinkertn@umich.edu lang = 'F77' 3495361Srstrong@cs.ucsd.edu simpoint = 3237*100E6 3503671Sbinkertn@umich.edu 3513671Sbinkertn@umich.edu def lgred(self, isa, os): pass 3523671Sbinkertn@umich.edu 3533671Sbinkertn@umich.educlass bzip2(DefaultBenchmark): 3543671Sbinkertn@umich.edu name = 'bzip2' 3553671Sbinkertn@umich.edu number = 256 3563671Sbinkertn@umich.edu lang = 'C' 3573671Sbinkertn@umich.edu 3583671Sbinkertn@umich.edu def test(self, isa, os): 3593671Sbinkertn@umich.edu self.args = [ 'input.random' ] 3603671Sbinkertn@umich.edu 3613671Sbinkertn@umich.edu def train(self, isa, os): 3623671Sbinkertn@umich.edu self.args = [ 'input.compressed' ] 3633671Sbinkertn@umich.edu 3643671Sbinkertn@umich.educlass bzip2_source(bzip2): 3653671Sbinkertn@umich.edu def ref(self, isa, os): 3665361Srstrong@cs.ucsd.edu self.simpoint = 977*100E6 3673671Sbinkertn@umich.edu self.args = [ 'input.source', '58' ] 3683671Sbinkertn@umich.edu 3693671Sbinkertn@umich.edu def lgred(self, isa, os): 3703671Sbinkertn@umich.edu self.args = [ 'input.source', '1' ] 3713671Sbinkertn@umich.edu 3723671Sbinkertn@umich.educlass bzip2_graphic(bzip2): 3733671Sbinkertn@umich.edu def ref(self, isa, os): 3745361Srstrong@cs.ucsd.edu self.simpoint = 718*100E6 3753671Sbinkertn@umich.edu self.args = [ 'input.graphic', '58' ] 3763671Sbinkertn@umich.edu 3773671Sbinkertn@umich.edu def lgred(self, isa, os): 3783671Sbinkertn@umich.edu self.args = [ 'input.graphic', '1' ] 3793671Sbinkertn@umich.edu 3803671Sbinkertn@umich.educlass bzip2_program(bzip2): 3813671Sbinkertn@umich.edu def ref(self, isa, os): 3825361Srstrong@cs.ucsd.edu self.simpoint = 458*100E6 3833671Sbinkertn@umich.edu self.args = [ 'input.program', '58' ] 3843671Sbinkertn@umich.edu 3853671Sbinkertn@umich.edu def lgred(self, isa, os): 3863671Sbinkertn@umich.edu self.args = [ 'input.program', '1' ] 3873671Sbinkertn@umich.edu 3883671Sbinkertn@umich.educlass crafty(MinneDefaultBenchmark): 3893671Sbinkertn@umich.edu name = 'crafty' 3903671Sbinkertn@umich.edu number = 186 3913671Sbinkertn@umich.edu lang = 'C' 3925361Srstrong@cs.ucsd.edu simpoint = 774*100E6 3933671Sbinkertn@umich.edu 3943671Sbinkertn@umich.educlass eon(MinneDefaultBenchmark): 3953671Sbinkertn@umich.edu name = 'eon' 3963671Sbinkertn@umich.edu number = 252 3973671Sbinkertn@umich.edu lang = 'CXX' 3983671Sbinkertn@umich.edu stdin = None 3993671Sbinkertn@umich.edu 4003671Sbinkertn@umich.educlass eon_kajiya(eon): 4013671Sbinkertn@umich.edu args = [ 'chair.control.kajiya', 'chair.camera', 'chair.surfaces', 4023671Sbinkertn@umich.edu 'chair.kajiya.ppm', 'ppm', 'pixels_out.kajiya'] 4033671Sbinkertn@umich.edu output = 'kajiya_log.out' 4043671Sbinkertn@umich.edu 4053671Sbinkertn@umich.edu 4063671Sbinkertn@umich.educlass eon_cook(eon): 4073671Sbinkertn@umich.edu args = [ 'chair.control.cook', 'chair.camera', 'chair.surfaces', 4083671Sbinkertn@umich.edu 'chair.cook.ppm', 'ppm', 'pixels_out.cook' ] 4093671Sbinkertn@umich.edu output = 'cook_log.out' 4103671Sbinkertn@umich.edu 4113671Sbinkertn@umich.educlass eon_rushmeier(eon): 4123671Sbinkertn@umich.edu args = [ 'chair.control.rushmeier', 'chair.camera', 'chair.surfaces', 4133671Sbinkertn@umich.edu 'chair.rushmeier.ppm', 'ppm', 'pixels_out.rushmeier' ] 4143671Sbinkertn@umich.edu output = 'rushmeier_log.out' 4155361Srstrong@cs.ucsd.edu simpoint = 403*100E6 4163671Sbinkertn@umich.edu 4173671Sbinkertn@umich.educlass gap(DefaultBenchmark): 4183671Sbinkertn@umich.edu name = 'gap' 4193671Sbinkertn@umich.edu number = 254 4203671Sbinkertn@umich.edu lang = 'C' 4213671Sbinkertn@umich.edu 4223671Sbinkertn@umich.edu def __set_args(self, size): 4233671Sbinkertn@umich.edu self.args = [ '-l', './', '-q', '-m', size ] 4243671Sbinkertn@umich.edu 4253671Sbinkertn@umich.edu def test(self, isa, os): 4263671Sbinkertn@umich.edu self.__set_args('64M') 4273671Sbinkertn@umich.edu 4283671Sbinkertn@umich.edu def train(self, isa, os): 4293671Sbinkertn@umich.edu self.__set_args('128M') 4303671Sbinkertn@umich.edu 4313671Sbinkertn@umich.edu def ref(self, isa, os): 4323671Sbinkertn@umich.edu self.__set_args('192M') 4335361Srstrong@cs.ucsd.edu self.simpoint = 674*100E6 4343671Sbinkertn@umich.edu 4353671Sbinkertn@umich.edu def lgred(self, isa, os): 4363671Sbinkertn@umich.edu self.__set_args('64M') 4373671Sbinkertn@umich.edu 4383671Sbinkertn@umich.edu def mdred(self, isa, os): 4393671Sbinkertn@umich.edu self.__set_args('64M') 4403671Sbinkertn@umich.edu 4413671Sbinkertn@umich.edu def smred(self, isa, os): 4423671Sbinkertn@umich.edu self.__set_args('64M') 4433671Sbinkertn@umich.edu 4443671Sbinkertn@umich.educlass gcc(DefaultBenchmark): 4453671Sbinkertn@umich.edu name = 'gcc' 4463671Sbinkertn@umich.edu number = 176 4473671Sbinkertn@umich.edu lang = 'C' 4483671Sbinkertn@umich.edu 4493671Sbinkertn@umich.edu def test(self, isa, os): 4503671Sbinkertn@umich.edu self.args = [ 'cccp.i', '-o', 'cccp.s' ] 4513671Sbinkertn@umich.edu 4523671Sbinkertn@umich.edu def train(self, isa, os): 4533671Sbinkertn@umich.edu self.args = [ 'cp-decl.i', '-o', 'cp-decl.s' ] 4543671Sbinkertn@umich.edu 4553671Sbinkertn@umich.edu def smred(self, isa, os): 4563671Sbinkertn@umich.edu self.args = [ 'c-iterate.i', '-o', 'c-iterate.s' ] 4573671Sbinkertn@umich.edu 4583671Sbinkertn@umich.edu def mdred(self, isa, os): 4593671Sbinkertn@umich.edu self.args = [ 'rdlanal.i', '-o', 'rdlanal.s' ] 4603671Sbinkertn@umich.edu 4613671Sbinkertn@umich.edu def lgred(self, isa, os): 4623671Sbinkertn@umich.edu self.args = [ 'cp-decl.i', '-o', 'cp-decl.s' ] 4633671Sbinkertn@umich.edu 4643671Sbinkertn@umich.educlass gcc_166(gcc): 4653671Sbinkertn@umich.edu def ref(self, isa, os): 4665361Srstrong@cs.ucsd.edu self.simpoint = 389*100E6 4673671Sbinkertn@umich.edu self.args = [ '166.i', '-o', '166.s' ] 4683671Sbinkertn@umich.edu 4693671Sbinkertn@umich.educlass gcc_200(gcc): 4703671Sbinkertn@umich.edu def ref(self, isa, os): 4715361Srstrong@cs.ucsd.edu self.simpoint = 736*100E6 4723671Sbinkertn@umich.edu self.args = [ '200.i', '-o', '200.s' ] 4733671Sbinkertn@umich.edu 4743671Sbinkertn@umich.educlass gcc_expr(gcc): 4753671Sbinkertn@umich.edu def ref(self, isa, os): 4765361Srstrong@cs.ucsd.edu self.simpoint = 36*100E6 4773671Sbinkertn@umich.edu self.args = [ 'expr.i', '-o', 'expr.s' ] 4783671Sbinkertn@umich.edu 4793671Sbinkertn@umich.educlass gcc_integrate(gcc): 4803671Sbinkertn@umich.edu def ref(self, isa, os): 4815361Srstrong@cs.ucsd.edu self.simpoint = 4*100E6 4823671Sbinkertn@umich.edu self.args = [ 'integrate.i', '-o', 'integrate.s' ] 4833671Sbinkertn@umich.edu 4843671Sbinkertn@umich.educlass gcc_scilab(gcc): 4853671Sbinkertn@umich.edu def ref(self, isa, os): 4865361Srstrong@cs.ucsd.edu self.simpoint = 207*100E6 4873671Sbinkertn@umich.edu self.args = [ 'scilab.i', '-o', 'scilab.s' ] 4883671Sbinkertn@umich.edu 4893671Sbinkertn@umich.educlass gzip(DefaultBenchmark): 4903671Sbinkertn@umich.edu name = 'gzip' 4913671Sbinkertn@umich.edu number = 164 4923671Sbinkertn@umich.edu lang = 'C' 4933671Sbinkertn@umich.edu 4943671Sbinkertn@umich.edu def test(self, isa, os): 4953671Sbinkertn@umich.edu self.args = [ 'input.compressed', '2' ] 4963671Sbinkertn@umich.edu 4973671Sbinkertn@umich.edu def train(self, isa, os): 4983671Sbinkertn@umich.edu self.args = [ 'input.combined', '32' ] 4993671Sbinkertn@umich.edu 5003671Sbinkertn@umich.educlass gzip_source(gzip): 5013671Sbinkertn@umich.edu def ref(self, isa, os): 5025361Srstrong@cs.ucsd.edu self.simpoint = 334*100E6 5033671Sbinkertn@umich.edu self.args = [ 'input.source', '1' ] 5043671Sbinkertn@umich.edu def smred(self, isa, os): 5053671Sbinkertn@umich.edu self.args = [ 'input.source', '1' ] 5063671Sbinkertn@umich.edu def mdred(self, isa, os): 5073671Sbinkertn@umich.edu self.args = [ 'input.source', '1' ] 5083671Sbinkertn@umich.edu def lgred(self, isa, os): 5093671Sbinkertn@umich.edu self.args = [ 'input.source', '1' ] 5103671Sbinkertn@umich.edu 5113671Sbinkertn@umich.educlass gzip_log(gzip): 5123671Sbinkertn@umich.edu def ref(self, isa, os): 5135361Srstrong@cs.ucsd.edu self.simpoint = 265*100E6 5143671Sbinkertn@umich.edu self.args = [ 'input.log', '60' ] 5153671Sbinkertn@umich.edu def smred(self, isa, os): 5163671Sbinkertn@umich.edu self.args = [ 'input.log', '1' ] 5173671Sbinkertn@umich.edu def mdred(self, isa, os): 5183671Sbinkertn@umich.edu self.args = [ 'input.log', '1' ] 5193671Sbinkertn@umich.edu def lgred(self, isa, os): 5203671Sbinkertn@umich.edu self.args = [ 'input.log', '1' ] 5213671Sbinkertn@umich.edu 5223671Sbinkertn@umich.educlass gzip_graphic(gzip): 5233671Sbinkertn@umich.edu def ref(self, isa, os): 5245361Srstrong@cs.ucsd.edu self.simpoint = 653*100E6 5253671Sbinkertn@umich.edu self.args = [ 'input.graphic', '60' ] 5263671Sbinkertn@umich.edu def smred(self, isa, os): 5273671Sbinkertn@umich.edu self.args = [ 'input.graphic', '1' ] 5283671Sbinkertn@umich.edu def mdred(self, isa, os): 5293671Sbinkertn@umich.edu self.args = [ 'input.graphic', '1' ] 5303671Sbinkertn@umich.edu def lgred(self, isa, os): 5313671Sbinkertn@umich.edu self.args = [ 'input.graphic', '1' ] 5323671Sbinkertn@umich.edu 5333671Sbinkertn@umich.educlass gzip_random(gzip): 5343671Sbinkertn@umich.edu def ref(self, isa, os): 5355361Srstrong@cs.ucsd.edu self.simpoint = 623*100E6 5363671Sbinkertn@umich.edu self.args = [ 'input.random', '60' ] 5373671Sbinkertn@umich.edu def smred(self, isa, os): 5383671Sbinkertn@umich.edu self.args = [ 'input.random', '1' ] 5393671Sbinkertn@umich.edu def mdred(self, isa, os): 5403671Sbinkertn@umich.edu self.args = [ 'input.random', '1' ] 5413671Sbinkertn@umich.edu def lgred(self, isa, os): 5423671Sbinkertn@umich.edu self.args = [ 'input.random', '1' ] 5433671Sbinkertn@umich.edu 5443671Sbinkertn@umich.educlass gzip_program(gzip): 5453671Sbinkertn@umich.edu def ref(self, isa, os): 5465361Srstrong@cs.ucsd.edu self.simpoint = 1189*100E6 5473671Sbinkertn@umich.edu self.args = [ 'input.program', '60' ] 5483671Sbinkertn@umich.edu def smred(self, isa, os): 5493671Sbinkertn@umich.edu self.args = [ 'input.program', '1' ] 5503671Sbinkertn@umich.edu def mdred(self, isa, os): 5513671Sbinkertn@umich.edu self.args = [ 'input.program', '1' ] 5523671Sbinkertn@umich.edu def lgred(self, isa, os): 5533671Sbinkertn@umich.edu self.args = [ 'input.program', '1' ] 5543671Sbinkertn@umich.edu 5553671Sbinkertn@umich.educlass mcf(MinneDefaultBenchmark): 5563671Sbinkertn@umich.edu name = 'mcf' 5573671Sbinkertn@umich.edu number = 181 5583671Sbinkertn@umich.edu lang = 'C' 5594271Sgblack@eecs.umich.edu args = [ 'mcf.in' ] 5605361Srstrong@cs.ucsd.edu simpoint = 553*100E6 5613671Sbinkertn@umich.edu 5623671Sbinkertn@umich.educlass parser(MinneDefaultBenchmark): 5633671Sbinkertn@umich.edu name = 'parser' 5643671Sbinkertn@umich.edu number = 197 5653671Sbinkertn@umich.edu lang = 'C' 5663671Sbinkertn@umich.edu args = [ '2.1.dict', '-batch' ] 5675361Srstrong@cs.ucsd.edu simpoint = 1146*100E6 5683671Sbinkertn@umich.edu 5693671Sbinkertn@umich.educlass perlbmk(DefaultBenchmark): 5703671Sbinkertn@umich.edu name = 'perlbmk' 5713671Sbinkertn@umich.edu number = 253 5723671Sbinkertn@umich.edu lang = 'C' 5733671Sbinkertn@umich.edu 5743671Sbinkertn@umich.edu def test(self, isa, os): 5753671Sbinkertn@umich.edu self.args = [ '-I.', '-I', 'lib', 'test.pl' ] 5763671Sbinkertn@umich.edu self.stdin = 'test.in' 5773671Sbinkertn@umich.edu 5783671Sbinkertn@umich.educlass perlbmk_diffmail(perlbmk): 5793671Sbinkertn@umich.edu def ref(self, isa, os): 5805361Srstrong@cs.ucsd.edu self.simpoint = 141*100E6 5813671Sbinkertn@umich.edu self.args = [ '-I', 'lib', 'diffmail.pl', '2', '550', '15', '24', 5823671Sbinkertn@umich.edu '23', '100' ] 5833671Sbinkertn@umich.edu 5843671Sbinkertn@umich.edu def train(self, isa, os): 5853671Sbinkertn@umich.edu self.args = [ '-I', 'lib', 'diffmail.pl', '2', '350', '15', '24', 5863671Sbinkertn@umich.edu '23', '150' ] 5873671Sbinkertn@umich.edu 5883671Sbinkertn@umich.educlass perlbmk_scrabbl(perlbmk): 5893671Sbinkertn@umich.edu def train(self, isa, os): 5903671Sbinkertn@umich.edu self.args = [ '-I.', '-I', 'lib', 'scrabbl.pl' ] 5913671Sbinkertn@umich.edu self.stdin = 'scrabbl.in' 5923671Sbinkertn@umich.edu 5933671Sbinkertn@umich.educlass perlbmk_makerand(perlbmk): 5943671Sbinkertn@umich.edu def ref(self, isa, os): 5955361Srstrong@cs.ucsd.edu self.simpoint = 11*100E6 5963671Sbinkertn@umich.edu self.args = [ '-I', 'lib', 'makerand.pl' ] 5973671Sbinkertn@umich.edu 5983671Sbinkertn@umich.edu def lgred(self, isa, os): 5993671Sbinkertn@umich.edu self.args = [ '-I.', '-I', 'lib', 'lgred.makerand.pl' ] 6003671Sbinkertn@umich.edu 6013671Sbinkertn@umich.edu def mdred(self, isa, os): 6023671Sbinkertn@umich.edu self.args = [ '-I.', '-I', 'lib', 'mdred.makerand.pl' ] 6033671Sbinkertn@umich.edu 6043671Sbinkertn@umich.edu def smred(self, isa, os): 6053671Sbinkertn@umich.edu self.args = [ '-I.', '-I', 'lib', 'smred.makerand.pl' ] 6063671Sbinkertn@umich.edu 6073671Sbinkertn@umich.educlass perlbmk_perfect(perlbmk): 6083671Sbinkertn@umich.edu def ref(self, isa, os): 6095361Srstrong@cs.ucsd.edu self.simpoint = 5*100E6 6103671Sbinkertn@umich.edu self.args = [ '-I', 'lib', 'perfect.pl', 'b', '3', 'm', '4' ] 6113671Sbinkertn@umich.edu 6123671Sbinkertn@umich.edu def train(self, isa, os): 6133671Sbinkertn@umich.edu self.args = [ '-I', 'lib', 'perfect.pl', 'b', '3' ] 6143671Sbinkertn@umich.edu 6153671Sbinkertn@umich.educlass perlbmk_splitmail1(perlbmk): 6163671Sbinkertn@umich.edu def ref(self, isa, os): 6175361Srstrong@cs.ucsd.edu self.simpoint = 405*100E6 6183671Sbinkertn@umich.edu self.args = [ '-I', 'lib', 'splitmail.pl', '850', '5', '19', 6193671Sbinkertn@umich.edu '18', '1500' ] 6203671Sbinkertn@umich.edu 6213671Sbinkertn@umich.educlass perlbmk_splitmail2(perlbmk): 6223671Sbinkertn@umich.edu def ref(self, isa, os): 6233671Sbinkertn@umich.edu self.args = [ '-I', 'lib', 'splitmail.pl', '704', '12', '26', 6243671Sbinkertn@umich.edu '16', '836' ] 6253671Sbinkertn@umich.edu 6263671Sbinkertn@umich.educlass perlbmk_splitmail3(perlbmk): 6273671Sbinkertn@umich.edu def ref(self, isa, os): 6283671Sbinkertn@umich.edu self.args = [ '-I', 'lib', 'splitmail.pl', '535', '13', '25', 6293671Sbinkertn@umich.edu '24', '1091' ] 6303671Sbinkertn@umich.edu 6313671Sbinkertn@umich.educlass perlbmk_splitmail4(perlbmk): 6323671Sbinkertn@umich.edu def ref(self, isa, os): 6333671Sbinkertn@umich.edu self.args = [ '-I', 'lib', 'splitmail.pl', '957', '12', '23', 6343671Sbinkertn@umich.edu '26', '1014' ] 6353671Sbinkertn@umich.edu 6363671Sbinkertn@umich.educlass twolf(Benchmark): 6373671Sbinkertn@umich.edu name = 'twolf' 6383671Sbinkertn@umich.edu number = 300 6393671Sbinkertn@umich.edu lang = 'C' 6403671Sbinkertn@umich.edu stdin = None 6413671Sbinkertn@umich.edu 6423671Sbinkertn@umich.edu def test(self, isa, os): 6433671Sbinkertn@umich.edu self.args = [ 'test' ] 6443671Sbinkertn@umich.edu 6453671Sbinkertn@umich.edu def train(self, isa, os): 6463671Sbinkertn@umich.edu self.args = [ 'train' ] 6473671Sbinkertn@umich.edu 6483671Sbinkertn@umich.edu def ref(self, isa, os): 6495361Srstrong@cs.ucsd.edu self.simpoint = 1066*100E6 6503671Sbinkertn@umich.edu self.args = [ 'ref' ] 6513671Sbinkertn@umich.edu 6523671Sbinkertn@umich.edu def smred(self, isa, os): 6533671Sbinkertn@umich.edu self.args = [ 'smred' ] 6543671Sbinkertn@umich.edu 6553671Sbinkertn@umich.edu def mdred(self, isa, os): 6563671Sbinkertn@umich.edu self.args = [ 'mdred' ] 6573671Sbinkertn@umich.edu 6583671Sbinkertn@umich.edu def lgred(self, isa, os): 6593671Sbinkertn@umich.edu self.args = [ 'lgred' ] 6603671Sbinkertn@umich.edu 6613671Sbinkertn@umich.educlass vortex(Benchmark): 6623671Sbinkertn@umich.edu name = 'vortex' 6633671Sbinkertn@umich.edu number = 255 6643671Sbinkertn@umich.edu lang = 'C' 6653671Sbinkertn@umich.edu stdin = None 6663671Sbinkertn@umich.edu 6673671Sbinkertn@umich.edu def __init__(self, isa, os, input_set): 66810037SARM gem5 Developers if (isa in ('alpha', 'arm', 'thumb', 'aarch64')): 6693671Sbinkertn@umich.edu self.endian = 'lendian' 6704116Sgblack@eecs.umich.edu elif (isa == 'sparc' or isa == 'sparc32'): 6714116Sgblack@eecs.umich.edu self.endian = 'bendian' 6723671Sbinkertn@umich.edu else: 6733671Sbinkertn@umich.edu raise AttributeError, "unknown ISA %s" % isa 6743671Sbinkertn@umich.edu 6753671Sbinkertn@umich.edu super(vortex, self).__init__(isa, os, input_set) 6763671Sbinkertn@umich.edu 6773671Sbinkertn@umich.edu def test(self, isa, os): 6783671Sbinkertn@umich.edu self.args = [ '%s.raw' % self.endian ] 6793671Sbinkertn@umich.edu self.output = 'vortex.out' 6803671Sbinkertn@umich.edu 6813671Sbinkertn@umich.edu def train(self, isa, os): 6823671Sbinkertn@umich.edu self.args = [ '%s.raw' % self.endian ] 6833671Sbinkertn@umich.edu self.output = 'vortex.out' 6843671Sbinkertn@umich.edu 6853671Sbinkertn@umich.edu def smred(self, isa, os): 6863671Sbinkertn@umich.edu self.args = [ '%s.raw' % self.endian ] 6873671Sbinkertn@umich.edu self.output = 'vortex.out' 6883671Sbinkertn@umich.edu 6893671Sbinkertn@umich.edu def mdred(self, isa, os): 6903671Sbinkertn@umich.edu self.args = [ '%s.raw' % self.endian ] 6913671Sbinkertn@umich.edu self.output = 'vortex.out' 6923671Sbinkertn@umich.edu 6933671Sbinkertn@umich.edu def lgred(self, isa, os): 6943671Sbinkertn@umich.edu self.args = [ '%s.raw' % self.endian ] 6953671Sbinkertn@umich.edu self.output = 'vortex.out' 6963671Sbinkertn@umich.edu 6973671Sbinkertn@umich.educlass vortex1(vortex): 6983671Sbinkertn@umich.edu def ref(self, isa, os): 6993671Sbinkertn@umich.edu self.args = [ '%s1.raw' % self.endian ] 7003671Sbinkertn@umich.edu self.output = 'vortex1.out' 7015361Srstrong@cs.ucsd.edu self.simpoint = 271*100E6 7023671Sbinkertn@umich.edu 7033671Sbinkertn@umich.edu 7043671Sbinkertn@umich.educlass vortex2(vortex): 7053671Sbinkertn@umich.edu def ref(self, isa, os): 7065361Srstrong@cs.ucsd.edu self.simpoint = 1024*100E6 7073671Sbinkertn@umich.edu self.args = [ '%s2.raw' % self.endian ] 7083671Sbinkertn@umich.edu self.output = 'vortex2.out' 7093671Sbinkertn@umich.edu 7103671Sbinkertn@umich.educlass vortex3(vortex): 7113671Sbinkertn@umich.edu def ref(self, isa, os): 7125361Srstrong@cs.ucsd.edu self.simpoint = 564*100E6 7133671Sbinkertn@umich.edu self.args = [ '%s3.raw' % self.endian ] 7143671Sbinkertn@umich.edu self.output = 'vortex3.out' 7153671Sbinkertn@umich.edu 7163671Sbinkertn@umich.educlass vpr(MinneDefaultBenchmark): 7173671Sbinkertn@umich.edu name = 'vpr' 7183671Sbinkertn@umich.edu number = 175 7193671Sbinkertn@umich.edu lang = 'C' 7203671Sbinkertn@umich.edu 7213671Sbinkertn@umich.edu# not sure about vpr minnespec place.in 7223671Sbinkertn@umich.educlass vpr_place(vpr): 7233671Sbinkertn@umich.edu args = [ 'net.in', 'arch.in', 'place.out', 'dum.out', '-nodisp', 7243671Sbinkertn@umich.edu '-place_only', '-init_t', '5', '-exit_t', '0.005', 7253671Sbinkertn@umich.edu '-alpha_t', '0.9412', '-inner_num', '2' ] 7263671Sbinkertn@umich.edu output = 'place_log.out' 7273671Sbinkertn@umich.edu 7283671Sbinkertn@umich.educlass vpr_route(vpr): 7295361Srstrong@cs.ucsd.edu simpoint = 476*100E6 7303671Sbinkertn@umich.edu args = [ 'net.in', 'arch.in', 'place.in', 'route.out', '-nodisp', 7313671Sbinkertn@umich.edu '-route_only', '-route_chan_width', '15', 7323671Sbinkertn@umich.edu '-pres_fac_mult', '2', '-acc_fac', '1', 7333671Sbinkertn@umich.edu '-first_iter_pres_fac', '4', '-initial_pres_fac', '8' ] 7343671Sbinkertn@umich.edu output = 'route_log.out' 7353671Sbinkertn@umich.edu 7368657SAli.Saidi@ARM.comall = [ ammp, applu, apsi, art, art110, art470, equake, facerec, fma3d, galgel, 7373671Sbinkertn@umich.edu lucas, mesa, mgrid, sixtrack, swim, wupwise, bzip2_source, 7383671Sbinkertn@umich.edu bzip2_graphic, bzip2_program, crafty, eon_kajiya, eon_cook, 7393671Sbinkertn@umich.edu eon_rushmeier, gap, gcc_166, gcc_200, gcc_expr, gcc_integrate, 7403671Sbinkertn@umich.edu gcc_scilab, gzip_source, gzip_log, gzip_graphic, gzip_random, 7413671Sbinkertn@umich.edu gzip_program, mcf, parser, perlbmk_diffmail, perlbmk_makerand, 7423671Sbinkertn@umich.edu perlbmk_perfect, perlbmk_splitmail1, perlbmk_splitmail2, 7433671Sbinkertn@umich.edu perlbmk_splitmail3, perlbmk_splitmail4, twolf, vortex1, vortex2, 7443671Sbinkertn@umich.edu vortex3, vpr_place, vpr_route ] 7453671Sbinkertn@umich.edu 7463671Sbinkertn@umich.edu__all__ = [ x.__name__ for x in all ] 7473671Sbinkertn@umich.edu 7483671Sbinkertn@umich.eduif __name__ == '__main__': 7493671Sbinkertn@umich.edu from pprint import pprint 7503671Sbinkertn@umich.edu for bench in all: 7513671Sbinkertn@umich.edu for input_set in 'ref', 'test', 'train': 75212564Sgabeblack@google.com print('class: %s' % bench.__name__) 7533671Sbinkertn@umich.edu x = bench('alpha', 'tru64', input_set) 75412564Sgabeblack@google.com print('%s: %s' % (x, input_set)) 75511851Sbrandon.potter@amd.com pprint(x.makeProcessArgs()) 75612564Sgabeblack@google.com print() 757