Python 是否有一种配置,在这种配置下,numpy操作将在多个内核/线程上工作?

Python 是否有一种配置,在这种配置下,numpy操作将在多个内核/线程上工作?,python,numpy,lapack,blas,Python,Numpy,Lapack,Blas,如果是,哪一个 我感兴趣的具体示例是np.einsum 我对OPENBLAS/BLAS/LAPACK/ATLAS/INTEL MKL提供的功能感到困惑 我试着读过这篇文章并安装了一些软件包,但都弄得一团糟,所以我决定回到基础上来 理想的答案是“是/否”,如果答案是“是”,则为执行此操作的功能和配置示例。所谓配置,我指的是操作系统,python/numpy/BLAS/LAPACK等的版本 感谢您稍微消除您的困惑: BLAS和LAPACK是标准化的API(您可以将它们视为头文件) OpenBLAS

如果是,哪一个

我感兴趣的具体示例是
np.einsum

我对OPENBLAS/BLAS/LAPACK/ATLAS/INTEL MKL提供的功能感到困惑

我试着读过这篇文章并安装了一些软件包,但都弄得一团糟,所以我决定回到基础上来

理想的答案是“是/否”,如果答案是“是”,则为执行此操作的功能和配置示例。所谓配置,我指的是操作系统,python/numpy/BLAS/LAPACK等的版本


感谢您

稍微消除您的困惑:

  • BLAS和LAPACK是标准化的API(您可以将它们视为头文件)
  • OpenBLAS、ATLAS和MKL提供了这些API的优化实现。如果你有MKL,你应该被覆盖,否则我推荐OpenBLAS而不是ATLAS
如果没有其他说明,BLAS库将检查某些环境变量以决定使用多少线程。如果没有定义更多的特定变量,大多数库将默认为
OMP\u NUM\u THREADS
,因此在例如4个线程上运行,请重试

export OMP_NUM_THREADS=4
在开始你的程序之前。有关如何控制线程的更多详细信息,请查看BLAS实施手册/文档