gpt4 book ai didi

python - Numpy 突然使用所有 CPU

转载 作者:太空狗 更新时间:2023-10-29 23:57:49 24 4
gpt4 key购买 nike

直到最近,当我使用像 np.dot(A,B) 这样的 numpy 方法时,只使用了一个核心。但是,由于今天突然使用了我的 linux 机器的所有 8 个内核,这是一个问题。

一个最小的工作示例:

import numpy as np
N = 100

a = np.random.rand(N,N)
b = np.random.rand(N,N)

for i in range(100000):
a = np.dot(a,b)

在我的另一台笔记本电脑上,它在单核上运行良好。这可能是由于一些新图书馆造成的吗?

今天早上我通过 pip 更新了 matplotlib 和 cairocffi,但仅此而已。

关于如何回到单核的任何想法?

编辑:

当我运行时

np.__config__.show()

我得到以下输出

openblas_info:
libraries = ['openblas', 'openblas']
define_macros = [('HAVE_CBLAS', None)]
language = c
library_dirs = ['/usr/local/lib']
openblas_lapack_info:
libraries = ['openblas', 'openblas']
define_macros = [('HAVE_CBLAS', None)]
language = c
library_dirs = ['/usr/local/lib']
lapack_opt_info:
libraries = ['openblas', 'openblas']
define_macros = [('HAVE_CBLAS', None)]
language = c
library_dirs = ['/usr/local/lib']
blas_mkl_info:
NOT AVAILABLE
blas_opt_info:
libraries = ['openblas', 'openblas']
define_macros = [('HAVE_CBLAS', None)]
language = c
library_dirs = ['/usr/local/lib']

最佳答案

这可能是因为 numpy 正在链接多线程 openBLAS 库。尝试设置全局环境变量以将线程关联设置为:

export OPENBLAS_MAIN_FREE=1

# Now run your python script.

另一种解决方法是使用 ATLAS 而不是 OpenBLAS。请参阅此帖子以获取更多信息 (https://shahhj.wordpress.com/2013/10/27/numpy-and-blas-no-problemo/)。这篇文章还提出了一些其他可能值得尝试的解决方法。

关于python - Numpy 突然使用所有 CPU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38659217/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com