什么';为什么numpy在不同的Python环境下具有不同的并行速率?

什么';为什么numpy在不同的Python环境下具有不同的并行速率?,python,numpy,parallel-processing,Python,Numpy,Parallel Processing,我主要使用numpy和joblib构建了一个机器学习软件包。我在Python3.5.x上开发了它。numpy主要在计算部分发挥作用,而joblib则致力于实现并行部分。而我已经完成了Python3.5.x下的开发过程。我在Python3.6.x和Python3.7.x上重新测试了pkg。Python3.5.x下的pkg运行良好,它使用了我设置的CPU数量,而Python3.6.x下使用的CPU数量较少,Python3.7.x下使用了我计算机上几乎一半的CPU。您能补充一些详细信息吗。例如,您的结

我主要使用numpy和joblib构建了一个机器学习软件包。我在Python3.5.x上开发了它。numpy主要在计算部分发挥作用,而joblib则致力于实现并行部分。而我已经完成了Python3.5.x下的开发过程。我在Python3.6.x和Python3.7.x上重新测试了pkg。Python3.5.x下的pkg运行良好,它使用了我设置的CPU数量,而Python3.6.x下使用的CPU数量较少,Python3.7.x下使用了我计算机上几乎一半的CPU。

您能补充一些详细信息吗。例如,您的结果表我在joblib中使用Parallel来实现多线程,并将工作进程(CPU)的数量设置为10。pkg在Python3.5.x中运行良好,正如我所希望的那样,Python3.5.x使用了十个cpu。然而,当我在Python3.7.x下重新测试pkg时,我的所有cpu都包含在该计算中,尽管我设置的工作进程数仍然等于10。我曾尝试使用环境变量,例如MKL_NUM_线程引用。这对Python3.7.x是有效的,但是对于Python3.6.x和Python3.8.x,它不起作用。我认为这可能与numpy版本有关。