Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何限制NumPy'使用的线程数;Windows上有OpenBlas吗?_Python_Windows_Numpy_Openblas - Fatal编程技术网

Python 如何限制NumPy'使用的线程数;Windows上有OpenBlas吗?

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

我正在分析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.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 variable
OMP_NUM_THREADS=1
我尝试过-它不起作用。