diff options
Diffstat (limited to 'benchmarks/CUDA/CP/driver/actions.py')
| -rw-r--r-- | benchmarks/CUDA/CP/driver/actions.py | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/benchmarks/CUDA/CP/driver/actions.py b/benchmarks/CUDA/CP/driver/actions.py deleted file mode 100644 index 8525028..0000000 --- a/benchmarks/CUDA/CP/driver/actions.py +++ /dev/null @@ -1,109 +0,0 @@ -# (c) 2007 The Board of Trustees of the University of Illinois. - -# These are the main actions that the driver may take. The actions -# call lower-level routines from the process or benchmark modules. - -import os -from itertools import imap - -import process -import benchmark -import globals -from text import format_columns - -def benchmark_iter(): - """Iterate over the benchmarks in 'bmks'.""" - # bmks is a dictionary from str to Future(Benchmark) - return imap(lambda x: x.get(), globals.benchmarks.itervalues()) - -def list_benchmarks(): - """List all benchmarks on standard output.""" - print "Benchmarks:" - for bmk in benchmark_iter(): print " " + bmk.name - -def describe_benchmarks(): - """Print descriptions of all benchmarks to standard output.""" - for bmk in benchmark_iter(): describe_benchmark(bmk) - -def describe_benchmark(bmk): - """Print a description of one benchmark to standard output.""" - - print " " + bmk.name - print format_columns(bmk.describe(), 4) - -def lookup_benchmark(name): - """Find a benchmark, given its name. Returns None if no benchmark - is found with the given name or if the benchmark is invalid. - If the benchmark cannot be found, an error is printed.""" - b = globals.benchmarks.get(name) - if b is not None: - bmk = b.get() - if bmk.invalid is None: - return bmk - else: - print "Error in benchmark:" - print str(bmk.invalid) - return None - else: - print "Cannot find benchmark" - return None - -def with_benchmark_named(name, action): - """Look up the benchmark named 'name'. If found, apply the action - to it. Otherwise, print an error message and return None.""" - - bmk = lookup_benchmark(name) - if bmk is not None: action(bmk) - -def compile_benchmark(bmk, version_name): - """Compile the benchmark 'bmk'.""" - try: impl = bmk.impls[version_name] - except KeyError: - print "Cannot find benchmark version" - return - - impl.build(bmk) - -def clean_benchmark(bmk, version_name=None): - """Remove the compiled code for one implementation of 'bmk'. If - no version is given, clean all versions.""" - - if version_name: - try: impl = bmk.impls[version_name] - except KeyError: - print "Cannot find benchmark version" - return - - impl.clean(bmk) - else: - # Clean all versions - for impl in bmk.impls.itervalues(): - impl.clean(bmk) - -def run_benchmark(bmk, version_name, input_name, check=True, extra_opts=[]): - """Run the benchmark 'bmk'.""" - try: impl = bmk.impls[version_name] - except KeyError: - print "Cannot find benchmark version" - return - - try: data = bmk.datas[input_name] - except KeyError: - print "Cannot find data set" - return - - # Run the benchmark - success = impl.run(bmk, data, check, extra_opts=extra_opts) - - if not success: - print "Run failed!" - return - - # Verify the output - if check: - success = impl.check(bmk, data) - - if not success: - print "Output checking tool detected a mismatch" - else: - print "Output was not checked for correctness" |
