不同版本中的numpy多线程行为

不同版本中的numpy多线程行为,numpy,Numpy,我在不同版本的numpy之间遇到了一个奇怪的行为 在以下代码中 将numpy导入为np n=2048 tmp=np.random.rand(n,n) %timeit tmp**2#A 在NUMPY1.16、1.17中,当代码运行时,我可以看到CPU达到了~400%-->操作使用了所有内核&由底层BLA并行 在numpy 1.18和1.19中,CPU使用率保持在~100%,完成所需时间延长了4倍 所有numpy版本都是从conda main安装的。运行np.show_config()表明它们都有

我在不同版本的numpy之间遇到了一个奇怪的行为
在以下代码中

将numpy导入为np
n=2048
tmp=np.random.rand(n,n)
%timeit tmp**2#A
在NUMPY1.16、1.17中,当代码运行时,我可以看到CPU达到了~400%-->操作使用了所有内核&由底层BLA并行
在numpy 1.18和1.19中,CPU使用率保持在~100%,完成所需时间延长了4倍
所有numpy版本都是从conda main安装的。运行np.show_config()表明它们都有BLAS的支持

在另一次行动中

%timeit tmp@tmp#B
所有numpy版本的CPU使用率约为400%

所以最大的问题是,为什么在(A)中,所有的内核都用在NUMPY1.16、1.17中,而不是1.18+

*我发现了,但不太确定在这种情况下如何解释