Python 是Scipy';s distance.cdist函数只能是单线程还是可以使其成为多线程?

Python 是Scipy';s distance.cdist函数只能是单线程还是可以使其成为多线程?,python,multithreading,numpy,scipy,Python,Multithreading,Numpy,Scipy,Scipy的distance.cdist函数是单线程还是可以使其成为多线程 我已经在我的计算机上测试了它,两边都有非常大的矩阵((1000000100)和(10100)),并且只使用了一个CPU。我的设置如下,这表明我已安装BLAS: >>> import scipy >>> scipy.__config__.show() openblas_info: library_dirs = ['/usr/local/lib'] language = f

Scipy的distance.cdist函数是单线程还是可以使其成为多线程

我已经在我的计算机上测试了它,两边都有非常大的矩阵((1000000100)和(10100)),并且只使用了一个CPU。我的设置如下,这表明我已安装BLAS:

>>> import scipy
>>> scipy.__config__.show()
openblas_info:
    library_dirs = ['/usr/local/lib']
    language = f77
    libraries = ['openblas']
openblas_lapack_info:
    library_dirs = ['/usr/local/lib']
    language = f77
    libraries = ['openblas']
blas_opt_info:
    library_dirs = ['/usr/local/lib']
    language = f77
    libraries = ['openblas']
lapack_opt_info:
    library_dirs = ['/usr/local/lib']
    language = f77
    libraries = ['openblas']
blas_mkl_info:
  NOT AVAILABLE

我想这取决于度量(当然还有您的BLAS设置)。检查您的openblas是否是用openmp编译的(或者只是用一些大矩阵乘法进行目视检查)。那就说说你的标准吧。除了线性代数中一些更复杂的算法(LAPACK和co.)之外,除了
numpy.dot
之外,没有多少算法是并行的。后者用于公制
sqeuclidean
中,例如,您应该看到效果。其他指标,如余弦,在我看来并不平行。