summaryrefslogtreecommitdiff
path: root/benchmarks/CUDA/CP/driver/actions.py
diff options
context:
space:
mode:
Diffstat (limited to 'benchmarks/CUDA/CP/driver/actions.py')
-rw-r--r--benchmarks/CUDA/CP/driver/actions.py109
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"