summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAke Sandgren <ake@hpc2n.umu.se>2013-08-20 12:11:44 -0400
committerSkipper Seabold <jsseabold@gmail.com>2013-08-20 12:11:44 -0400
commit42af4e0fd15d8609f468c7c7f8a269eebbecf2f9 (patch)
tree25f606ebafceb493d0a8dd0c8368b4ec5dd0bc4a
parent9464075c7260475bdd5d693b3046379a2bb62482 (diff)
downloadnumpy-42af4e0fd15d8609f468c7c7f8a269eebbecf2f9.tar.gz
Add support for using openblas for the _dotblas function.
-rw-r--r--numpy/distutils/system_info.py24
1 files changed, 23 insertions, 1 deletions
diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py
index 8ec1b8446..245652003 100644
--- a/numpy/distutils/system_info.py
+++ b/numpy/distutils/system_info.py
@@ -119,7 +119,6 @@ import copy
import warnings
from glob import glob
from functools import reduce
-
if sys.version_info[0] < 3:
from ConfigParser import NoOptionError, ConfigParser
else:
@@ -298,6 +297,7 @@ def get_info(name, notfound_action=0):
'lapack_atlas': lapack_atlas_info, # use lapack_opt instead
'lapack_atlas_threads': lapack_atlas_threads_info, # ditto
'mkl': mkl_info,
+ 'openblas': openblas_info, # use blas_opt instead
'lapack_mkl': lapack_mkl_info, # use lapack_opt instead
'blas_mkl': blas_mkl_info, # use blas_opt instead
'x11': x11_info,
@@ -1492,6 +1492,11 @@ class blas_opt_info(system_info):
self.set_info(**blas_mkl_info)
return
+ openblas_info = get_info('openblas')
+ if openblas_info:
+ self.set_info(**openblas_info)
+ return
+
atlas_info = get_info('atlas_blas_threads')
if not atlas_info:
atlas_info = get_info('atlas_blas')
@@ -1537,6 +1542,23 @@ class blas_info(system_info):
self.set_info(**info)
+class openblas_info(blas_info):
+ section = 'openblas'
+ dir_env_var = 'OPENBLAS'
+ _lib_names = ['openblas']
+ notfounderror = BlasNotFoundError
+
+ def calc_info(self):
+ lib_dirs = self.get_lib_dirs()
+
+ openblas_libs = self.get_libs('openblas_libs', self._lib_names)
+ info = self.check_libs(lib_dirs, openblas_libs, [])
+ if info is None:
+ return
+ info['language'] = 'f77' # XXX: is it generally true?
+ self.set_info(**info)
+
+
class blas_src_info(system_info):
section = 'blas_src'
dir_env_var = 'BLAS_SRC'