强制Python(NumPy)提高CPU使用率

强制Python(NumPy)提高CPU使用率,python,numpy,optimization,anaconda,Python,Numpy,Optimization,Anaconda,我想为每一行NumPy数组参数计算函数LC.fCore()。据我所知,NumPy有多线程,但当我开始编写代码时,它只占用10%的CPU。所以我应该运行几个实例。有可能强制python使用几乎所有的CPU吗?我在研究水蟒 代码 while true: # get new parameters array ( N rows, 15 columns) Parameters=getParameters(N) Result=np.apply_along_axis(LC.fCore, 1,P

我想为每一行NumPy数组
参数
计算函数
LC.fCore()
。据我所知,NumPy有多线程,但当我开始编写代码时,它只占用10%的CPU。所以我应该运行几个实例。有可能强制python使用几乎所有的CPU吗?我在研究水蟒

代码

while true:
# get new parameters array ( N rows, 15 columns)
    Parameters=getParameters(N)
    Result=np.apply_along_axis(LC.fCore, 1,Parameters)
    flag=saveResult(Result)
    if flag==0:
       break
更新:
感谢@kazemakase(见下面的评论)。但是如何加载所有内核?我对编码非常陌生,尤其是Python

您确定应用操作是您程序的瓶颈吗?这通常会导致完全使用单个CPU。或者你的意思是你的计算机拥有的所有核心总数的10%?Numpy不支持多线程。这是一个CPU/核心的10%吗?它使用每个核心的一部分(我有8个)。内存只有22%。我不使用硬盘或网络,因此我认为问题在于apply。如果NumPy不是多线程,我应该怎么做?现在它是纯Python代码,但以后我将实现C++的COL+实现。如果有8个内核,其中一个在100%个负载下运行,则应该看到大约100×1/8=12.5%的总负载。这非常接近OP中报告的10%。操作系统通常是智能的,并将工作分配到所有可用的内核上。这就是为什么它们都显示出一点负载,而不是一个核心以100%的速度运行。你能告诉我如何在我的任务中加载所有内核吗?你确定应用操作是你程序的瓶颈吗?这通常会导致完全使用单个CPU。或者你的意思是你的计算机拥有的所有核心总数的10%?Numpy不支持多线程。这是一个CPU/核心的10%吗?它使用每个核心的一部分(我有8个)。内存只有22%。我不使用硬盘或网络,因此我认为问题在于apply。如果NumPy不是多线程,我应该怎么做?现在它是纯Python代码,但以后我将实现C++的COL+实现。如果有8个内核,其中一个在100%个负载下运行,则应该看到大约100×1/8=12.5%的总负载。这非常接近OP中报告的10%。操作系统通常是智能的,并将工作分配到所有可用的内核上。这就是为什么它们都显示出一点负载,而不是一个核心以100%的速度运行。你能告诉我如何在我的任务中加载所有内核吗。