diff options
author | Olivier Grisel <olivier.grisel@ensta.org> | 2013-09-04 16:10:04 +0200 |
---|---|---|
committer | Olivier Grisel <olivier.grisel@ensta.org> | 2013-09-04 16:10:04 +0200 |
commit | 43fcc0e4b53ef2abb4a7fa588760d943ce997550 (patch) | |
tree | a8fa9ff154d47a2b3a87b464d4c5a95ac38bce1c | |
parent | 6c8167168e1bbe8898ea44d41b96af60d52ce5a3 (diff) | |
download | numpy-43fcc0e4b53ef2abb4a7fa588760d943ce997550.tar.gz |
Make vecLib / Accelerate not shadow other optimized builds under OSX
-rw-r--r-- | numpy/distutils/system_info.py | 56 |
1 files changed, 33 insertions, 23 deletions
diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py index 245652003..d9196ea5c 100644 --- a/numpy/distutils/system_info.py +++ b/numpy/distutils/system_info.py @@ -12,6 +12,7 @@ classes are available: lapack_atlas_info blas_info lapack_info + openblas_info blas_opt_info # usage recommended lapack_opt_info # usage recommended fftw_info,dfftw_info,sfftw_info @@ -1366,7 +1367,22 @@ class lapack_opt_info(system_info): def calc_info(self): - if sys.platform == 'darwin' and not os.environ.get('ATLAS', None): + openblas_info = get_info('openblas') + if openblas_info: + self.set_info(**openblas_info) + return + + lapack_mkl_info = get_info('lapack_mkl') + if lapack_mkl_info: + self.set_info(**lapack_mkl_info) + return + + atlas_info = get_info('atlas_threads') + if not atlas_info: + atlas_info = get_info('atlas') + + if sys.platform == 'darwin' and not atlas_info: + # Use the system lapack from Accelerate or vecLib under OSX args = [] link_args = [] if get_platform()[-4:] == 'i386' or 'intel' in get_platform() or \ @@ -1394,14 +1410,6 @@ class lapack_opt_info(system_info): define_macros=[('NO_ATLAS_INFO', 3)]) return - lapack_mkl_info = get_info('lapack_mkl') - if lapack_mkl_info: - self.set_info(**lapack_mkl_info) - return - - atlas_info = get_info('atlas_threads') - if not atlas_info: - atlas_info = get_info('atlas') #atlas_info = {} ## uncomment for testing need_lapack = 0 need_blas = 0 @@ -1455,7 +1463,22 @@ class blas_opt_info(system_info): def calc_info(self): - if sys.platform == 'darwin' and not os.environ.get('ATLAS', None): + blas_mkl_info = get_info('blas_mkl') + if blas_mkl_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') + + if sys.platform == 'darwin'and not atlas_info: + # Use the system BLAS from Accelerate or vecLib under OSX args = [] link_args = [] if get_platform()[-4:] == 'i386' or 'intel' in get_platform() or \ @@ -1487,19 +1510,6 @@ class blas_opt_info(system_info): define_macros=[('NO_ATLAS_INFO', 3)]) return - blas_mkl_info = get_info('blas_mkl') - if blas_mkl_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') need_blas = 0 info = {} if atlas_info: |