Skip to content
Browse files

REF: move blas/lapack check into bento.

  • Loading branch information...
1 parent 8be8ce8 commit fd9ee7317a54ca1fa891a721476a0464308bcd72 @cournape cournape committed
Showing with 5 additions and 106 deletions.
  1. +5 −106 bscript
View
111 bscript
@@ -25,9 +25,9 @@ from bento.utils.utils \
from bento.backends.waf_backend \
import \
WAF_TOOLDIR
-
-import waflib
-from waflib import Options
+from bento.backends.waf_tools \
+ import \
+ blas_lapack
sys.path.insert(0, os.getcwd())
try:
@@ -35,82 +35,6 @@ try:
finally:
sys.path.pop(0)
-import collections
-_PLATFORM_TO_DEFAULT = collections.defaultdict(lambda: "atlas")
-_PLATFORM_TO_DEFAULT.update({
- "win32": "mkl",
- "darwin": "accelerate",
-})
-
-_OPTIMIZED_CBLAS_TO_KWARGS = {
- "mkl": {"lib": "mkl_intel_c,mkl_intel_thread,mkl_core,libiomp5md".split(",")},
- "atlas": {"lib": ["cblas", "atlas"]},
- "accelerate": {"framework": ["Accelerate"]},
- "openblas": {"lib": ["openblas"]},
-}
-
-_OPTIMIZED_LAPACK_TO_KWARGS = {
- "mkl": {"lib": "mkl_lapack95,mkl_blas95,mkl_intel_c,mkl_intel_thread,mkl_core,libiomp5md".split(",")},
- "atlas": {"lib": ["lapack", "f77blas", "cblas", "atlas"]},
- "accelerate": {"framework": ["Accelerate"]},
- "openblas": {"lib": ["openblas"]},
-}
-
-def get_optimized_name(context):
- o, a = context.options_context.parser.parse_args(context.command_argv)
- if o.blas_lapack_type == "default" or o.blas_lapack_type is None:
- optimized = _PLATFORM_TO_DEFAULT[sys.platform]
- else:
- optimized = o.blas_lapack_type
-
- return optimized
-
-def check_cblas(context, optimized):
- conf = context.waf_context
-
- msg = "Checking for %s (CBLAS)" % optimized.upper()
-
- kwargs = _OPTIMIZED_CBLAS_TO_KWARGS[optimized]
- kwargs.update({"msg": msg, "uselib_store": "CBLAS"})
-
- try:
- conf.check_cc(**kwargs)
- conf.env.HAS_CBLAS = True
- except waflib.Errors.ConfigurationError:
- conf.env.HAS_CBLAS = False
-
-def check_lapack(context, optimized):
- conf = context.waf_context
-
- msg = "Checking for %s (LAPACK)" % optimized.upper()
- if optimized in ["openblas", "atlas"]:
- check_fortran(context)
-
- kwargs = _OPTIMIZED_LAPACK_TO_KWARGS[optimized]
- kwargs.update({"msg": msg, "uselib_store": "LAPACK"})
-
- try:
- conf.check_cc(**kwargs)
- conf.env.HAS_LAPACK = True
- except waflib.Errors.ConfigurationError:
- conf.env.HAS_LAPACK = False
-
-def check_blas_lapack(context):
- optimized = get_optimized_name(context)
-
- o, a = context.options_context.parser.parse_args(context.command_argv)
- if o.blas_lapack_libdir:
- context.waf_context.env.append_value("LIBPATH", o.blas_lapack_libdir)
-
- check_cblas(context, optimized)
- check_lapack(context, optimized)
-
- # You can manually set up blas/lapack as follows:
- #conf.env.HAS_CBLAS = True
- #conf.env.LIB_CBLAS = ["cblas", "atlas"]
- #conf.env.HAS_LAPACK = True
- #conf.env.LIB_LAPACK = ["lapack", "f77blas", "cblas", "atlas"]
-
def compute_git_revision(top_node):
git_repo_node = top_node.find_node(".git")
if git_repo_node and cmd_is_runnable(["git", "--version"]):
@@ -131,19 +55,6 @@ def _register_metadata(context):
context.register_metadata("is_released", _SETUP_PY.ISRELEASED)
context.register_metadata("full_version", full_version)
-def check_fortran(context):
- opts = context.waf_options_context
- conf = context.waf_context
-
- opts.load("compiler_fc")
- Options.options.check_fc = "gfortran"
-
- conf.load("compiler_fc")
- conf.load("ordered_c", tooldir=[WAF_TOOLDIR])
-
- conf.check_fortran_verbose_flag()
- conf.check_fortran_clib()
-
@hooks.post_configure
def post_configure(context):
conf = context.waf_context
@@ -157,7 +68,7 @@ def post_configure(context):
archs = [conf.env.DEFAULT_CC_ARCH]
conf.env.ARCH = archs
- check_blas_lapack(context)
+ blas_lapack.check_blas_lapack(context)
@hooks.pre_build
def pre_build(context):
@@ -169,16 +80,4 @@ def pre_sdist(context):
@hooks.options
def options(global_context):
- from bento.commands.options import Option
-
- global_context.add_option_group("configure", "blas_lapack", "blas/lapack")
-
- available_optimized = ",".join(_OPTIMIZED_LAPACK_TO_KWARGS.keys())
- global_context.add_option("configure",
- Option("--blas-lapack-type", help="Which blas lapack to use (%s)" % available_optimized),
- "blas_lapack")
-
- global_context.add_option("configure",
- Option("--with-blas-lapack-libdir", dest="blas_lapack_libdir",
- help="Where to look for BLAS/LAPACK dir"),
- "blas_lapack")
+ blas_lapack.add_options(global_context)

0 comments on commit fd9ee73

Please sign in to comment.
Something went wrong with that request. Please try again.