Index: External/SPEC/CFP2006/Makefile =================================================================== --- External/SPEC/CFP2006/Makefile +++ External/SPEC/CFP2006/Makefile @@ -50,6 +50,11 @@ # 465.tonto - infinite loop, works at -O0, not at -O2 # 482.sphinx3 - generates control file at run time +# In the SPEC test module we can handle these too. +ifdef USE_SPEC_TEST_MODULE +PARALLEL_DIRS += 453.povray 482.sphinx3 +endif + ifdef DISABLE_CXX PARALLEL_DIRS := $(filter-out 444.namd, $(PARALLEL_DIRS)) PARALLEL_DIRS := $(filter-out 447.dealII, $(PARALLEL_DIRS)) Index: External/SPEC/Makefile =================================================================== --- External/SPEC/Makefile +++ External/SPEC/Makefile @@ -26,4 +26,11 @@ PARALLEL_DIRS := $(filter-out CINT95, $(PARALLEL_DIRS)) endif +# If reference input is requested, these are run under the SPEC test module. +# (The test module uses the makefile harness as well but it builds the +# benchmarks directly under their subdirectory so this check is bypassed.) +ifdef USE_SPEC_TEST_MODULE +PARALLEL_DIRS := $(filter-out CFP2006 CINT2006 CINT2000, $(PARALLEL_DIRS)) +endif + include $(LEVEL)/Makefile.programs Index: LNTBased/lib/spec.py =================================================================== --- /dev/null +++ LNTBased/lib/spec.py @@ -0,0 +1,185 @@ +#!/usr/bin/env python +# -*- Python -*- + +import os +import shutil + +# We import test functionity from LNT. +from lnt.tests import nt +from lnt.testing import TestSamples, PASS, FAIL, XFAIL +from lnt.testing.util import commands + +# Implement cp -rf such that src can be both a file or a directory and if +# the dst exists create the file/dir under dst rather than rename on the +# fly. +def cp_rf(src, dst): + if os.path.isfile(src): + shutil.copy(src, dst) + else: + newdst = dst + if os.path.exists(dst): + newdst = os.path.join(dst, os.path.basename(src)) + shutil.copytree(src, newdst) + +# Test module classes are currently required to subclass 'nt.TestModule'. +class TestModule(nt.TestModule): + def __init__(self): + # The subdirectory name under externals E.g. CINT2006 + self.suite = 'C' + self.category.upper() + str(self.year) + + # Name to identify this LNT test, e.g. nts.LNT/CINT2006_ref/456.hmmer + self.testname = "nts.LNT/%s_ref/%s" % (self.suite, self.benchmark) + + # Executable name, e.g. 456.hmmer.simple + self.exe = self.benchmark + '.simple' + + def configure_test_suite(self, config, working_dir): + args = [os.path.realpath(os.path.join(config.test_suite_root, + 'configure'))] + if config.without_llvm: + args.extend(['--without-llvmsrc', '--without-llvmobj']) + else: + args.extend(['--with-llvmsrc=%s' % config.llvm_src_root, + '--with-llvmobj=%s' % config.llvm_obj_root]) + + if config.test_suite_externals: + args.append('--with-externals=%s' % + os.path.realpath(config.test_suite_externals)) + + res = self.call(args, cwd=working_dir) + if res != 0: + return res + # RunSafely requires timeit, build it. + return self.call(['make', 'tools'], cwd=working_dir) + + def fail(self): + return [TestSamples(self.testname + '.compile.status', [FAIL])] + + def copy_input_set(self, dest_dir, size): + if size == 'train': + input_set = self.train_input_set + elif size == 'ref': + input_set = self.ref_input_set + else: + fatal('only train and ref are supported for now') + + for f in input_set: + cp_rf(os.path.join(self.datadir, f), dest_dir) + + def copy_output_set(self, dest_dir, size): + if size == 'train': + output_set = self.train_output_set + else: + output_set = self.ref_output_set + + for f in output_set: + cp_rf(os.path.join(self.datadir, f), dest_dir) + + def execute_test(self, options, make_variables, config): + MODULENAME = options['MODULENAME'] + self.SRCROOT = options['SRCROOT'] + OBJROOT = options['OBJROOT'] + CC = options['CC'] + CFLAGS = options['CFLAGS'] + TEST_SUITE_EXTERNALS = config.test_suite_externals + + # test-suite-externals//speccpu2006/benchspec/CPU2006/400.perlbench vs + # test-suite-externals//speccpu2000/benchspec/CINT2000/164.gzip + suitedir = os.path.join(TEST_SUITE_EXTERNALS, 'speccpu' + str(self.year), 'benchspec') + if self.year == '2000': + suitedir = os.path.join(suitedir, 'C%s2000' % self.category.upper()) + else: + suitedir = os.path.join(suitedir, 'CPU' + self.year) + + self.datadir = os.path.join(suitedir, self.benchmark, 'data') + print >>self.log, "%s\n options: %s\n\nmake variables: %s\n\n" % (self.testname, str(options), str(make_variables)) + + if not os.path.exists(self.datadir): + print >>self.log, "skipping, no source under externals" + return [] + + res = self.configure_test_suite(config, OBJROOT) + if res != 0: + return fail() + + make_cmd = ['make', '-k'] + make_cmd.extend('%s=%s' % (k,v) for k,v in make_variables.items()) + make_cmd.append('USE_SPEC_TEST_MODULE=1') + + # Run make clean to create the benchmark directories. + external_obj = os.path.join(OBJROOT, 'External', 'SPEC', self.suite, self.benchmark) + clean_cmd = make_cmd + external_spec_obj = os.path.split(external_obj)[0] + result = self.call(make_cmd + ['-C', external_spec_obj, 'clean']) + if result != 0: + return self.fail() + + # From this on, we are operating in the 456.hmmer directory. + make_cmd.extend(['-C', external_obj]) + exe_file = os.path.join('Output', self.exe) + + if config.pgo: + pgo_dir = os.path.join(OBJROOT, 'pgo') + os.mkdir(pgo_dir) + + target_flags = make_variables['TARGET_FLAGS'] + ' -fprofile-instr-generate' + pgo_make_cmd = make_cmd[:] + pgo_make_cmd.append("TARGET_FLAGS=%s" % target_flags) + result = self.call(pgo_make_cmd + [ exe_file ]) + + exe = os.path.join(external_obj, exe_file) + if result != 0 or not os.path.exists(exe): + return self.fail() + shutil.copy(exe, pgo_dir) + + self.copy_input_set(pgo_dir, 'train') + + pgo_cmd = './%s %s' % (self.exe, self.train_args) + result = self.call(pgo_cmd, cwd=pgo_dir, shell=True) + if result != 0: + return self.fail() + + llvm_profdata = os.path.join(os.path.dirname(CC), 'llvm-profdata') + result = self.call(llvm_profdata + ' merge -output=code.profdata pgo/default.profraw', shell=True, cwd=OBJROOT) + if result != 0: + return self.fail() + + target_flags = make_variables['TARGET_FLAGS'] + ' -fprofile-instr-use=' + os.path.join(OBJROOT, 'code.profdata') + make_cmd.append("TARGET_FLAGS=%s" % target_flags) + + result = self.call(make_cmd + ['-C', external_spec_obj, 'clean']) + if result != 0: + return self.fail() + + start_time = self.get_time() + result = self.call(make_cmd + [ exe_file ]) + compile_time = self.get_time() - start_time + + exe = os.path.join(external_obj, exe_file) + if result != 0 or not os.path.exists(exe): + return self.fail() + + shutil.copy(exe, OBJROOT) + + self.copy_input_set(OBJROOT, 'ref') + self.copy_output_set(OBJROOT, 'ref') + + run_cmds = ['./%s %s' % (self.exe, args) for args in self.ref_args] + status = PASS + + start_time = self.get_time() + for cmd in run_cmds: + result = self.call(cmd, cwd=OBJROOT, shell=True) + if result != 0: + status = FAIL + exec_time = self.get_time() - start_time + + os.environ['PATH'] += ':' + os.path.join(OBJROOT, 'tools') + for cmd in self.ref_cmp_cmds: + if self.call(cmd, cwd=OBJROOT, shell=True, env=os.environ) != 0: + status = FAIL + + return [ + TestSamples(self.testname + '.compile', [compile_time]), + TestSamples(self.testname + '.exec', [exec_time]), + TestSamples(self.testname + '.exec.status', [status])] Index: LNTBased/speccpu2000/int/164.gzip/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2000/int/164.gzip/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2000_164_gzip(spec.TestModule): + year = '2000' + category = 'int' + benchmark = '164.gzip' + + train_input_set = ['train/input/input.combined'] + train_output_set = ['train/output/input.combined.out'] + train_args = 'input.combined 32 > 164.gzip.combined.out 2> 164.gzip.combined.err' + train_cmp_cmd = 'diff 164.gzip.combined.out input.combined.out --strip-trailing-cr > 164.gzip.combined.cmp' + ref_input_set = ['ref/input/input.graphic', 'ref/input/input.log', 'ref/input/input.program', 'ref/input/input.random', 'ref/input/input.source'] + ref_output_set = ['ref/output/input.graphic.out', 'ref/output/input.log.out', 'ref/output/input.program.out', 'ref/output/input.random.out', 'ref/output/input.source.out'] + ref_args = ['input.graphic 60 > 164.gzip.graphic.out 2> 164.gzip.graphic.err', 'input.log 60 > 164.gzip.log.out 2> 164.gzip.log.err', 'input.program 60 > 164.gzip.program.out 2> 164.gzip.program.err', 'input.random 60 > 164.gzip.random.out 2> 164.gzip.random.err', 'input.source 60 > 164.gzip.source.out 2> 164.gzip.source.err'] + ref_cmp_cmds = ['diff 164.gzip.graphic.out input.graphic.out --strip-trailing-cr > 164.gzip.graphic.cmp', 'diff 164.gzip.log.out input.log.out --strip-trailing-cr > 164.gzip.log.cmp', 'diff 164.gzip.program.out input.program.out --strip-trailing-cr > 164.gzip.program.cmp', 'diff 164.gzip.random.out input.random.out --strip-trailing-cr > 164.gzip.random.cmp', 'diff 164.gzip.source.out input.source.out --strip-trailing-cr > 164.gzip.source.cmp'] + +# This is the only required entry point to the module. +test_class = SPEC2000_164_gzip + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2000/int/175.vpr/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2000/int/175.vpr/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2000_175_vpr(spec.TestModule): + year = '2000' + category = 'int' + benchmark = '175.vpr' + + train_input_set = ['train/input/net.in', 'train/input/arch.in', 'train/input/place.in'] + train_output_set = ['train/output/place_log.out'] + train_args = 'net.in arch.in place.in dum.out -nodisp -place_only -init_t 5 -exit_t 0.005 -alpha_t 0.9412 -inner_num 2 > 175.vpr.place.out 2> 175.vpr.place.err', 'net.in arch.in place.in route.out -nodisp -route_only -route_chan_width 15 -pres_fac_mult 2 -acc_fac 1 -first_iter_pres_fac 4 -initial_pres_fac 8 > 175.vpr.route.out 2> 175.vpr.route.err' + train_cmp_cmd = 'diff 175.vpr.place.out place_log.out --strip-trailing-cr > 175.vpr.place.cmp' + ref_input_set = ['ref/input/net.in', 'ref/input/arch.in', 'ref/input/place.in'] + ref_output_set = ['ref/output/place_log.out'] + ref_args = ['net.in arch.in place.in dum.out -nodisp -place_only -init_t 5 -exit_t 0.005 -alpha_t 0.9412 -inner_num 2 > 175.vpr.place.out 2> 175.vpr.place.err', 'net.in arch.in place.in route.out -nodisp -route_only -route_chan_width 15 -pres_fac_mult 2 -acc_fac 1 -first_iter_pres_fac 4 -initial_pres_fac 8 > 175.vpr.route.out 2> 175.vpr.route.err'] + ref_cmp_cmds = ['diff 175.vpr.place.out place_log.out --strip-trailing-cr > 175.vpr.place.cmp'] + +# This is the only required entry point to the module. +test_class = SPEC2000_175_vpr + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2000/int/176.gcc/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2000/int/176.gcc/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2000_176_gcc(spec.TestModule): + year = '2000' + category = 'int' + benchmark = '176.gcc' + + train_input_set = ['train/input/cp-decl.i'] + train_output_set = ['train/output/cp-decl.s'] + train_args = 'cp-decl.i -o - > 176.gcc.cp-decl.out 2> 176.gcc.cp-decl.err' + train_cmp_cmd = 'diff 176.gcc.cp-decl.out cp-decl.s --strip-trailing-cr > 176.gcc.cp-decl.cmp' + ref_input_set = ['ref/input/166.i', 'ref/input/200.i', 'ref/input/expr.i', 'ref/input/integrate.i', 'ref/input/scilab.i'] + ref_output_set = ['ref/output/166.s', 'ref/output/200.s', 'ref/output/expr.s', 'ref/output/integrate.s', 'ref/output/scilab.s'] + ref_args = ['166.i -o - > 176.gcc.166.out 2> 176.gcc.166.err', '200.i -o - > 176.gcc.200.out 2> 176.gcc.200.err', 'expr.i -o - > 176.gcc.expr.out 2> 176.gcc.expr.err', 'integrate.i -o - > 176.gcc.integrate.out 2> 176.gcc.integrate.err', 'scilab.i -o - > 176.gcc.scilab.out 2> 176.gcc.scilab.err'] + ref_cmp_cmds = ['diff 176.gcc.166.out 166.s --strip-trailing-cr > 176.gcc.166.cmp', 'diff 176.gcc.200.out 200.s --strip-trailing-cr > 176.gcc.200.cmp', 'diff 176.gcc.expr.out expr.s --strip-trailing-cr > 176.gcc.expr.cmp', 'diff 176.gcc.integrate.out integrate.s --strip-trailing-cr > 176.gcc.integrate.cmp', 'diff 176.gcc.scilab.out scilab.s --strip-trailing-cr > 176.gcc.scilab.cmp'] + +# This is the only required entry point to the module. +test_class = SPEC2000_176_gcc + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2000/int/181.mcf/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2000/int/181.mcf/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2000_181_mcf(spec.TestModule): + year = '2000' + category = 'int' + benchmark = '181.mcf' + + train_input_set = ['train/input/inp.in'] + train_output_set = ['train/output/inp.out'] + train_args = 'inp.in > 181.mcf.inp.out 2> 181.mcf.inp.err' + train_cmp_cmd = 'diff 181.mcf.inp.out inp.out --strip-trailing-cr > 181.mcf.inp.cmp' + ref_input_set = ['ref/input/inp.in'] + ref_output_set = ['ref/output/inp.out'] + ref_args = ['inp.in > 181.mcf.inp.out 2> 181.mcf.inp.err'] + ref_cmp_cmds = ['diff 181.mcf.inp.out inp.out --strip-trailing-cr > 181.mcf.inp.cmp'] + +# This is the only required entry point to the module. +test_class = SPEC2000_181_mcf + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2000/int/186.crafty/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2000/int/186.crafty/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2000_186_crafty(spec.TestModule): + year = '2000' + category = 'int' + benchmark = '186.crafty' + + train_input_set = ['train/input/crafty.in'] + train_output_set = ['train/output/crafty.out'] + train_args = '< crafty.in > 186.crafty.crafty.out 2> 186.crafty.crafty.err' + train_cmp_cmd = 'diff 186.crafty.crafty.out crafty.out --strip-trailing-cr > 186.crafty.crafty.cmp' + ref_input_set = ['ref/input/crafty.in'] + ref_output_set = ['ref/output/crafty.out'] + ref_args = ['< crafty.in > 186.crafty.crafty.out 2> 186.crafty.crafty.err'] + ref_cmp_cmds = ['diff 186.crafty.crafty.out crafty.out --strip-trailing-cr > 186.crafty.crafty.cmp'] + +# This is the only required entry point to the module. +test_class = SPEC2000_186_crafty + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2000/int/197.parser/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2000/int/197.parser/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2000_197_parser(spec.TestModule): + year = '2000' + category = 'int' + benchmark = '197.parser' + + train_input_set = ['all/input/2.1.dict', 'all/input/words', 'train/input/train.in'] + train_output_set = ['train/output/train.out'] + train_args = '< train.in 2.1.dict -batch > 197.parser.train.out 2> 197.parser.train.err' + train_cmp_cmd = 'diff 197.parser.train.out train.out --strip-trailing-cr > 197.parser.train.cmp' + ref_input_set = ['all/input/2.1.dict', 'all/input/words', 'ref/input/ref.in'] + ref_output_set = ['ref/output/ref.out'] + ref_args = ['< ref.in 2.1.dict -batch > 197.parser.ref.out 2> 197.parser.ref.err'] + ref_cmp_cmds = ['diff 197.parser.ref.out ref.out --strip-trailing-cr > 197.parser.ref.cmp'] + +# This is the only required entry point to the module. +test_class = SPEC2000_197_parser + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2000/int/252.eon/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2000/int/252.eon/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2000_252_eon(spec.TestModule): + year = '2000' + category = 'int' + benchmark = '252.eon' + + train_input_set = ['train/input/chair.camera', 'train/input/chair.control.cook', 'train/input/chair.control.kajiya', 'train/input/chair.control.rushmeier', 'train/input/chair.surfaces', 'train/input/eon.dat', 'train/input/materials', 'train/input/spectra.dat'] + train_output_set = ['train/output/pixels_out.cook', 'train/output/pixels_out.kajiya', 'train/output/pixels_out.rushmeier'] + train_args = 'chair.control.cook chair.camera chair.surfaces chair.cook.ppm ppm pixels_out.cook > 252.eon.cook.out 2> 252.eon.cook.err', 'chair.control.kajiya chair.camera chair.surfaces chair.kajiya.ppm ppm pixels_out.kajiya > 252.eon.kajiya.out 2> 252.eon.kajiya.err', 'chair.control.rushmeier chair.camera chair.surfaces chair.rushmeier.ppm ppm pixels_out.rushmeier > 252.eon.rushmeier.out 2> 252.eon.rushmeier.err' + train_cmp_cmd = 'fpcmp -a 0.005 pixels_out.cook pixels_out.cook > 252.eon.cook.cmp', 'fpcmp -a 0.005 pixels_out.kajiya pixels_out.kajiya > 252.eon.kajiya.cmp', 'fpcmp -a 0.005 pixels_out.rushmeier pixels_out.rushmeier > 252.eon.rushmeier.cmp' + ref_input_set = ['ref/input/chair.camera', 'ref/input/chair.control.cook', 'ref/input/chair.control.kajiya', 'ref/input/chair.control.rushmeier', 'ref/input/chair.surfaces', 'ref/input/eon.dat', 'ref/input/materials', 'ref/input/spectra.dat'] + ref_output_set = ['ref/output/pixels_out.cook', 'ref/output/pixels_out.kajiya', 'ref/output/pixels_out.rushmeier'] + ref_args = ['chair.control.cook chair.camera chair.surfaces chair.cook.ppm ppm pixels_out.cook > 252.eon.cook.out 2> 252.eon.cook.err', 'chair.control.kajiya chair.camera chair.surfaces chair.kajiya.ppm ppm pixels_out.kajiya > 252.eon.kajiya.out 2> 252.eon.kajiya.err', 'chair.control.rushmeier chair.camera chair.surfaces chair.rushmeier.ppm ppm pixels_out.rushmeier > 252.eon.rushmeier.out 2> 252.eon.rushmeier.err'] + ref_cmp_cmds = ['fpcmp -a 0.005 pixels_out.cook pixels_out.cook > 252.eon.cook.cmp', 'fpcmp -a 0.005 pixels_out.kajiya pixels_out.kajiya > 252.eon.kajiya.cmp', 'fpcmp -a 0.005 pixels_out.rushmeier pixels_out.rushmeier > 252.eon.rushmeier.cmp'] + +# This is the only required entry point to the module. +test_class = SPEC2000_252_eon + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2000/int/253.perlbmk/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2000/int/253.perlbmk/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2000_253_perlbmk(spec.TestModule): + year = '2000' + category = 'int' + benchmark = '253.perlbmk' + + train_input_set = ['all/input/cpu2000_mhonarc.rc', 'all/input/lib', 'all/input/lenums', 'all/input/benums', 'train/input/dictionary', 'all/input/diffmail.pl', 'all/input/perfect.pl', 'train/input/scrabbl.pl', 'train/input/scrabbl.in'] + train_output_set = ['train/output/2.350.15.24.23.150.out', 'train/output/b.3.out', 'train/output/scrabbl.out'] + train_args = '-Ilib diffmail.pl 2 350 15 24 23 150 > 253.perlbmk.diffmail.out 2> 253.perlbmk.diffmail.err', '-Ilib perfect.pl b 3 > 253.perlbmk.perfect.out 2> 253.perlbmk.perfect.err', '-Ilib scrabbl.pl < scrabbl.in > 253.perlbmk.scrabbl.out 2> 253.perlbmk.scrabbl.err' + train_cmp_cmd = 'diff 253.perlbmk.diffmail.out 2.350.15.24.23.150.out --strip-trailing-cr > 253.perlbmk.diffmail.cmp', 'diff 253.perlbmk.perfect.out b.3.out --strip-trailing-cr > 253.perlbmk.perfect.cmp', 'diff 253.perlbmk.scrabbl.out scrabbl.out --strip-trailing-cr > 253.perlbmk.scrabbl.cmp' + ref_input_set = ['all/input/cpu2000_mhonarc.rc', 'all/input/lib', 'all/input/lenums', 'all/input/benums', 'all/input/diffmail.pl', 'ref/input/makerand.pl', 'all/input/perfect.pl', 'ref/input/splitmail.pl'] + ref_output_set = ['ref/output/2.550.15.24.23.100.out', 'ref/output/makerand.out', 'ref/output/b.3.m.4.out', 'ref/output/850.5.19.18.1500.out', 'ref/output/704.12.26.16.836.out', 'ref/output/535.13.25.24.1091.out', 'ref/output/957.12.23.26.1014.out'] + ref_args = ['-Ilib diffmail.pl 2 550 15 24 23 100 > 253.perlbmk.diffmail.out 2> 253.perlbmk.diffmail.err', '-Ilib makerand.pl > 253.perlbmk.makerand.out 2> 253.perlbmk.makerand.err', '-Ilib perfect.pl b 3 m 4 > 253.perlbmk.perfect.out 2> 253.perlbmk.perfect.err', '-Ilib splitmail.pl 850 5 19 18 1500 > 253.perlbmk.splitmail1.out 2> 253.perlbmk.splitmail1.err', '-Ilib splitmail.pl 704 12 26 16 836 > 253.perlbmk.splitmail2.out 2> 253.perlbmk.splitmail2.err', '-Ilib splitmail.pl 535 13 25 24 1091 > 253.perlbmk.splitmail3.out 2> 253.perlbmk.splitmail3.err', '-Ilib splitmail.pl 957 12 23 26 1014 > 253.perlbmk.splitmail4.out 2> 253.perlbmk.splitmail4.err'] + ref_cmp_cmds = ['diff 253.perlbmk.diffmail.out 2.550.15.24.23.100.out --strip-trailing-cr > 253.perlbmk.diffmail.cmp', 'diff 253.perlbmk.makerand.out makerand.out --strip-trailing-cr > 253.perlbmk.makerand.cmp', 'diff 253.perlbmk.perfect.out b.3.m.4.out --strip-trailing-cr > 253.perlbmk.perfect.cmp', 'diff 253.perlbmk.splitmail1.out 850.5.19.18.1500.out --strip-trailing-cr > 253.perlbmk.splitmail1.cmp', 'diff 253.perlbmk.splitmail2.out 704.12.26.16.836.out --strip-trailing-cr > 253.perlbmk.splitmail2.cmp', 'diff 253.perlbmk.splitmail3.out 535.13.25.24.1091.out --strip-trailing-cr > 253.perlbmk.splitmail3.cmp', 'diff 253.perlbmk.splitmail4.out 957.12.23.26.1014.out --strip-trailing-cr > 253.perlbmk.splitmail4.cmp'] + +# This is the only required entry point to the module. +test_class = SPEC2000_253_perlbmk + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2000/int/254.gap/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2000/int/254.gap/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2000_254_gap(spec.TestModule): + year = '2000' + category = 'int' + benchmark = '254.gap' + + train_input_set = ['all/input/abattoir.g', 'all/input/agcoset.g', 'all/input/aghomomo.g', 'all/input/agsubgrp.g', 'all/input/algfld.g', 'all/input/basic.grp', 'all/input/combinat.g', 'all/input/ctfilter.g', 'all/input/ctmapcon.g', 'all/input/ctsymmet.g', 'all/input/field.g', 'all/input/fptietze.g', 'all/input/grpcoset.g', 'all/input/grplatt.g', 'all/input/lattperf.g', 'all/input/matgrp.grp', 'all/input/monomial.g', 'all/input/onecohom.g', 'all/input/permcose.g', 'all/input/permhomo.g', 'all/input/permstbc.g', 'all/input/polynom.g', 'all/input/ratclass.g', 'all/input/rowspace.g', 'all/input/sqstuff.g', 'all/input/agcent.g', 'all/input/agctbl.g', 'all/input/aginters.g', 'all/input/agwords.g', 'all/input/algfp.g', 'all/input/cdaggrp.g', 'all/input/ctautoms.g', 'all/input/ctgapmoc.g', 'all/input/ctmapusi.g', 'all/input/cyclotom.g', 'all/input/finfield.g', 'all/input/galois.g', 'all/input/grpctbl.g', 'all/input/grpprods.g', 'all/input/list.g', 'all/input/matring.g', 'all/input/morpheus.g', 'all/input/operatio.g', 'all/input/permcser.g', 'all/input/permnorm.g', 'all/input/permutat.g', 'all/input/polyrat.g', 'all/input/rational.g', 'all/input/saggroup.g', 'all/input/string.g', 'all/input/agclass.g', 'all/input/aggroup.g', 'all/input/agnorm.g', 'all/input/algebra.g', 'all/input/alghomom.g', 'all/input/chartabl.g', 'all/input/ctbasic.g', 'all/input/ctgeneri.g', 'all/input/ctpermch.g', 'all/input/dispatch.g', 'all/input/fpgrp.g', 'all/input/gaussian.g', 'all/input/grpelms.g', 'all/input/init.g', 'all/input/mapping.g', 'all/input/matrix.g', 'all/input/numfield.g', 'all/input/permag.g', 'all/input/permctbl.g', 'all/input/permoper.g', 'all/input/polyfin.g', 'all/input/polystff.g', 'all/input/ring.g', 'all/input/sagsbgrp.g', 'all/input/tom.g', 'all/input/agcomple.g', 'all/input/aghall.g', 'all/input/agprops.g', 'all/input/algfac.g', 'all/input/algmat.g', 'all/input/classfun.g', 'all/input/ctcharac.g', 'all/input/ctlattic.g', 'all/input/ctpgrp.g', 'all/input/domain.g', 'all/input/fpsgpres.g', 'all/input/group.g', 'all/input/grphomom.g', 'all/input/integer.g', 'all/input/matgrp.g', 'all/input/module.g', 'all/input/numtheor.g', 'all/input/permbckt.g', 'all/input/permgrp.g', 'all/input/permprod.g', 'all/input/polyfld.g', 'all/input/pq.g', 'all/input/rowmodul.g', 'all/input/sq.g', 'all/input/vecspace.g', 'train/input/train.in'] + train_output_set = ['train/output/train.out'] + train_args = '< train.in -l ./ -q -m 128M > 254.gap.train.out 2> 254.gap.train.err' + train_cmp_cmd = 'diff 254.gap.train.out train.out --strip-trailing-cr > 254.gap.train.cmp' + ref_input_set = ['all/input/abattoir.g', 'all/input/agcoset.g', 'all/input/aghomomo.g', 'all/input/agsubgrp.g', 'all/input/algfld.g', 'all/input/basic.grp', 'all/input/combinat.g', 'all/input/ctfilter.g', 'all/input/ctmapcon.g', 'all/input/ctsymmet.g', 'all/input/field.g', 'all/input/fptietze.g', 'all/input/grpcoset.g', 'all/input/grplatt.g', 'all/input/lattperf.g', 'all/input/matgrp.grp', 'all/input/monomial.g', 'all/input/onecohom.g', 'all/input/permcose.g', 'all/input/permhomo.g', 'all/input/permstbc.g', 'all/input/polynom.g', 'all/input/ratclass.g', 'all/input/rowspace.g', 'all/input/sqstuff.g', 'all/input/agcent.g', 'all/input/agctbl.g', 'all/input/aginters.g', 'all/input/agwords.g', 'all/input/algfp.g', 'all/input/cdaggrp.g', 'all/input/ctautoms.g', 'all/input/ctgapmoc.g', 'all/input/ctmapusi.g', 'all/input/cyclotom.g', 'all/input/finfield.g', 'all/input/galois.g', 'all/input/grpctbl.g', 'all/input/grpprods.g', 'all/input/list.g', 'all/input/matring.g', 'all/input/morpheus.g', 'all/input/operatio.g', 'all/input/permcser.g', 'all/input/permnorm.g', 'all/input/permutat.g', 'all/input/polyrat.g', 'all/input/rational.g', 'all/input/saggroup.g', 'all/input/string.g', 'all/input/agclass.g', 'all/input/aggroup.g', 'all/input/agnorm.g', 'all/input/algebra.g', 'all/input/alghomom.g', 'all/input/chartabl.g', 'all/input/ctbasic.g', 'all/input/ctgeneri.g', 'all/input/ctpermch.g', 'all/input/dispatch.g', 'all/input/fpgrp.g', 'all/input/gaussian.g', 'all/input/grpelms.g', 'all/input/init.g', 'all/input/mapping.g', 'all/input/matrix.g', 'all/input/numfield.g', 'all/input/permag.g', 'all/input/permctbl.g', 'all/input/permoper.g', 'all/input/polyfin.g', 'all/input/polystff.g', 'all/input/ring.g', 'all/input/sagsbgrp.g', 'all/input/tom.g', 'all/input/agcomple.g', 'all/input/aghall.g', 'all/input/agprops.g', 'all/input/algfac.g', 'all/input/algmat.g', 'all/input/classfun.g', 'all/input/ctcharac.g', 'all/input/ctlattic.g', 'all/input/ctpgrp.g', 'all/input/domain.g', 'all/input/fpsgpres.g', 'all/input/group.g', 'all/input/grphomom.g', 'all/input/integer.g', 'all/input/matgrp.g', 'all/input/module.g', 'all/input/numtheor.g', 'all/input/permbckt.g', 'all/input/permgrp.g', 'all/input/permprod.g', 'all/input/polyfld.g', 'all/input/pq.g', 'all/input/rowmodul.g', 'all/input/sq.g', 'all/input/vecspace.g', 'ref/input/ref.in'] + ref_output_set = ['ref/output/ref.out'] + ref_args = ['< ref.in -l ./ -q -m 192M > 254.gap.ref.out 2> 254.gap.ref.err'] + ref_cmp_cmds = ['diff 254.gap.ref.out ref.out --strip-trailing-cr > 254.gap.ref.cmp'] + +# This is the only required entry point to the module. +test_class = SPEC2000_254_gap + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2000/int/255.vortex/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2000/int/255.vortex/TestModule @@ -0,0 +1,41 @@ +#!/usr/bin/env python +# -*- Python -*- + +import os, shutil +import spec + +class SPEC2000_255_vortex(spec.TestModule): + year = '2000' + category = 'int' + benchmark = '255.vortex' + + train_input_set = ['train/input/lendian.rnv', 'train/input/lendian.wnv', 'train/input/persons.250', 'train/input/lendian.raw'] + train_output_set = ['train/output/vortex.out'] + train_args = 'lendian.raw > 255.vortex.lendian.out 2> 255.vortex.lendian.err' + train_cmp_cmd = 'diff vortex.out-expected vortex.out > 255.vortex.lendian.cmp' + ref_input_set = ['ref/input/lendian.rnv', 'ref/input/lendian.wnv', 'ref/input/persons.1k', 'ref/input/lendian1.raw', 'ref/input/lendian2.raw', 'ref/input/lendian3.raw'] + ref_output_set = ['ref/output/vortex1.out', 'ref/output/vortex2.out', 'ref/output/vortex3.out'] + ref_args = ['lendian1.raw > 255.vortex.lendian1.out 2> 255.vortex.lendian1.err', 'lendian2.raw > 255.vortex.lendian2.out 2> 255.vortex.lendian2.err', 'lendian3.raw > 255.vortex.lendian3.out 2> 255.vortex.lendian3.err'] + ref_cmp_cmds = ['diff vortex1.out.expected vortex1.out > 255.vortex.lendian1.cmp', + 'diff vortex2.out.expected vortex2.out > 255.vortex.lendian2.cmp', + 'diff vortex3.out.expected vortex3.out > 255.vortex.lendian3.cmp'] + + # We need to rename the files for the expected output because the test + # generate its output under the same names. + def copy_output_set(self, dest_dir, size): + if size == 'train': + output_set = self.train_output_set + else: + output_set = self.ref_output_set + + for f in output_set: + filename = os.path.basename(f) + '.expected' + shutil.copy(os.path.join(self.datadir, f), os.path.join(dest_dir, filename)) + +# This is the only required entry point to the module. +test_class = SPEC2000_255_vortex + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2000/int/256.bzip2/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2000/int/256.bzip2/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2000_256_bzip2(spec.TestModule): + year = '2000' + category = 'int' + benchmark = '256.bzip2' + + train_input_set = ['train/input/input.compressed'] + train_output_set = ['train/output/input.compressed.out'] + train_args = 'input.compressed 8 > 256.bzip2.compressed.out 2> 256.bzip2.compressed.err' + train_cmp_cmd = 'diff 256.bzip2.compressed.out input.compressed.out --strip-trailing-cr > 256.bzip2.compressed.cmp' + ref_input_set = ['ref/input/input.graphic', 'ref/input/input.program', 'ref/input/input.source'] + ref_output_set = ['ref/output/input.graphic.out', 'ref/output/input.program.out', 'ref/output/input.source.out'] + ref_args = ['input.graphic 58 > 256.bzip2.graphic.out 2> 256.bzip2.graphic.err', 'input.program 58 > 256.bzip2.program.out 2> 256.bzip2.program.err', 'input.source 58 > 256.bzip2.source.out 2> 256.bzip2.source.err'] + ref_cmp_cmds = ['diff 256.bzip2.graphic.out input.graphic.out --strip-trailing-cr > 256.bzip2.graphic.cmp', 'diff 256.bzip2.program.out input.program.out --strip-trailing-cr > 256.bzip2.program.cmp', 'diff 256.bzip2.source.out input.source.out --strip-trailing-cr > 256.bzip2.source.cmp'] + +# This is the only required entry point to the module. +test_class = SPEC2000_256_bzip2 + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2000/int/300.twolf/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2000/int/300.twolf/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2000_300_twolf(spec.TestModule): + year = '2000' + category = 'int' + benchmark = '300.twolf' + + train_input_set = ['train/input/train.blk', 'train/input/train.cel', 'train/input/train.par', 'train/input/train.net'] + train_output_set = ['train/output/train.stdout'] + train_args = 'train > 300.twolf.train.out 2> 300.twolf.train.err' + train_cmp_cmd = 'diff 300.twolf.train.out train.stdout --strip-trailing-cr > 300.twolf.train.cmp' + ref_input_set = ['ref/input/ref.blk', 'ref/input/ref.cel', 'ref/input/ref.par', 'ref/input/ref.net'] + ref_output_set = ['ref/output/ref.stdout'] + ref_args = ['ref > 300.twolf.ref.out 2> 300.twolf.ref.err'] + ref_cmp_cmds = ['diff 300.twolf.ref.out ref.stdout --strip-trailing-cr > 300.twolf.ref.cmp'] + +# This is the only required entry point to the module. +test_class = SPEC2000_300_twolf + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2006/fp/433.milc/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2006/fp/433.milc/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2006_433_milc(spec.TestModule): + year = '2006' + category = 'fp' + benchmark = '433.milc' + + train_input_set = ['train/input/su3imp.in'] + train_output_set = ['train/output/su3imp.out'] + train_args = '< su3imp.in > 433.milc.su3imp.out 2> 433.milc.su3imp.err' + train_cmp_cmd = 'diff 433.milc.su3imp.out su3imp.out --strip-trailing-cr > 433.milc.su3imp.cmp' + ref_input_set = ['ref/input/su3imp.in'] + ref_output_set = ['ref/output/su3imp.out'] + ref_args = ['< su3imp.in > 433.milc.su3imp.out 2> 433.milc.su3imp.err'] + ref_cmp_cmds = ['diff 433.milc.su3imp.out su3imp.out --strip-trailing-cr > 433.milc.su3imp.cmp'] + +# This is the only required entry point to the module. +test_class = SPEC2006_433_milc + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2006/fp/444.namd/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2006/fp/444.namd/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2006_444_namd(spec.TestModule): + year = '2006' + category = 'fp' + benchmark = '444.namd' + + train_input_set = ['all/input/namd.input'] + train_output_set = ['train/output/namd.out'] + train_args = '--input namd.input --iterations 1 --output namd.out > 444.namd.namd.out 2> 444.namd.namd.err' + train_cmp_cmd = '/Users/anemet/proj/theimpossibleinlnt/specs-cmake-build/fpcmp -a 0.00001 namd.out namd.out > 444.namd.namd.cmp' + ref_input_set = ['all/input/namd.input'] + ref_output_set = ['ref/output/namd.out'] + ref_args = ['--input namd.input --iterations 38 --output namd.out > 444.namd.namd.out 2> 444.namd.namd.err'] + ref_cmp_cmds = ['/Users/anemet/proj/theimpossibleinlnt/specs-cmake-build/fpcmp -a 0.00001 namd.out namd.out > 444.namd.namd.cmp'] + +# This is the only required entry point to the module. +test_class = SPEC2006_444_namd + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2006/fp/447.dealII/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2006/fp/447.dealII/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2006_447_dealII(spec.TestModule): + year = '2006' + category = 'fp' + benchmark = '447.dealII' + + train_input_set = [] + train_output_set = ['train/output/log'] + train_args = '10 > 447.dealII.10.out 2> 447.dealII.10.err' + train_cmp_cmd = 'diff 447.dealII.10.out log --strip-trailing-cr > 447.dealII.10.cmp' + ref_input_set = [] + ref_output_set = ['ref/output/log'] + ref_args = ['23 > 447.dealII.23.out 2> 447.dealII.23.err'] + ref_cmp_cmds = ['diff 447.dealII.23.out log --strip-trailing-cr > 447.dealII.23.cmp'] + +# This is the only required entry point to the module. +test_class = SPEC2006_447_dealII + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2006/fp/450.soplex/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2006/fp/450.soplex/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2006_450_soplex(spec.TestModule): + year = '2006' + category = 'fp' + benchmark = '450.soplex' + + train_input_set = ['train/input/train.mps', 'train/input/pds-20.mps'] + train_output_set = ['train/output/pds-20.mps.out', 'train/output/train.out'] + train_args = '-s1 -e -m5000 pds-20.mps > 450.soplex.pds-20.out 2> 450.soplex.pds-20.err', '-m1200 train.mps > 450.soplex.train.out 2> 450.soplex.train.err' + train_cmp_cmd = 'diff 450.soplex.pds-20.out pds-20.mps.out --strip-trailing-cr > 450.soplex.pds-20.cmp', 'diff 450.soplex.train.out train.out --strip-trailing-cr > 450.soplex.train.cmp' + ref_input_set = ['ref/input/ref.mps', 'ref/input/pds-50.mps'] + ref_output_set = ['ref/output/pds-50.mps.out', 'ref/output/ref.out'] + ref_args = ['-s1 -e -m45000 pds-50.mps > 450.soplex.pds-50.out 2> 450.soplex.pds-50.err', '-m3500 ref.mps > 450.soplex.ref.out 2> 450.soplex.ref.err'] + ref_cmp_cmds = ['diff 450.soplex.pds-50.out pds-50.mps.out --strip-trailing-cr > 450.soplex.pds-50.cmp', 'diff 450.soplex.ref.out ref.out --strip-trailing-cr > 450.soplex.ref.cmp'] + +# This is the only required entry point to the module. +test_class = SPEC2006_450_soplex + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2006/fp/453.povray/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2006/fp/453.povray/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2006_453_povray(spec.TestModule): + year = '2006' + category = 'fp' + benchmark = '453.povray' + + train_input_set = ['train/input/SPEC-benchmark-train.pov', 'all/input/arrays.inc', 'all/input/consts.inc', 'all/input/debug.inc', 'all/input/glass.inc', 'all/input/logo.inc', 'all/input/povlogo.ttf', 'all/input/screen.inc', 'all/input/shapes_old.inc', 'all/input/stage1.inc', 'all/input/stdinc.inc', 'all/input/stones1.inc', 'all/input/sunpos.inc', 'all/input/transforms.inc', 'all/input/chars.inc', 'all/input/crystal.ttf', 'all/input/finish.inc', 'all/input/glass_old.inc', 'all/input/math.inc', 'all/input/rad_def.inc', 'all/input/shapes.inc', 'all/input/shapesq.inc', 'all/input/stars.inc', 'all/input/stoneold.inc', 'all/input/stones2.inc', 'all/input/textures.inc', 'all/input/woodmaps.inc', 'all/input/colors.inc', 'all/input/cyrvetic.ttf', 'all/input/functions.inc', 'all/input/golds.inc', 'all/input/metals.inc', 'all/input/rand.inc', 'all/input/shapes2.inc', 'all/input/skies.inc', 'all/input/stdcam.inc', 'all/input/stones.inc', 'all/input/strings.inc', 'all/input/timrom.ttf', 'all/input/woods.inc', 'train/input/SPEC-benchmark-train.ini'] + train_output_set = ['train/output/SPEC-benchmark.log'] + train_args = 'SPEC-benchmark-train.ini > 453.povray.train.out 2> 453.povray.train.err' + train_cmp_cmd = 'diff SPEC-benchmark.log SPEC-benchmark.log > 453.povray.train.cmp' + ref_input_set = ['ref/input/SPEC-benchmark-ref.pov', 'all/input/arrays.inc', 'all/input/consts.inc', 'all/input/debug.inc', 'all/input/glass.inc', 'all/input/logo.inc', 'all/input/povlogo.ttf', 'all/input/screen.inc', 'all/input/shapes_old.inc', 'all/input/stage1.inc', 'all/input/stdinc.inc', 'all/input/stones1.inc', 'all/input/sunpos.inc', 'all/input/transforms.inc', 'all/input/chars.inc', 'all/input/crystal.ttf', 'all/input/finish.inc', 'all/input/glass_old.inc', 'all/input/math.inc', 'all/input/rad_def.inc', 'all/input/shapes.inc', 'all/input/shapesq.inc', 'all/input/stars.inc', 'all/input/stoneold.inc', 'all/input/stones2.inc', 'all/input/textures.inc', 'all/input/woodmaps.inc', 'all/input/colors.inc', 'all/input/cyrvetic.ttf', 'all/input/functions.inc', 'all/input/golds.inc', 'all/input/metals.inc', 'all/input/rand.inc', 'all/input/shapes2.inc', 'all/input/skies.inc', 'all/input/stdcam.inc', 'all/input/stones.inc', 'all/input/strings.inc', 'all/input/timrom.ttf', 'all/input/woods.inc', 'ref/input/SPEC-benchmark-ref.ini'] + ref_output_set = ['ref/output/SPEC-benchmark.log'] + ref_args = ['SPEC-benchmark-ref.ini > 453.povray.ref.out 2> 453.povray.ref.err'] + ref_cmp_cmds = ['diff SPEC-benchmark.log SPEC-benchmark.log > 453.povray.ref.cmp'] + +# This is the only required entry point to the module. +test_class = SPEC2006_453_povray + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2006/fp/470.lbm/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2006/fp/470.lbm/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2006_470_lbm(spec.TestModule): + year = '2006' + category = 'fp' + benchmark = '470.lbm' + + train_input_set = ['train/input/100_100_130_cf_b.of'] + train_output_set = ['train/output/lbm.out'] + train_args = '300 reference.dat 0 1 100_100_130_cf_b.of > 470.lbm.train.out 2> 470.lbm.train.err' + train_cmp_cmd = 'diff 470.lbm.train.out lbm.out --strip-trailing-cr > 470.lbm.train.cmp' + ref_input_set = ['ref/input/100_100_130_ldc.of'] + ref_output_set = ['ref/output/lbm.out'] + ref_args = ['3000 reference.dat 0 0 100_100_130_ldc.of > 470.lbm.ref.out 2> 470.lbm.ref.err'] + ref_cmp_cmds = ['diff 470.lbm.ref.out lbm.out --strip-trailing-cr > 470.lbm.ref.cmp'] + +# This is the only required entry point to the module. +test_class = SPEC2006_470_lbm + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2006/fp/482.sphinx3/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2006/fp/482.sphinx3/TestModule @@ -0,0 +1,32 @@ +#!/usr/bin/env python +# -*- Python -*- + +import os, shutil +import spec + +class SPEC2006_482_sphinx3(spec.TestModule): + year = '2006' + category = 'fp' + benchmark = '482.sphinx3' + + train_input_set = ['all/input/model', 'train/input/beams.dat', 'train/input/an406-fcaw-b.le.raw', 'train/input/an407-fcaw-b.le.raw', 'train/input/an408-fcaw-b.le.raw', 'train/input/an409-fcaw-b.le.raw', 'train/input/an410-fcaw-b.le.raw', 'train/input/args.an4'] + train_output_set = ['train/output/an4.log'] + train_args = 'ctlfile . args.an4 > 482.sphinx3.an4.out 2> 482.sphinx3.an4.err' + train_cmp_cmd = 'sed -i bak "s/\\.le//g" 482.sphinx3.an4.out ; sed -i bak "s,[^ ]*/\\([^/]*\\.c\\),\\1," 482.sphinx3.an4.out; diff 482.sphinx3.an4.out an4.log > 482.sphinx3.an4.cmp' + ref_input_set = ['all/input/model', 'ref/input/beams.dat', 'ref/input/an391-mjwl-b.le.raw', 'ref/input/an400-miry-b.le.raw', 'ref/input/an419-fjlp-b.le.raw', 'ref/input/an428-fvap-b.le.raw', 'ref/input/an437-mjgm-b.le.raw', 'ref/input/cen1-fjlp-b.le.raw', 'ref/input/cen2-fjlp-b.le.raw', 'ref/input/cen3-fjlp-b.le.raw', 'ref/input/cen4-fjlp-b.le.raw', 'ref/input/cen5-fjlp-b.le.raw', 'ref/input/cen6-fjlp-b.le.raw', 'ref/input/cen7-fjlp-b.le.raw', 'ref/input/cen8-fjlp-b.le.raw', 'ref/input/an392-mjwl-b.le.raw', 'ref/input/an401-mdms2-b.le.raw', 'ref/input/an420-fjlp-b.le.raw', 'ref/input/an429-fvap-b.le.raw', 'ref/input/an438-mjgm-b.le.raw', 'ref/input/cen1-fvap-b.le.raw', 'ref/input/cen2-fvap-b.le.raw', 'ref/input/cen3-fvap-b.le.raw', 'ref/input/cen4-fvap-b.le.raw', 'ref/input/cen5-fvap-b.le.raw', 'ref/input/cen6-fvap-b.le.raw', 'ref/input/cen7-fvap-b.le.raw', 'ref/input/cen8-fvap-b.le.raw', 'ref/input/an393-mjwl-b.le.raw', 'ref/input/an402-mdms2-b.le.raw', 'ref/input/an421-menk-b.le.raw', 'ref/input/an430-fvap-b.le.raw', 'ref/input/an439-mjgm-b.le.raw', 'ref/input/cen1-marh-b.le.raw', 'ref/input/cen2-marh-b.le.raw', 'ref/input/cen3-marh-b.le.raw', 'ref/input/cen4-marh-b.le.raw', 'ref/input/cen5-marh-b.le.raw', 'ref/input/cen6-marh-b.le.raw', 'ref/input/cen7-marh-b.le.raw', 'ref/input/cen8-marh-b.le.raw', 'ref/input/an394-mjwl-b.le.raw', 'ref/input/an403-mdms2-b.le.raw', 'ref/input/an422-menk-b.le.raw', 'ref/input/an431-marh-b.le.raw', 'ref/input/an440-mjgm-b.le.raw', 'ref/input/cen1-mdms2-b.le.raw', 'ref/input/cen2-mdms2-b.le.raw', 'ref/input/cen3-mdms2-b.le.raw', 'ref/input/cen4-mdms2-b.le.raw', 'ref/input/cen5-mdms2-b.le.raw', 'ref/input/cen6-mdms2-b.le.raw', 'ref/input/cen7-mdms2-b.le.raw', 'ref/input/cen8-mdms2-b.le.raw', 'ref/input/an395-mjwl-b.le.raw', 'ref/input/an404-mdms2-b.le.raw', 'ref/input/an423-menk-b.le.raw', 'ref/input/an432-marh-b.le.raw', 'ref/input/an441-mmxg-b.le.raw', 'ref/input/cen1-menk-b.le.raw', 'ref/input/cen2-menk-b.le.raw', 'ref/input/cen3-menk-b.le.raw', 'ref/input/cen4-menk-b.le.raw', 'ref/input/cen5-menk-b.le.raw', 'ref/input/cen6-menk-b.le.raw', 'ref/input/cen7-menk-b.le.raw', 'ref/input/cen8-menk-b.le.raw', 'ref/input/an396-miry-b.le.raw', 'ref/input/an405-mdms2-b.le.raw', 'ref/input/an424-menk-b.le.raw', 'ref/input/an433-marh-b.le.raw', 'ref/input/an442-mmxg-b.le.raw', 'ref/input/cen1-miry-b.le.raw', 'ref/input/cen2-miry-b.le.raw', 'ref/input/cen3-miry-b.le.raw', 'ref/input/cen4-miry-b.le.raw', 'ref/input/cen5-miry-b.le.raw', 'ref/input/cen6-miry-b.le.raw', 'ref/input/cen7-miry-b.le.raw', 'ref/input/cen8-miry-b.le.raw', 'ref/input/an397-miry-b.le.raw', 'ref/input/an416-fjlp-b.le.raw', 'ref/input/an425-menk-b.le.raw', 'ref/input/an434-marh-b.le.raw', 'ref/input/an443-mmxg-b.le.raw', 'ref/input/cen1-mjgm-b.le.raw', 'ref/input/cen2-mjgm-b.le.raw', 'ref/input/cen3-mjgm-b.le.raw', 'ref/input/cen4-mjgm-b.le.raw', 'ref/input/cen5-mjgm-b.le.raw', 'ref/input/cen6-mjgm-b.le.raw', 'ref/input/cen7-mjgm-b.le.raw', 'ref/input/cen8-mjgm-b.le.raw', 'ref/input/an398-miry-b.le.raw', 'ref/input/an417-fjlp-b.le.raw', 'ref/input/an426-fvap-b.le.raw', 'ref/input/an435-marh-b.le.raw', 'ref/input/an444-mmxg-b.le.raw', 'ref/input/cen1-mjwl-b.le.raw', 'ref/input/cen2-mjwl-b.le.raw', 'ref/input/cen3-mjwl-b.le.raw', 'ref/input/cen4-mjwl-b.le.raw', 'ref/input/cen5-mjwl-b.le.raw', 'ref/input/cen6-mjwl-b.le.raw', 'ref/input/cen7-mjwl-b.le.raw', 'ref/input/cen8-mjwl-b.le.raw', 'ref/input/an399-miry-b.le.raw', 'ref/input/an418-fjlp-b.le.raw', 'ref/input/an427-fvap-b.le.raw', 'ref/input/an436-mjgm-b.le.raw', 'ref/input/an445-mmxg-b.le.raw', 'ref/input/cen1-mmxg-b.le.raw', 'ref/input/cen2-mmxg-b.le.raw', 'ref/input/cen3-mmxg-b.le.raw', 'ref/input/cen4-mmxg-b.le.raw', 'ref/input/cen5-mmxg-b.le.raw', 'ref/input/cen6-mmxg-b.le.raw', 'ref/input/cen7-mmxg-b.le.raw', 'ref/input/cen8-mmxg-b.le.raw', 'ref/input/args.an4'] + ref_output_set = ['ref/output/an4.log'] + ref_args = ['ctlfile . args.an4 > 482.sphinx3.an4.out 2> 482.sphinx3.an4.err'] + ref_cmp_cmds = ['sed -i bak "s/\\.le//g" 482.sphinx3.an4.out ; sed -i bak "s,[^ ]*/\\([^/]*\\.c\\),\\1," 482.sphinx3.an4.out; diff 482.sphinx3.an4.out an4.log > 482.sphinx3.an4.cmp'] + + def copy_input_set(self, dest_dir, size): + spec.TestModule.copy_input_set(self, dest_dir, size) + # FIXME: this currently only supports little endian! + shutil.copy(os.path.join(self.SRCROOT, size, 'ctlfile.little-endian'), os.path.join(dest_dir, 'ctlfile')) + +# This is the only required entry point to the module. +test_class = SPEC2006_482_sphinx3 + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2006/fp/482.sphinx3/ref/ctlfile.little-endian =================================================================== --- /dev/null +++ LNTBased/speccpu2006/fp/482.sphinx3/ref/ctlfile.little-endian @@ -0,0 +1,117 @@ +an391-mjwl-b.le 64000 +an392-mjwl-b.le 25600 +an393-mjwl-b.le 80000 +an394-mjwl-b.le 121600 +an395-mjwl-b.le 60800 +an396-miry-b.le 128000 +an397-miry-b.le 89600 +an398-miry-b.le 121600 +an399-miry-b.le 147200 +an400-miry-b.le 44800 +an401-mdms2-b.le 105600 +an402-mdms2-b.le 25600 +an403-mdms2-b.le 124800 +an404-mdms2-b.le 96000 +an405-mdms2-b.le 172800 +an416-fjlp-b.le 25600 +an417-fjlp-b.le 80000 +an418-fjlp-b.le 70400 +an419-fjlp-b.le 76800 +an420-fjlp-b.le 137600 +an421-menk-b.le 48000 +an422-menk-b.le 44800 +an423-menk-b.le 115200 +an424-menk-b.le 128000 +an425-menk-b.le 76800 +an426-fvap-b.le 60800 +an427-fvap-b.le 102400 +an428-fvap-b.le 57600 +an429-fvap-b.le 118400 +an430-fvap-b.le 99200 +an431-marh-b.le 118400 +an432-marh-b.le 67200 +an433-marh-b.le 92800 +an434-marh-b.le 140800 +an435-marh-b.le 57600 +an436-mjgm-b.le 51200 +an437-mjgm-b.le 73600 +an438-mjgm-b.le 86400 +an439-mjgm-b.le 64000 +an440-mjgm-b.le 25600 +an441-mmxg-b.le 112000 +an442-mmxg-b.le 28800 +an443-mmxg-b.le 22400 +an444-mmxg-b.le 134400 +an445-mmxg-b.le 92800 +cen1-fjlp-b.le 89600 +cen1-fvap-b.le 67200 +cen1-marh-b.le 70400 +cen1-mdms2-b.le 140800 +cen1-menk-b.le 99200 +cen1-miry-b.le 99200 +cen1-mjgm-b.le 57600 +cen1-mjwl-b.le 70400 +cen1-mmxg-b.le 99200 +cen2-fjlp-b.le 76800 +cen2-fvap-b.le 73600 +cen2-marh-b.le 48000 +cen2-mdms2-b.le 99200 +cen2-menk-b.le 64000 +cen2-miry-b.le 64000 +cen2-mjgm-b.le 44800 +cen2-mjwl-b.le 70400 +cen2-mmxg-b.le 76800 +cen3-fjlp-b.le 41600 +cen3-fvap-b.le 48000 +cen3-marh-b.le 51200 +cen3-mdms2-b.le 38400 +cen3-menk-b.le 70400 +cen3-miry-b.le 57600 +cen3-mjgm-b.le 44800 +cen3-mjwl-b.le 32000 +cen3-mmxg-b.le 44800 +cen4-fjlp-b.le 73600 +cen4-fvap-b.le 92800 +cen4-marh-b.le 70400 +cen4-mdms2-b.le 192000 +cen4-menk-b.le 124800 +cen4-miry-b.le 124800 +cen4-mjgm-b.le 89600 +cen4-mjwl-b.le 80000 +cen4-mmxg-b.le 153600 +cen5-fjlp-b.le 160000 +cen5-fvap-b.le 99200 +cen5-marh-b.le 112000 +cen5-mdms2-b.le 172800 +cen5-menk-b.le 137600 +cen5-miry-b.le 156800 +cen5-mjgm-b.le 112000 +cen5-mjwl-b.le 96000 +cen5-mmxg-b.le 99200 +cen6-fjlp-b.le 73600 +cen6-fvap-b.le 51200 +cen6-marh-b.le 67200 +cen6-mdms2-b.le 102400 +cen6-menk-b.le 70400 +cen6-miry-b.le 83200 +cen6-mjgm-b.le 73600 +cen6-mjwl-b.le 60800 +cen6-mmxg-b.le 67200 +cen7-fjlp-b.le 105600 +cen7-fvap-b.le 70400 +cen7-marh-b.le 96000 +cen7-mdms2-b.le 185600 +cen7-menk-b.le 92800 +cen7-miry-b.le 112000 +cen7-mjgm-b.le 80000 +cen7-mjwl-b.le 76800 +cen7-mmxg-b.le 124800 +cen8-fjlp-b.le 80000 +cen8-fvap-b.le 70400 +cen8-marh-b.le 76800 +cen8-mdms2-b.le 92800 +cen8-menk-b.le 80000 +cen8-miry-b.le 89600 +cen8-mjgm-b.le 57600 +cen8-mjwl-b.le 73600 +cen8-mmxg-b.le 73600 Index: LNTBased/speccpu2006/fp/482.sphinx3/train/ctlfile.little-endian =================================================================== --- /dev/null +++ LNTBased/speccpu2006/fp/482.sphinx3/train/ctlfile.little-endian @@ -0,0 +1,5 @@ +an406-fcaw-b.le 128000 +an407-fcaw-b.le 131200 +an408-fcaw-b.le 105600 +an409-fcaw-b.le 25600 +an410-fcaw-b.le 115200 Index: LNTBased/speccpu2006/int/400.perlbench/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2006/int/400.perlbench/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2006_400_perlbench(spec.TestModule): + year = '2006' + category = 'int' + benchmark = '400.perlbench' + + train_input_set = ['all/input/cpu2006_mhonarc.rc', 'all/input/lib', 'all/input/rules', 'train/input/scrabbl.in', 'train/input/dictionary', 'all/input/diffmail.pl', 'train/input/perfect.pl', 'train/input/scrabbl.pl', 'all/input/splitmail.pl'] + train_output_set = ['train/output/diffmail.2.550.15.24.23.100.out', 'train/output/perfect.b.3.out', 'train/output/scrabbl.out', 'train/output/splitmail.535.13.25.24.1091.out'] + train_args = '-Ilib diffmail.pl 2 550 15 24 23 100 > 400.perlbench.diffmail.out 2> 400.perlbench.diffmail.err', '-Ilib perfect.pl b 3 > 400.perlbench.perfect.out 2> 400.perlbench.perfect.err', '-Ilib scrabbl.pl < scrabbl.in > 400.perlbench.scrabbl.out 2> 400.perlbench.scrabbl.err', '-Ilib splitmail.pl 535 13 25 24 1091 > 400.perlbench.splitmail.out 2> 400.perlbench.splitmail.err' + train_cmp_cmd = 'diff 400.perlbench.diffmail.out diffmail.2.550.15.24.23.100.out --strip-trailing-cr > 400.perlbench.diffmail.cmp', 'diff 400.perlbench.perfect.out perfect.b.3.out --strip-trailing-cr > 400.perlbench.perfect.cmp', 'diff 400.perlbench.scrabbl.out scrabbl.out --strip-trailing-cr > 400.perlbench.scrabbl.cmp', 'diff 400.perlbench.splitmail.out splitmail.535.13.25.24.1091.out --strip-trailing-cr > 400.perlbench.splitmail.cmp' + ref_input_set = ['all/input/cpu2006_mhonarc.rc', 'all/input/lib', 'all/input/rules', 'ref/input/checkspam.pl', 'all/input/diffmail.pl', 'all/input/splitmail.pl'] + ref_output_set = ['ref/output/checkspam.2500.5.25.11.150.1.1.1.1.out', 'ref/output/diffmail.4.800.10.17.19.300.out', 'ref/output/splitmail.1600.12.26.16.4500.out'] + ref_args = ['-Ilib checkspam.pl 2500 5 25 11 150 1 1 1 1 > 400.perlbench.checkspam.out 2> 400.perlbench.checkspam.err', '-Ilib diffmail.pl 4 800 10 17 19 300 > 400.perlbench.diffmail.out 2> 400.perlbench.diffmail.err', '-Ilib splitmail.pl 1600 12 26 16 4500 > 400.perlbench.splitmail.out 2> 400.perlbench.splitmail.err'] + ref_cmp_cmds = ['diff 400.perlbench.checkspam.out checkspam.2500.5.25.11.150.1.1.1.1.out --strip-trailing-cr > 400.perlbench.checkspam.cmp', 'diff 400.perlbench.diffmail.out diffmail.4.800.10.17.19.300.out --strip-trailing-cr > 400.perlbench.diffmail.cmp', 'diff 400.perlbench.splitmail.out splitmail.1600.12.26.16.4500.out --strip-trailing-cr > 400.perlbench.splitmail.cmp'] + +# This is the only required entry point to the module. +test_class = SPEC2006_400_perlbench + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2006/int/401.bzip2/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2006/int/401.bzip2/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2006_401_bzip2(spec.TestModule): + year = '2006' + category = 'int' + benchmark = '401.bzip2' + + train_input_set = ['train/input/byoudoin.jpg', 'all/input/input.combined', 'all/input/input.program'] + train_output_set = ['train/output/byoudoin.jpg.out', 'train/output/input.combined.out', 'train/output/input.program.out'] + train_args = 'byoudoin.jpg 5 > 401.bzip2.byoudoin.out 2> 401.bzip2.byoudoin.err', 'input.combined 80 > 401.bzip2.combined.out 2> 401.bzip2.combined.err', 'input.program 10 > 401.bzip2.program.out 2> 401.bzip2.program.err' + train_cmp_cmd = 'diff 401.bzip2.byoudoin.out byoudoin.jpg.out --strip-trailing-cr > 401.bzip2.byoudoin.cmp', 'diff 401.bzip2.combined.out input.combined.out --strip-trailing-cr > 401.bzip2.combined.cmp', 'diff 401.bzip2.program.out input.program.out --strip-trailing-cr > 401.bzip2.program.cmp' + ref_input_set = ['ref/input/chicken.jpg', 'all/input/input.combined', 'ref/input/text.html', 'ref/input/liberty.jpg', 'all/input/input.program', 'ref/input/input.source'] + ref_output_set = ['ref/output/chicken.jpg.out', 'ref/output/input.combined.out', 'ref/output/text.html.out', 'ref/output/liberty.jpg.out', 'ref/output/input.program.out', 'ref/output/input.source.out'] + ref_args = ['chicken.jpg 30 > 401.bzip2.chicken.out 2> 401.bzip2.chicken.err', 'input.combined 200 > 401.bzip2.combined.out 2> 401.bzip2.combined.err', 'text.html 280 > 401.bzip2.html.out 2> 401.bzip2.html.err', 'liberty.jpg 30 > 401.bzip2.liberty.out 2> 401.bzip2.liberty.err', 'input.program 280 > 401.bzip2.program.out 2> 401.bzip2.program.err', 'input.source 280 > 401.bzip2.source.out 2> 401.bzip2.source.err'] + ref_cmp_cmds = ['diff 401.bzip2.chicken.out chicken.jpg.out --strip-trailing-cr > 401.bzip2.chicken.cmp', 'diff 401.bzip2.combined.out input.combined.out --strip-trailing-cr > 401.bzip2.combined.cmp', 'diff 401.bzip2.html.out text.html.out --strip-trailing-cr > 401.bzip2.html.cmp', 'diff 401.bzip2.liberty.out liberty.jpg.out --strip-trailing-cr > 401.bzip2.liberty.cmp', 'diff 401.bzip2.program.out input.program.out --strip-trailing-cr > 401.bzip2.program.cmp', 'diff 401.bzip2.source.out input.source.out --strip-trailing-cr > 401.bzip2.source.cmp'] + +# This is the only required entry point to the module. +test_class = SPEC2006_401_bzip2 + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2006/int/403.gcc/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2006/int/403.gcc/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2006_403_gcc(spec.TestModule): + year = '2006' + category = 'int' + benchmark = '403.gcc' + + train_input_set = ['train/input/integrate.i'] + train_output_set = [] + train_args = 'integrate.i -o - > 403.gcc.integrate.out 2> 403.gcc.integrate.err' + train_cmp_cmd = '' + ref_input_set = ['ref/input/166.i', 'ref/input/200.i', 'ref/input/c-typeck.i', 'ref/input/cp-decl.i', 'ref/input/expr.i', 'ref/input/expr2.i', 'ref/input/scilab.i'] + ref_output_set = [] + ref_args = ['166.i -o - > 403.gcc.166.out 2> 403.gcc.166.err', '200.i -o - > 403.gcc.200.out 2> 403.gcc.200.err', 'c-typeck.i -o - > 403.gcc.c-typeck.out 2> 403.gcc.c-typeck.err', 'cp-decl.i -o - > 403.gcc.cp-decl.out 2> 403.gcc.cp-decl.err', 'expr.i -o - > 403.gcc.expr.out 2> 403.gcc.expr.err', 'expr2.i -o - > 403.gcc.expr2.out 2> 403.gcc.expr2.err', 'scilab.i -o - > 403.gcc.scilab.out 2> 403.gcc.scilab.err'] + ref_cmp_cmds = [] + +# This is the only required entry point to the module. +test_class = SPEC2006_403_gcc + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2006/int/429.mcf/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2006/int/429.mcf/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2006_429_mcf(spec.TestModule): + year = '2006' + category = 'int' + benchmark = '429.mcf' + + train_input_set = ['train/input/inp.in'] + train_output_set = ['train/output/inp.out'] + train_args = 'inp.in > 429.mcf.inp.out 2> 429.mcf.inp.err' + train_cmp_cmd = 'diff 429.mcf.inp.out inp.out --strip-trailing-cr > 429.mcf.inp.cmp' + ref_input_set = ['ref/input/inp.in'] + ref_output_set = [] + ref_args = ['inp.in > 429.mcf.inp.out 2> 429.mcf.inp.err'] + ref_cmp_cmds = [] + +# This is the only required entry point to the module. +test_class = SPEC2006_429_mcf + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2006/int/445.gobmk/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2006/int/445.gobmk/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2006_445_gobmk(spec.TestModule): + year = '2006' + category = 'int' + benchmark = '445.gobmk' + + train_input_set = ['all/input/games', 'all/input/golois', 'train/input/arb.tst', 'train/input/arend.tst', 'train/input/arion.tst', 'train/input/atari_atari.tst', 'train/input/blunder.tst', 'train/input/buzco.tst', 'train/input/nicklas2.tst', 'train/input/nicklas4.tst'] + train_output_set = ['train/output/arb.out', 'train/output/arend.out', 'train/output/arion.out', 'train/output/atari_atari.out', 'train/output/blunder.out', 'train/output/buzco.out', 'train/output/nicklas2.out', 'train/output/nicklas4.out'] + train_args = '--quiet --mode gtp < arb.tst > 445.gobmk.arb.out 2> 445.gobmk.arb.err', '--quiet --mode gtp < arend.tst > 445.gobmk.arend.out 2> 445.gobmk.arend.err', '--quiet --mode gtp < arion.tst > 445.gobmk.arion.out 2> 445.gobmk.arion.err', '--quiet --mode gtp < atari_atari.tst > 445.gobmk.atari_atari.out 2> 445.gobmk.atari_atari.err', '--quiet --mode gtp < blunder.tst > 445.gobmk.blunder.out 2> 445.gobmk.blunder.err', '--quiet --mode gtp < buzco.tst > 445.gobmk.buzco.out 2> 445.gobmk.buzco.err', '--quiet --mode gtp < nicklas2.tst > 445.gobmk.nicklas2.out 2> 445.gobmk.nicklas2.err', '--quiet --mode gtp < nicklas4.tst > 445.gobmk.nicklas4.out 2> 445.gobmk.nicklas4.err' + train_cmp_cmd = 'diff 445.gobmk.arb.out arb.out --strip-trailing-cr > 445.gobmk.arb.cmp', 'diff 445.gobmk.arend.out arend.out --strip-trailing-cr > 445.gobmk.arend.cmp', 'diff 445.gobmk.arion.out arion.out --strip-trailing-cr > 445.gobmk.arion.cmp', 'diff 445.gobmk.atari_atari.out atari_atari.out --strip-trailing-cr > 445.gobmk.atari_atari.cmp', 'diff 445.gobmk.blunder.out blunder.out --strip-trailing-cr > 445.gobmk.blunder.cmp', 'diff 445.gobmk.buzco.out buzco.out --strip-trailing-cr > 445.gobmk.buzco.cmp', 'diff 445.gobmk.nicklas2.out nicklas2.out --strip-trailing-cr > 445.gobmk.nicklas2.cmp', 'diff 445.gobmk.nicklas4.out nicklas4.out --strip-trailing-cr > 445.gobmk.nicklas4.cmp' + ref_input_set = ['all/input/games', 'all/input/golois', 'ref/input/13x13.tst', 'ref/input/nngs.tst', 'ref/input/score2.tst', 'ref/input/trevorc.tst', 'ref/input/trevord.tst'] + ref_output_set = ['ref/output/13x13.out', 'ref/output/nngs.out', 'ref/output/score2.out', 'ref/output/trevorc.out', 'ref/output/trevord.out'] + ref_args = ['--quiet --mode gtp < 13x13.tst > 445.gobmk.13x13.out 2> 445.gobmk.13x13.err', '--quiet --mode gtp < nngs.tst > 445.gobmk.nngs.out 2> 445.gobmk.nngs.err', '--quiet --mode gtp < score2.tst > 445.gobmk.score2.out 2> 445.gobmk.score2.err', '--quiet --mode gtp < trevorc.tst > 445.gobmk.trevorc.out 2> 445.gobmk.trevorc.err', '--quiet --mode gtp < trevord.tst > 445.gobmk.trevord.out 2> 445.gobmk.trevord.err'] + ref_cmp_cmds = ['diff 445.gobmk.13x13.out 13x13.out --strip-trailing-cr > 445.gobmk.13x13.cmp', 'diff 445.gobmk.nngs.out nngs.out --strip-trailing-cr > 445.gobmk.nngs.cmp', 'diff 445.gobmk.score2.out score2.out --strip-trailing-cr > 445.gobmk.score2.cmp', 'diff 445.gobmk.trevorc.out trevorc.out --strip-trailing-cr > 445.gobmk.trevorc.cmp', 'diff 445.gobmk.trevord.out trevord.out --strip-trailing-cr > 445.gobmk.trevord.cmp'] + +# This is the only required entry point to the module. +test_class = SPEC2006_445_gobmk + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2006/int/456.hmmer/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2006/int/456.hmmer/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2006_456_hmmer(spec.TestModule): + year = '2006' + category = 'int' + benchmark = '456.hmmer' + + train_input_set = ['train/input/leng100.hmm'] + train_output_set = ['train/output/leng100.out'] + train_args = '--fixed 0 --mean 325 --num 5000 --sd 200 --seed 0 leng100.hmm > 456.hmmer.leng100.out 2> 456.hmmer.leng100.err' + train_cmp_cmd = 'diff 456.hmmer.leng100.out leng100.out --strip-trailing-cr > 456.hmmer.leng100.cmp' + ref_input_set = ['ref/input/nph3.hmm', 'ref/input/swiss41', 'ref/input/retro.hmm'] + ref_output_set = ['ref/output/nph3.out', 'ref/output/retro.out'] + ref_args = ['nph3.hmm swiss41 > 456.hmmer.nph3.out 2> 456.hmmer.nph3.err', '--fixed 0 --mean 500 --num 500000 --sd 350 --seed 0 retro.hmm > 456.hmmer.retro.out 2> 456.hmmer.retro.err'] + ref_cmp_cmds = ['diff 456.hmmer.nph3.out nph3.out --strip-trailing-cr > 456.hmmer.nph3.cmp', 'diff 456.hmmer.retro.out retro.out --strip-trailing-cr > 456.hmmer.retro.cmp'] + +# This is the only required entry point to the module. +test_class = SPEC2006_456_hmmer + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2006/int/458.sjeng/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2006/int/458.sjeng/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2006_458_sjeng(spec.TestModule): + year = '2006' + category = 'int' + benchmark = '458.sjeng' + + train_input_set = ['train/input/train.txt'] + train_output_set = ['train/output/train.out'] + train_args = 'train.txt > 458.sjeng.input1.out 2> 458.sjeng.input1.err' + train_cmp_cmd = 'diff 458.sjeng.input1.out train.out --strip-trailing-cr > 458.sjeng.input1.cmp' + ref_input_set = ['ref/input/ref.txt'] + ref_output_set = ['ref/output/ref.out'] + ref_args = ['ref.txt > 458.sjeng.input1.out 2> 458.sjeng.input1.err'] + ref_cmp_cmds = ['diff 458.sjeng.input1.out ref.out --strip-trailing-cr > 458.sjeng.input1.cmp'] + +# This is the only required entry point to the module. +test_class = SPEC2006_458_sjeng + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2006/int/462.libquantum/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2006/int/462.libquantum/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2006_462_libquantum(spec.TestModule): + year = '2006' + category = 'int' + benchmark = '462.libquantum' + + train_input_set = [] + train_output_set = ['train/output/train.out'] + train_args = '143 25 > 462.libquantum.143.out 2> 462.libquantum.143.err' + train_cmp_cmd = 'diff 462.libquantum.143.out train.out --strip-trailing-cr > 462.libquantum.143.cmp' + ref_input_set = [] + ref_output_set = ['ref/output/ref.out'] + ref_args = ['1397 8 > 462.libquantum.1397.out 2> 462.libquantum.1397.err'] + ref_cmp_cmds = ['diff 462.libquantum.1397.out ref.out --strip-trailing-cr > 462.libquantum.1397.cmp'] + +# This is the only required entry point to the module. +test_class = SPEC2006_462_libquantum + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2006/int/464.h264ref/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2006/int/464.h264ref/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2006_464_h264ref(spec.TestModule): + year = '2006' + category = 'int' + benchmark = '464.h264ref' + + train_input_set = ['all/input/foreman_qcif.yuv', 'train/input/foreman_train_encoder_baseline.cfg', 'all/input/leakybucketrate.cfg'] + train_output_set = ['train/output/foreman_train_baseline_encodelog.out'] + train_args = '-d foreman_train_encoder_baseline.cfg > 464.h264ref.foreman_train_encoder_baseline.out 2> 464.h264ref.foreman_train_encoder_baseline.err' + train_cmp_cmd = 'diff 464.h264ref.foreman_train_encoder_baseline.out foreman_train_baseline_encodelog.out --strip-trailing-cr > 464.h264ref.foreman_train_encoder_baseline.cmp' + ref_input_set = ['all/input/foreman_qcif.yuv', 'ref/input/sss.yuv', 'all/input/leakybucketrate.cfg', 'ref/input/foreman_ref_encoder_main.cfg', 'ref/input/foreman_ref_encoder_baseline.cfg', 'ref/input/sss_encoder_main.cfg'] + ref_output_set = ['ref/output/foreman_ref_baseline_encodelog.out', 'ref/output/foreman_ref_main_encodelog.out', 'ref/output/sss_main_encodelog.out'] + ref_args = ['-d foreman_ref_encoder_baseline.cfg > 464.h264ref.foreman_ref_encoder_baseline.out 2> 464.h264ref.foreman_ref_encoder_baseline.err', '-d foreman_ref_encoder_main.cfg > 464.h264ref.foreman_ref_encoder_main.out 2> 464.h264ref.foreman_ref_encoder_main.err', '-d sss_encoder_main.cfg > 464.h264ref.sss_encoder_main.out 2> 464.h264ref.sss_encoder_main.err'] + ref_cmp_cmds = ['diff 464.h264ref.foreman_ref_encoder_baseline.out foreman_ref_baseline_encodelog.out --strip-trailing-cr > 464.h264ref.foreman_ref_encoder_baseline.cmp', 'diff 464.h264ref.foreman_ref_encoder_main.out foreman_ref_main_encodelog.out --strip-trailing-cr > 464.h264ref.foreman_ref_encoder_main.cmp', 'diff 464.h264ref.sss_encoder_main.out sss_main_encodelog.out --strip-trailing-cr > 464.h264ref.sss_encoder_main.cmp'] + +# This is the only required entry point to the module. +test_class = SPEC2006_464_h264ref + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2006/int/471.omnetpp/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2006/int/471.omnetpp/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2006_471_omnetpp(spec.TestModule): + year = '2006' + category = 'int' + benchmark = '471.omnetpp' + + train_input_set = ['train/input/omnetpp.ini'] + train_output_set = [] + train_args = 'omnetpp.ini > 471.omnetpp.input1.out 2> 471.omnetpp.input1.err' + train_cmp_cmd = '' + ref_input_set = ['ref/input/omnetpp.ini'] + ref_output_set = [] + ref_args = ['omnetpp.ini > 471.omnetpp.input1.out 2> 471.omnetpp.input1.err'] + ref_cmp_cmds = [] + +# This is the only required entry point to the module. +test_class = SPEC2006_471_omnetpp + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2006/int/473.astar/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2006/int/473.astar/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2006_473_astar(spec.TestModule): + year = '2006' + category = 'int' + benchmark = '473.astar' + + train_input_set = ['train/input/rivers.bin', 'train/input/BigLakes1024.bin', 'train/input/BigLakes1024.cfg', 'train/input/rivers1.cfg'] + train_output_set = ['train/output/BigLakes1024.out', 'train/output/rivers1.out'] + train_args = 'BigLakes1024.cfg > 473.astar.BigLakes1024.out 2> 473.astar.BigLakes1024.err', 'rivers1.cfg > 473.astar.rivers1.out 2> 473.astar.rivers1.err' + train_cmp_cmd = 'diff 473.astar.BigLakes1024.out BigLakes1024.out --strip-trailing-cr > 473.astar.BigLakes1024.cmp', 'diff 473.astar.rivers1.out rivers1.out --strip-trailing-cr > 473.astar.rivers1.cmp' + ref_input_set = ['ref/input/rivers.bin', 'ref/input/BigLakes2048.bin', 'ref/input/BigLakes2048.cfg', 'ref/input/rivers.cfg'] + ref_output_set = ['ref/output/BigLakes2048.out', 'ref/output/rivers.out'] + ref_args = ['BigLakes2048.cfg > 473.astar.BigLakes2048.out 2> 473.astar.BigLakes2048.err', 'rivers.cfg > 473.astar.rivers.out 2> 473.astar.rivers.err'] + ref_cmp_cmds = ['diff 473.astar.BigLakes2048.out BigLakes2048.out --strip-trailing-cr > 473.astar.BigLakes2048.cmp', 'diff 473.astar.rivers.out rivers.out --strip-trailing-cr > 473.astar.rivers.cmp'] + +# This is the only required entry point to the module. +test_class = SPEC2006_473_astar + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main() Index: LNTBased/speccpu2006/int/483.xalancbmk/TestModule =================================================================== --- /dev/null +++ LNTBased/speccpu2006/int/483.xalancbmk/TestModule @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- Python -*- + +import spec + +class SPEC2006_483_xalancbmk(spec.TestModule): + year = '2006' + category = 'int' + benchmark = '483.xalancbmk' + + train_input_set = ['train/input/train.xsd', 'train/input/train.lst', 'train/input/allbooks.xml', 'train/input/xalanc.xsl'] + train_output_set = ['train/output/train.out'] + train_args = '-v allbooks.xml xalanc.xsl > 483.xalancbmk.allbooks.out 2> 483.xalancbmk.allbooks.err' + train_cmp_cmd = 'diff 483.xalancbmk.allbooks.out train.out --strip-trailing-cr > 483.xalancbmk.allbooks.cmp' + ref_input_set = ['ref/input/t5.xml', 'ref/input/xalanc.xsl'] + ref_output_set = ['ref/output/ref.out'] + ref_args = ['-v t5.xml xalanc.xsl > 483.xalancbmk.t5.out 2> 483.xalancbmk.t5.err'] + ref_cmp_cmds = ['diff 483.xalancbmk.t5.out ref.out --strip-trailing-cr > 483.xalancbmk.t5.cmp'] + +# This is the only required entry point to the module. +test_class = SPEC2006_483_xalancbmk + +# This is not required, but allows users with LNT in the environment (required +# for initial imports to work) to execute this test directly. +if __name__ == '__main__': + test_class().main()