Python 如何限制NumPy'使用的线程数;Windows上有OpenBlas吗?
我正在分析Python中脚本的执行时间,我想关闭MKL/OpenBLAS优化。如何在Windows上正确执行此操作 我通过pip安装了带有Python 3.6和numpy 1.16.3的Windows 10 x64 我尝试在Windows(Python 如何限制NumPy'使用的线程数;Windows上有OpenBlas吗?,python,windows,numpy,openblas,Python,Windows,Numpy,Openblas,我正在分析Python中脚本的执行时间,我想关闭MKL/OpenBLAS优化。如何在Windows上正确执行此操作 我通过pip安装了带有Python 3.6和numpy 1.16.3的Windows 10 x64 我尝试在Windows(OPENBLAS\u NUM\u THREADS,MKL\u NUM\u THREADS,NUMEXPR\u THREADS,VECLIB\u MAXIMUM\u THREADS)和Python脚本中设置系统环境变量: import os os.enviro
OPENBLAS\u NUM\u THREADS
,MKL\u NUM\u THREADS
,NUMEXPR\u THREADS
,VECLIB\u MAXIMUM\u THREADS
)和Python脚本中设置系统环境变量:
import os
os.environ["OMP_NUM_THREADS"] = "1"
os.environ["OPENBLAS_NUM_THREADS"] = "1"
os.environ["MKL_NUM_THREADS"] = "1"
os.environ["NUMEXPR_NUM_THREADS"] = "1"
os.environ["VECLIB_MAXIMUM_THREADS"] = "1"
但是执行这段代码:
import numpy as np
N = 10**4
a = np.random.random((N, N))
b = a@a
仍然使用多个线程
我的np.\uuuu config\uuuuu.show()
如下所示:
blas_mkl_info:
NOT AVAILABLE
blis_info:
NOT AVAILABLE
openblas_info:
library_dirs = ['C:\\projects\\numpy-wheels\\numpy\\build\\openblas']
libraries = ['openblas']
language = f77
define_macros = [('HAVE_CBLAS', None)]
blas_opt_info:
library_dirs = ['C:\\projects\\numpy-wheels\\numpy\\build\\openblas']
libraries = ['openblas']
language = f77
define_macros = [('HAVE_CBLAS', None)]
lapack_mkl_info:
NOT AVAILABLE
openblas_lapack_info:
library_dirs = ['C:\\projects\\numpy-wheels\\numpy\\build\\openblas']
libraries = ['openblas']
language = f77
define_macros = [('HAVE_CBLAS', None)]
lapack_opt_info:
library_dirs = ['C:\\projects\\numpy-wheels\\numpy\\build\\openblas']
libraries = ['openblas']
language = f77
define_macros = [('HAVE_CBLAS', None)]
start /affinity 0x4 python script.py
在我的电脑上没有类似于C:\\projects\\numpy wheels\\numpy\\build\\openblas
的路径,它必须是编译库的机器的路径
我在一个线程上实现执行的技巧是从CMD运行脚本,如下所示:
blas_mkl_info:
NOT AVAILABLE
blis_info:
NOT AVAILABLE
openblas_info:
library_dirs = ['C:\\projects\\numpy-wheels\\numpy\\build\\openblas']
libraries = ['openblas']
language = f77
define_macros = [('HAVE_CBLAS', None)]
blas_opt_info:
library_dirs = ['C:\\projects\\numpy-wheels\\numpy\\build\\openblas']
libraries = ['openblas']
language = f77
define_macros = [('HAVE_CBLAS', None)]
lapack_mkl_info:
NOT AVAILABLE
openblas_lapack_info:
library_dirs = ['C:\\projects\\numpy-wheels\\numpy\\build\\openblas']
libraries = ['openblas']
language = f77
define_macros = [('HAVE_CBLAS', None)]
lapack_opt_info:
library_dirs = ['C:\\projects\\numpy-wheels\\numpy\\build\\openblas']
libraries = ['openblas']
language = f77
define_macros = [('HAVE_CBLAS', None)]
start /affinity 0x4 python script.py
但是这不是管理数学库优化的正确方法(我不确定这个命令是否真的限制了OpenBLAS)。您应该设置env variable
OMP_NUM_THREADS=1
我尝试过-它不起作用。您应该设置env variableOMP_NUM_THREADS=1
我尝试过-它不起作用。