Skip to content

Commit 4de5e6c

Browse files
committed
Merge pull request scikit-learn#2955 from larsmans/less-blas
[MRG+1] use CBLAS instead of Fortran BLAS in Liblinear
2 parents 0043b62 + bb5f643 commit 4de5e6c

File tree

9 files changed

+34
-729
lines changed

9 files changed

+34
-729
lines changed

sklearn/svm/setup.py

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1+
import os
12
from os.path import join
23
import numpy
34

45
import warnings
56

7+
from sklearn._build_utils import get_blas_info
8+
69

710
def configuration(parent_package='', top_path=None):
811
from numpy.distutils.misc_util import Configuration
@@ -39,30 +42,24 @@ def configuration(parent_package='', top_path=None):
3942
)
4043

4144
### liblinear module
42-
blas_sources = [join('src', 'blas', 'daxpy.c'),
43-
join('src', 'blas', 'ddot.c'),
44-
join('src', 'blas', 'dnrm2.c'),
45-
join('src', 'blas', 'dscal.c')]
45+
cblas_libs, blas_info = get_blas_info()
46+
if os.name == 'posix':
47+
cblas_libs.append('m')
4648

4749
liblinear_sources = ['liblinear.c',
4850
join('src', 'liblinear', '*.cpp')]
4951

5052
liblinear_depends = [join('src', 'liblinear', '*.h'),
5153
join('src', 'liblinear', 'liblinear_helper.c')]
5254

53-
# we try to link against system-wide blas
54-
blas_info = get_info('blas_opt', 0)
55-
56-
if not blas_info:
57-
config.add_library('blas', blas_sources)
58-
warnings.warn(BlasNotFoundError.__doc__)
59-
6055
config.add_extension('liblinear',
6156
sources=liblinear_sources,
62-
libraries=blas_info.pop('libraries', ['blas']),
63-
include_dirs=['src',
57+
libraries=cblas_libs,
58+
include_dirs=[join('..', 'src', 'cblas'),
6459
numpy.get_include(),
6560
blas_info.pop('include_dirs', [])],
61+
extra_compile_args=blas_info.pop('extra_compile_args',
62+
[]),
6663
depends=liblinear_depends,
6764
# extra_compile_args=['-O0 -fno-inline'],
6865
** blas_info)

sklearn/svm/src/blas/Makefile

Lines changed: 0 additions & 22 deletions
This file was deleted.

sklearn/svm/src/blas/blas.h

Lines changed: 0 additions & 25 deletions
This file was deleted.

0 commit comments

Comments
 (0)