咋样提高MATLAB的CPU占用率
问题:“我发现我用MATLAB运算时,CPU占用率的极限大概是55%左右,即使是使用并行运算(使用parfor),也无法超过55%。请问有没有办法提高CPU占用率呢?还是说这个已经是极限了,原因是什么?”
随便鼓捣了下,这问题不适用OS X系统。我用的是OS X 10.9.5,Matlab 2014b,相信在Linux版本的Matlab也没有这个问题,建议问题添加操作系统平台。再说为什么windows上CPU占用率上不去,这就要去问操作系统了。在OS X和Linux系统中,Matlab进程基本可以从0飙到100%,而且可能因为耗尽系统内存而无响应自动退出,windows就没这情况,印象里假如分配太多内存的话会出现“Out of Memory”的提示。
■网友
matlab自带一些函数会调用并行,但只能调用物理核心,所以超线程的u只能用到一半的逻辑处理器。
■网友
修改 matlabpool profile的worker number(默认情况下每个核心一个worker)。另外你在用 parfor-loop的时候有没有开启matlabpool?
■网友
【咋样提高MATLAB的CPU占用率】 我的电脑是双核四线程的,matlab默认将最大开启workers的数量定义为了核心数,也就是2。因此要想使用全部4个线程,需要在设置中将workers的数量更改为4(下图2,3)。设置完毕后开启并行池parpool(\u0026#39;local\u0026#39;,4), 循环中使用parfor进行并行运算,cpu使用效率可达到100%。


■网友
应该是硬件的原因吧, 我的台式机 (4核8线程, win7) 和服务器 (12核24线程, ubuntu) 只能运行到 50 %, 同时运行两个 matlab 才能完全占用 CPU. 但是工作站 (12核12线程, win7) 可以直接运行到 100%.
■网友
泻药
matlab在使用并行运算时,默认是占用CPU所有核心,不包括线程。
比如:i7-8700,六核十二线程,六核全开CPU占用率大概60%-70%
parfor图里matlab占用cpu85%,内存是16G的,占50%。
想提高占用率有两个方法:
1.修改matlab预设的并行计算选项为电脑线程数
2.也可以多开matlab,我一般用一个满载并行加多开,这样可以算不同的东西,速度也可以。
■网友
是不是程序本身的问题?如果parfor对应的迭代次数少,通信占用的时间较长?
推荐阅读
- 养老保险■明年元旦起,苏州市区城乡居民基本养老保险待遇提高
- |泰内阁批准提高路段限速值,国家级公路限速最高到120km/h
- 电商网站支付流程的流失率是怎么样的从用户点击充值/支付按钮,到支付完成,其中每一步的流失比率都是咋样的
- |新款领克01竞争力分析:推荐入门版 价格门槛提高2.9万元
- 联想g50-80咋样大概4000元左右,性价比怎样求大神指点!
- 华威大学计算机本科咋样
- 龙芯笔记本咋样
- 加拿大像滑铁卢,多伦多大学的计算机授课型研究生咋样
- 像知乎豌豆夹这种新兴互联网公司发展的实际状况咋样
- 我有几个app点子,拉出来比较容易实现的一个和大家探讨,只差程序员(替你们说了)请问这个点子咋样
