cpu2000.py revision 8246
1# Copyright (c) 2006-2008 The Regents of The University of Michigan 2# All rights reserved. 3# 4# Redistribution and use in source and binary forms, with or without 5# modification, are permitted provided that the following conditions are 6# met: redistributions of source code must retain the above copyright 7# notice, this list of conditions and the following disclaimer; 8# redistributions in binary form must reproduce the above copyright 9# notice, this list of conditions and the following disclaimer in the 10# documentation and/or other materials provided with the distribution; 11# neither the name of the copyright holders nor the names of its 12# contributors may be used to endorse or promote products derived from 13# this software without specific prior written permission. 14# 15# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 16# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 17# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 18# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 19# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 21# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 23# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26# 27# Authors: Nathan Binkert 28 29import os 30import sys 31from os.path import basename, exists, join as joinpath, normpath 32from os.path import isdir, isfile, islink 33 34spec_dist = os.environ.get('M5_CPU2000', '/dist/m5/cpu2000') 35 36def copyfiles(srcdir, dstdir): 37 from filecmp import cmp as filecmp 38 from shutil import copyfile 39 40 srcdir = normpath(srcdir) 41 dstdir = normpath(dstdir) 42 43 if not isdir(dstdir): 44 os.mkdir(dstdir) 45 46 for root, dirs, files in os.walk(srcdir): 47 root = normpath(root) 48 prefix = os.path.commonprefix([root, srcdir]) 49 50 root = root[len(prefix):] 51 if root.startswith('/'): 52 root = root[1:] 53 54 for entry in dirs: 55 newdir = joinpath(dstdir, root, entry) 56 if not isdir(newdir): 57 os.mkdir(newdir) 58 59 for entry in files: 60 dest = normpath(joinpath(dstdir, root, entry)) 61 src = normpath(joinpath(srcdir, root, entry)) 62 if not isfile(dest) or not filecmp(src, dest): 63 copyfile(src, dest) 64 65 # some of the spec benchmarks expect to be run from one directory up. 66 # just create some symlinks that solve the problem 67 inlink = joinpath(dstdir, 'input') 68 outlink = joinpath(dstdir, 'output') 69 if not exists(inlink): 70 os.symlink('.', inlink) 71 if not exists(outlink): 72 os.symlink('.', outlink) 73 74class Benchmark(object): 75 def __init__(self, isa, os, input_set): 76 if not hasattr(self.__class__, 'name'): 77 self.name = self.__class__.__name__ 78 79 if not hasattr(self.__class__, 'binary'): 80 self.binary = self.name 81 82 if not hasattr(self.__class__, 'args'): 83 self.args = [] 84 85 if not hasattr(self.__class__, 'output'): 86 self.output = '%s.out' % self.name 87 88 if not hasattr(self.__class__, 'simpoint'): 89 self.simpoint = None 90 91 try: 92 func = getattr(self.__class__, input_set) 93 except AttributeError: 94 raise AttributeError, \ 95 'The benchmark %s does not have the %s input set' % \ 96 (self.name, input_set) 97 98 executable = joinpath(spec_dist, 'binaries', isa, os, self.binary) 99 if not isfile(executable): 100 raise AttributeError, '%s not found' % executable 101 self.executable = executable 102 103 # root of tree for input & output data files 104 data_dir = joinpath(spec_dist, 'data', self.name) 105 # optional subtree with files shared across input sets 106 all_dir = joinpath(data_dir, 'all') 107 # dirs for input & output files for this input set 108 inputs_dir = joinpath(data_dir, input_set, 'input') 109 outputs_dir = joinpath(data_dir, input_set, 'output') 110 # keep around which input set was specified 111 self.input_set = input_set 112 113 if not isdir(inputs_dir): 114 raise AttributeError, '%s not found' % inputs_dir 115 116 self.inputs_dir = [ inputs_dir ] 117 if isdir(all_dir): 118 self.inputs_dir += [ joinpath(all_dir, 'input') ] 119 if isdir(outputs_dir): 120 self.outputs_dir = outputs_dir 121 122 if not hasattr(self.__class__, 'stdin'): 123 self.stdin = joinpath(inputs_dir, '%s.in' % self.name) 124 if not isfile(self.stdin): 125 self.stdin = None 126 127 if not hasattr(self.__class__, 'stdout'): 128 self.stdout = joinpath(outputs_dir, '%s.out' % self.name) 129 if not isfile(self.stdout): 130 self.stdout = None 131 132 func(self, isa, os) 133 134 def makeLiveProcessArgs(self, **kwargs): 135 # set up default args for LiveProcess object 136 process_args = {} 137 process_args['cmd'] = [ self.name ] + self.args 138 process_args['executable'] = self.executable 139 if self.stdin: 140 process_args['input'] = self.stdin 141 if self.stdout: 142 process_args['output'] = self.stdout 143 if self.simpoint: 144 process_args['simpoint'] = self.simpoint 145 # explicit keywords override defaults 146 process_args.update(kwargs) 147 148 return process_args 149 150 def makeLiveProcess(self, **kwargs): 151 process_args = self.makeLiveProcessArgs(**kwargs) 152 153 # figure out working directory: use m5's outdir unless 154 # overridden by LiveProcess's cwd param 155 cwd = process_args.get('cwd') 156 157 if not cwd: 158 from m5 import options 159 cwd = options.outdir 160 process_args['cwd'] = cwd 161 if not isdir(cwd): 162 os.makedirs(cwd) 163 # copy input files to working directory 164 for d in self.inputs_dir: 165 copyfiles(d, cwd) 166 # generate LiveProcess object 167 from m5.objects import LiveProcess 168 return LiveProcess(**process_args) 169 170 def __str__(self): 171 return self.name 172 173class DefaultBenchmark(Benchmark): 174 def ref(self, isa, os): pass 175 def test(self, isa, os): pass 176 def train(self, isa, os): pass 177 178class MinneDefaultBenchmark(DefaultBenchmark): 179 def smred(self, isa, os): pass 180 def mdred(self, isa, os): pass 181 def lgred(self, isa, os): pass 182 183class ammp(MinneDefaultBenchmark): 184 name = 'ammp' 185 number = 188 186 lang = 'C' 187 simpoint = 108*100E6 188 189class applu(MinneDefaultBenchmark): 190 name = 'applu' 191 number = 173 192 lang = 'F77' 193 simpoint = 2179*100E6 194 195class apsi(MinneDefaultBenchmark): 196 name = 'apsi' 197 number = 301 198 lang = 'F77' 199 simpoint = 3408*100E6 200 201class art(DefaultBenchmark): 202 name = 'art' 203 number = 179 204 lang = 'C' 205 206 def test(self, isa, os): 207 self.args = [ '-scanfile', 'c756hel.in', 208 '-trainfile1', 'a10.img', 209 '-stride', '2', 210 '-startx', '134', 211 '-starty', '220', 212 '-endx', '139', 213 '-endy', '225', 214 '-objects', '1' ] 215 self.output = 'test.out' 216 217 def train(self, isa, os): 218 self.args = [ '-scanfile', 'c756hel.in', 219 '-trainfile1', 'a10.img', 220 '-stride', '2', 221 '-startx', '134', 222 '-starty', '220', 223 '-endx', '184', 224 '-endy', '240', 225 '-objects', '3' ] 226 self.output = 'train.out' 227 228 def lgred(self, isa, os): 229 self.args = ['-scanfile', 'c756hel.in', 230 '-trainfile1', 'a10.img', 231 '-stride', '5', 232 '-startx', '134', 233 '-starty', '220', 234 '-endx', '184', 235 '-endy', '240', 236 '-objects', '1' ] 237 self.output = 'lgred.out' 238 239 240class art110(art): 241 def ref(self, isa, os): 242 self.args = [ '-scanfile', 'c756hel.in', 243 '-trainfile1', 'a10.img', 244 '-trainfile2', 'hc.img', 245 '-stride', '2', 246 '-startx', '110', 247 '-starty', '200', 248 '-endx', '160', 249 '-endy', '240', 250 '-objects', '10' ] 251 self.output = 'ref.1.out' 252 self.simpoint = 340*100E6 253 254class art470(art): 255 def ref(self, isa, os): 256 self.args = [ '-scanfile', 'c756hel.in', 257 '-trainfile1', 'a10.img', 258 '-trainfile2', 'hc.img', 259 '-stride', '2', 260 '-startx', '470', 261 '-starty', '140', 262 '-endx', '520', 263 '-endy', '180', 264 '-objects', '10' ] 265 self.output = 'ref.2.out' 266 self.simpoint = 365*100E6 267 268class equake(DefaultBenchmark): 269 name = 'equake' 270 number = 183 271 lang = 'C' 272 simpoint = 812*100E6 273 274 def lgred(self, isa, os): pass 275 276class facerec(MinneDefaultBenchmark): 277 name = 'facerec' 278 number = 187 279 lang = 'F' 280 simpoint = 375*100E6 281 282class fma3d(MinneDefaultBenchmark): 283 name = 'fma3d' 284 number = 191 285 lang = 'F' 286 simpoint = 2541*100E6 287 288class galgel(MinneDefaultBenchmark): 289 name = 'galgel' 290 number = 178 291 lang = 'F' 292 simpoint = 2491*100E6 293 294class lucas(MinneDefaultBenchmark): 295 name = 'lucas' 296 number = 189 297 lang = 'F' 298 simpoint = 545*100E6 299 300class mesa(Benchmark): 301 name = 'mesa' 302 number = 177 303 lang = 'C' 304 stdin = None 305 306 def __set_args(self, frames): 307 self.args = [ '-frames', frames, '-meshfile', '%s.in' % self.name, 308 '-ppmfile', '%s.ppm' % self.name ] 309 310 def test(self, isa, os): 311 self.__set_args('10') 312 313 def train(self, isa, os): 314 self.__set_args('500') 315 316 def ref(self, isa, os): 317 self.__set_args('1000') 318 self.simpoint = 1135*100E6 319 320 def lgred(self, isa, os): 321 self.__set_args('1') 322 323class mgrid(MinneDefaultBenchmark): 324 name = 'mgrid' 325 number = 172 326 lang = 'F77' 327 simpoint = 3292*100E6 328 329class sixtrack(DefaultBenchmark): 330 name = 'sixtrack' 331 number = 200 332 lang = 'F77' 333 simpoint = 3043*100E6 334 335 def lgred(self, isa, os): pass 336 337class swim(MinneDefaultBenchmark): 338 name = 'swim' 339 number = 171 340 lang = 'F77' 341 simpoint = 2079*100E6 342 343class wupwise(DefaultBenchmark): 344 name = 'wupwise' 345 number = 168 346 lang = 'F77' 347 simpoint = 3237*100E6 348 349 def lgred(self, isa, os): pass 350 351class bzip2(DefaultBenchmark): 352 name = 'bzip2' 353 number = 256 354 lang = 'C' 355 356 def test(self, isa, os): 357 self.args = [ 'input.random' ] 358 359 def train(self, isa, os): 360 self.args = [ 'input.compressed' ] 361 362class bzip2_source(bzip2): 363 def ref(self, isa, os): 364 self.simpoint = 977*100E6 365 self.args = [ 'input.source', '58' ] 366 367 def lgred(self, isa, os): 368 self.args = [ 'input.source', '1' ] 369 370class bzip2_graphic(bzip2): 371 def ref(self, isa, os): 372 self.simpoint = 718*100E6 373 self.args = [ 'input.graphic', '58' ] 374 375 def lgred(self, isa, os): 376 self.args = [ 'input.graphic', '1' ] 377 378class bzip2_program(bzip2): 379 def ref(self, isa, os): 380 self.simpoint = 458*100E6 381 self.args = [ 'input.program', '58' ] 382 383 def lgred(self, isa, os): 384 self.args = [ 'input.program', '1' ] 385 386class crafty(MinneDefaultBenchmark): 387 name = 'crafty' 388 number = 186 389 lang = 'C' 390 simpoint = 774*100E6 391 392class eon(MinneDefaultBenchmark): 393 name = 'eon' 394 number = 252 395 lang = 'CXX' 396 stdin = None 397 398class eon_kajiya(eon): 399 args = [ 'chair.control.kajiya', 'chair.camera', 'chair.surfaces', 400 'chair.kajiya.ppm', 'ppm', 'pixels_out.kajiya'] 401 output = 'kajiya_log.out' 402 403 404class eon_cook(eon): 405 args = [ 'chair.control.cook', 'chair.camera', 'chair.surfaces', 406 'chair.cook.ppm', 'ppm', 'pixels_out.cook' ] 407 output = 'cook_log.out' 408 409class eon_rushmeier(eon): 410 args = [ 'chair.control.rushmeier', 'chair.camera', 'chair.surfaces', 411 'chair.rushmeier.ppm', 'ppm', 'pixels_out.rushmeier' ] 412 output = 'rushmeier_log.out' 413 simpoint = 403*100E6 414 415class gap(DefaultBenchmark): 416 name = 'gap' 417 number = 254 418 lang = 'C' 419 420 def __set_args(self, size): 421 self.args = [ '-l', './', '-q', '-m', size ] 422 423 def test(self, isa, os): 424 self.__set_args('64M') 425 426 def train(self, isa, os): 427 self.__set_args('128M') 428 429 def ref(self, isa, os): 430 self.__set_args('192M') 431 self.simpoint = 674*100E6 432 433 def lgred(self, isa, os): 434 self.__set_args('64M') 435 436 def mdred(self, isa, os): 437 self.__set_args('64M') 438 439 def smred(self, isa, os): 440 self.__set_args('64M') 441 442class gcc(DefaultBenchmark): 443 name = 'gcc' 444 number = 176 445 lang = 'C' 446 447 def test(self, isa, os): 448 self.args = [ 'cccp.i', '-o', 'cccp.s' ] 449 450 def train(self, isa, os): 451 self.args = [ 'cp-decl.i', '-o', 'cp-decl.s' ] 452 453 def smred(self, isa, os): 454 self.args = [ 'c-iterate.i', '-o', 'c-iterate.s' ] 455 456 def mdred(self, isa, os): 457 self.args = [ 'rdlanal.i', '-o', 'rdlanal.s' ] 458 459 def lgred(self, isa, os): 460 self.args = [ 'cp-decl.i', '-o', 'cp-decl.s' ] 461 462class gcc_166(gcc): 463 def ref(self, isa, os): 464 self.simpoint = 389*100E6 465 self.args = [ '166.i', '-o', '166.s' ] 466 467class gcc_200(gcc): 468 def ref(self, isa, os): 469 self.simpoint = 736*100E6 470 self.args = [ '200.i', '-o', '200.s' ] 471 472class gcc_expr(gcc): 473 def ref(self, isa, os): 474 self.simpoint = 36*100E6 475 self.args = [ 'expr.i', '-o', 'expr.s' ] 476 477class gcc_integrate(gcc): 478 def ref(self, isa, os): 479 self.simpoint = 4*100E6 480 self.args = [ 'integrate.i', '-o', 'integrate.s' ] 481 482class gcc_scilab(gcc): 483 def ref(self, isa, os): 484 self.simpoint = 207*100E6 485 self.args = [ 'scilab.i', '-o', 'scilab.s' ] 486 487class gzip(DefaultBenchmark): 488 name = 'gzip' 489 number = 164 490 lang = 'C' 491 492 def test(self, isa, os): 493 self.args = [ 'input.compressed', '2' ] 494 495 def train(self, isa, os): 496 self.args = [ 'input.combined', '32' ] 497 498class gzip_source(gzip): 499 def ref(self, isa, os): 500 self.simpoint = 334*100E6 501 self.args = [ 'input.source', '1' ] 502 def smred(self, isa, os): 503 self.args = [ 'input.source', '1' ] 504 def mdred(self, isa, os): 505 self.args = [ 'input.source', '1' ] 506 def lgred(self, isa, os): 507 self.args = [ 'input.source', '1' ] 508 509class gzip_log(gzip): 510 def ref(self, isa, os): 511 self.simpoint = 265*100E6 512 self.args = [ 'input.log', '60' ] 513 def smred(self, isa, os): 514 self.args = [ 'input.log', '1' ] 515 def mdred(self, isa, os): 516 self.args = [ 'input.log', '1' ] 517 def lgred(self, isa, os): 518 self.args = [ 'input.log', '1' ] 519 520class gzip_graphic(gzip): 521 def ref(self, isa, os): 522 self.simpoint = 653*100E6 523 self.args = [ 'input.graphic', '60' ] 524 def smred(self, isa, os): 525 self.args = [ 'input.graphic', '1' ] 526 def mdred(self, isa, os): 527 self.args = [ 'input.graphic', '1' ] 528 def lgred(self, isa, os): 529 self.args = [ 'input.graphic', '1' ] 530 531class gzip_random(gzip): 532 def ref(self, isa, os): 533 self.simpoint = 623*100E6 534 self.args = [ 'input.random', '60' ] 535 def smred(self, isa, os): 536 self.args = [ 'input.random', '1' ] 537 def mdred(self, isa, os): 538 self.args = [ 'input.random', '1' ] 539 def lgred(self, isa, os): 540 self.args = [ 'input.random', '1' ] 541 542class gzip_program(gzip): 543 def ref(self, isa, os): 544 self.simpoint = 1189*100E6 545 self.args = [ 'input.program', '60' ] 546 def smred(self, isa, os): 547 self.args = [ 'input.program', '1' ] 548 def mdred(self, isa, os): 549 self.args = [ 'input.program', '1' ] 550 def lgred(self, isa, os): 551 self.args = [ 'input.program', '1' ] 552 553class mcf(MinneDefaultBenchmark): 554 name = 'mcf' 555 number = 181 556 lang = 'C' 557 args = [ 'mcf.in' ] 558 simpoint = 553*100E6 559 560class parser(MinneDefaultBenchmark): 561 name = 'parser' 562 number = 197 563 lang = 'C' 564 args = [ '2.1.dict', '-batch' ] 565 simpoint = 1146*100E6 566 567class perlbmk(DefaultBenchmark): 568 name = 'perlbmk' 569 number = 253 570 lang = 'C' 571 572 def test(self, isa, os): 573 self.args = [ '-I.', '-I', 'lib', 'test.pl' ] 574 self.stdin = 'test.in' 575 576class perlbmk_diffmail(perlbmk): 577 def ref(self, isa, os): 578 self.simpoint = 141*100E6 579 self.args = [ '-I', 'lib', 'diffmail.pl', '2', '550', '15', '24', 580 '23', '100' ] 581 582 def train(self, isa, os): 583 self.args = [ '-I', 'lib', 'diffmail.pl', '2', '350', '15', '24', 584 '23', '150' ] 585 586class perlbmk_scrabbl(perlbmk): 587 def train(self, isa, os): 588 self.args = [ '-I.', '-I', 'lib', 'scrabbl.pl' ] 589 self.stdin = 'scrabbl.in' 590 591class perlbmk_makerand(perlbmk): 592 def ref(self, isa, os): 593 self.simpoint = 11*100E6 594 self.args = [ '-I', 'lib', 'makerand.pl' ] 595 596 def lgred(self, isa, os): 597 self.args = [ '-I.', '-I', 'lib', 'lgred.makerand.pl' ] 598 599 def mdred(self, isa, os): 600 self.args = [ '-I.', '-I', 'lib', 'mdred.makerand.pl' ] 601 602 def smred(self, isa, os): 603 self.args = [ '-I.', '-I', 'lib', 'smred.makerand.pl' ] 604 605class perlbmk_perfect(perlbmk): 606 def ref(self, isa, os): 607 self.simpoint = 5*100E6 608 self.args = [ '-I', 'lib', 'perfect.pl', 'b', '3', 'm', '4' ] 609 610 def train(self, isa, os): 611 self.args = [ '-I', 'lib', 'perfect.pl', 'b', '3' ] 612 613class perlbmk_splitmail1(perlbmk): 614 def ref(self, isa, os): 615 self.simpoint = 405*100E6 616 self.args = [ '-I', 'lib', 'splitmail.pl', '850', '5', '19', 617 '18', '1500' ] 618 619class perlbmk_splitmail2(perlbmk): 620 def ref(self, isa, os): 621 self.args = [ '-I', 'lib', 'splitmail.pl', '704', '12', '26', 622 '16', '836' ] 623 624class perlbmk_splitmail3(perlbmk): 625 def ref(self, isa, os): 626 self.args = [ '-I', 'lib', 'splitmail.pl', '535', '13', '25', 627 '24', '1091' ] 628 629class perlbmk_splitmail4(perlbmk): 630 def ref(self, isa, os): 631 self.args = [ '-I', 'lib', 'splitmail.pl', '957', '12', '23', 632 '26', '1014' ] 633 634class twolf(Benchmark): 635 name = 'twolf' 636 number = 300 637 lang = 'C' 638 stdin = None 639 640 def test(self, isa, os): 641 self.args = [ 'test' ] 642 643 def train(self, isa, os): 644 self.args = [ 'train' ] 645 646 def ref(self, isa, os): 647 self.simpoint = 1066*100E6 648 self.args = [ 'ref' ] 649 650 def smred(self, isa, os): 651 self.args = [ 'smred' ] 652 653 def mdred(self, isa, os): 654 self.args = [ 'mdred' ] 655 656 def lgred(self, isa, os): 657 self.args = [ 'lgred' ] 658 659class vortex(Benchmark): 660 name = 'vortex' 661 number = 255 662 lang = 'C' 663 stdin = None 664 665 def __init__(self, isa, os, input_set): 666 if (isa == 'alpha' or isa == 'arm'): 667 self.endian = 'lendian' 668 elif (isa == 'sparc' or isa == 'sparc32'): 669 self.endian = 'bendian' 670 else: 671 raise AttributeError, "unknown ISA %s" % isa 672 673 super(vortex, self).__init__(isa, os, input_set) 674 675 def test(self, isa, os): 676 self.args = [ '%s.raw' % self.endian ] 677 self.output = 'vortex.out' 678 679 def train(self, isa, os): 680 self.args = [ '%s.raw' % self.endian ] 681 self.output = 'vortex.out' 682 683 def smred(self, isa, os): 684 self.args = [ '%s.raw' % self.endian ] 685 self.output = 'vortex.out' 686 687 def mdred(self, isa, os): 688 self.args = [ '%s.raw' % self.endian ] 689 self.output = 'vortex.out' 690 691 def lgred(self, isa, os): 692 self.args = [ '%s.raw' % self.endian ] 693 self.output = 'vortex.out' 694 695class vortex1(vortex): 696 def ref(self, isa, os): 697 self.args = [ '%s1.raw' % self.endian ] 698 self.output = 'vortex1.out' 699 self.simpoint = 271*100E6 700 701 702class vortex2(vortex): 703 def ref(self, isa, os): 704 self.simpoint = 1024*100E6 705 self.args = [ '%s2.raw' % self.endian ] 706 self.output = 'vortex2.out' 707 708class vortex3(vortex): 709 def ref(self, isa, os): 710 self.simpoint = 564*100E6 711 self.args = [ '%s3.raw' % self.endian ] 712 self.output = 'vortex3.out' 713 714class vpr(MinneDefaultBenchmark): 715 name = 'vpr' 716 number = 175 717 lang = 'C' 718 719# not sure about vpr minnespec place.in 720class vpr_place(vpr): 721 args = [ 'net.in', 'arch.in', 'place.out', 'dum.out', '-nodisp', 722 '-place_only', '-init_t', '5', '-exit_t', '0.005', 723 '-alpha_t', '0.9412', '-inner_num', '2' ] 724 output = 'place_log.out' 725 726class vpr_route(vpr): 727 simpoint = 476*100E6 728 args = [ 'net.in', 'arch.in', 'place.in', 'route.out', '-nodisp', 729 '-route_only', '-route_chan_width', '15', 730 '-pres_fac_mult', '2', '-acc_fac', '1', 731 '-first_iter_pres_fac', '4', '-initial_pres_fac', '8' ] 732 output = 'route_log.out' 733 734all = [ ammp, applu, apsi, art110, art470, equake, facerec, fma3d, galgel, 735 lucas, mesa, mgrid, sixtrack, swim, wupwise, bzip2_source, 736 bzip2_graphic, bzip2_program, crafty, eon_kajiya, eon_cook, 737 eon_rushmeier, gap, gcc_166, gcc_200, gcc_expr, gcc_integrate, 738 gcc_scilab, gzip_source, gzip_log, gzip_graphic, gzip_random, 739 gzip_program, mcf, parser, perlbmk_diffmail, perlbmk_makerand, 740 perlbmk_perfect, perlbmk_splitmail1, perlbmk_splitmail2, 741 perlbmk_splitmail3, perlbmk_splitmail4, twolf, vortex1, vortex2, 742 vortex3, vpr_place, vpr_route ] 743 744__all__ = [ x.__name__ for x in all ] 745 746if __name__ == '__main__': 747 from pprint import pprint 748 for bench in all: 749 for input_set in 'ref', 'test', 'train': 750 print 'class: %s' % bench.__name__ 751 x = bench('alpha', 'tru64', input_set) 752 print '%s: %s' % (x, input_set) 753 pprint(x.makeLiveProcessArgs()) 754 print 755