summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrea Arteaga <andyspiros@gmail.com>2012-08-11 18:32:12 +0200
committerAndrea Arteaga <andyspiros@gmail.com>2012-08-11 18:32:12 +0200
commit490f1e0cb69e5faf2055be71f18584b99e624c76 (patch)
tree0d7c03c36c34415c6c01e30510a46fb9d13d75d4
parentUpdated manpage. (diff)
downloadauto-numerical-bench-490f1e0cb69e5faf2055be71f18584b99e624c76.tar.gz
auto-numerical-bench-490f1e0cb69e5faf2055be71f18584b99e624c76.tar.bz2
auto-numerical-bench-490f1e0cb69e5faf2055be71f18584b99e624c76.zip
Insert static modules list and check is requested module exists.
-rw-r--r--numbench/main.py15
-rw-r--r--numbench/modules/__init__.py16
2 files changed, 20 insertions, 11 deletions
diff --git a/numbench/main.py b/numbench/main.py
index a7f752b..0e98b41 100644
--- a/numbench/main.py
+++ b/numbench/main.py
@@ -57,15 +57,6 @@ def print_help():
for m in modnames:
M = modules.loadModule(m)
print " %s - %s" % (m, M.descr)
-# print " blas - Test BLAS implementations"
-# print " cblas - Test CBLAS implementations"
-# print " lapack - Test LAPACK implementations"
-# print " lapacke - Test LAPACK implementations"
-# print " scalapack - Test the ScaLAPACK library"
-# #print " blas_accuracy - Test BLAS implementations for accuracy"
-# #print " lapack_accuracy - Test LAPACK implementations for accuracy"
-# print " fftw - Test the FFTW library"
-# #print " metis - Test the METIS tools"
print
print "More information about a module is available through the command:"
print " numbench module --help"
@@ -108,6 +99,12 @@ parser = Parser(cfg.inputfile)
cfg.modulename = parser.getModuleName()
cfg.moduleargs = parser.getModuleArguments()
+# Check whether the given module exists
+if not cfg.modulename in modules.getAllModulesNames():
+ print "Error: module " + cfg.modulename + " does not exist.\n\n"
+ print_help()
+ exit(2)
+
# Set-up directories
cfg.setDirs()
diff --git a/numbench/modules/__init__.py b/numbench/modules/__init__.py
index fdd704e..9696252 100644
--- a/numbench/modules/__init__.py
+++ b/numbench/modules/__init__.py
@@ -18,12 +18,25 @@
import os
from os.path import basename, dirname, realpath
+# List here the "stable" modules in a static and ordered list
+modnames = [
+ 'blas',
+ 'cblas',
+ 'lapack',
+ 'lapacke',
+ 'scalapack',
+ 'fftw'
+]
+
class ModuleNotFoundException(RuntimeError):
pass
def getModulesNames():
+ return modnames
+
+def getAllModulesNames():
files = os.listdir(dirname(realpath(__file__)))
me = basename(__file__)
modnames = []
@@ -32,7 +45,6 @@ def getModulesNames():
modnames.append(f[:-3])
return modnames
-
def loadModule(modname, args=None):
if not modname in getModulesNames():
raise ModuleNotFoundException("module " + modname + " not found")
@@ -42,5 +54,5 @@ def loadModule(modname, args=None):
args = args if type(args) == type('') else ' '.join(args)
# Load the module
- tmp = __import__(modname, fromlist=["Module"])
+ tmp = __import__('numbench.modules.' + modname, fromlist=["Module"])
return tmp.Module(args)