Matlab只使用每个核心的一半

时间:2015-07-22 12:15:27

标签: performance matlab parallel-processing

我正在4核计算机上运行matlab代码。我正在使用parfor命令,因此预期matlab正在使用4个核心来运行它。

然而,当我去任务管理器时,我发现只使用了每个核心的一半 - 即总共只有50%的CPU被matlab占用。

有没有理由说matlab没有使用完整的100%?

我不确定这是否是此问题的适当论坛。如果没有,请告诉我。

谢谢, V

1 个答案:

答案 0 :(得分:3)

最可能的解释是您已启用超线程。然后Windows会看到好像有8个内核而不是4个内核。如果你关闭超线程,我敢打赌你会看到它上升到100%。

MATLAB在任何情况下都不会从超线程中获益(实际上甚至可能会有非常小的性能降低),所以如果您关注的是最大化MATLAB性能,您也可以将其关闭。当然,如果你这样做,那些从超线程中受益的其他应用程序(例如Outlook或Word)可能会受到影响。

还有其他可能性 - 例如,CPU以外的其他东西(例如文件I / O,内存)可能是您应用程序的瓶颈 - 但如果您看到50%的使用率一致,我会打赌超线程就是原因。