很遗憾,没有办法,或者说你已经找到了办法:多开。
显然,英特尔至强E5是中高端企业级多核CPU,是支持超线程的,但对于MATLAB而言,它默认不使用超线程,
在一般场景中不会带来性能提升甚至可能会使得计算更慢
当你的机器有18个逻辑处理器,那么如果你使用一个线程,最大只能占用5.6%的CPU用量。至少你需要9个满载的工作线程才能发挥出50%的效率。
多线程可以让CPU的利用率最大化,单线程的程序在发出请求后要一直等待直到请求的数据到达才会做出响应,这段时间内CPU相当于空闲状态,使用率自然就不高了。
通过网上查找,可以尝试再matlab上将for改成parfor,通过并行计算来提高cpu的利用率。
知乎上有相关的帖子,你可以看一下。
https://www.zhihu.com/question/31224700
Please Note: Since the website is not hosted by Microsoft, the link may change without notice. Microsoft does not guarantee the accuracy of this information.

此致
如果认为回帖者的回答有所帮助,请将之标记为答复,这样可以帮助更多的用户获取有效信息。