如何将matlab cpu限定在一个CPU核上运行

刚开始接触matlab并行计算,多核多线程设置
已有 32347 次阅读
|系统分类:|关键词:左右 cpu 任务管理器 profile matlab
刚开始接触matlab并行计算,以前旧电脑从不考虑这些的
小本i7四核八线程16G内存,64位win7和matlab 2012b,任务管理器显示有8个框当用普通for循环,只有一个框接近100%,cpu使用率只有12%左右默认配置下,键入matlabpool,右下角提示4个然后使用parfor,进程中也能看到5个叫做matlab的,一个接近400M,其他4个接近200M但为什么只有4个框接近100%,cpu使用率只有50%左右?如何充分使用资源
使用matlabpool 是建议1个核(core)对应一块pool(worker)所以建议出现默认4个,可以试下,
setenv('OMP_NUM_THREADS', '8');
setenv&&'OMP_NUM_THREADS'&&8getenv 'OMP_NUM_THREADS'
图形界面的设置如下Home-parallel-mange cluster profile,修改NumWorkers为8,再次打开matlabpool,右下角显示8,运行cpu100%满负荷顺便说下,小本风扇顿时惨厉的狂豪;内存共9个叫做Matlab的,一个主的接近3G,其他8个接近200M,我的16G内存快接近一半了
转载本文请联系原作者获取授权,同时请注明本文来自屠澄轶科学网博客。链接地址:
上一篇:下一篇:
当前推荐数:0
评论 ( 个评论)
扫一扫,分享此博文
作者的其他最新博文
热门博文导读
Powered by
Copyright &matlab 并行编程开满计算机核数,cpu利用率只有百分之十几? - 知乎2被浏览1743分享邀请回答0添加评论分享收藏感谢收起[LZ内牛满面求高人指点]版主手下留情,跪求I7 2600,跑MATLAB开8线程的方法。现在CPU只占50%,浪费我的U啊..
版主手下留情,跪求I7 2600,跑MATLAB开8线程的方法。现在CPU只占50%,浪费我的U啊.....当初就是为了跑MATLAB而配的I7 2600(再好我买不起了)现在跑了MATLAB2010B,发现CPU只占50%,跪求使CPU占100%的方法啊!!!!
跑两个matlab。
楼上的别开玩笑了。。。。
你先明白超线程是怎么运作的超线程的原理是利用闲置的单元进行计算,也就是说你要有大量的指令集交叉才会有用,像matlab这样大密度的单一指令操作,怎么可能会利用到超线程
没有开玩笑啊。你自己写的matlab程序,就知道程序总体上不是多线程的。matlab自己最多只能在某些函数上用到多个核心,当然不可能让你跑满所有的核。跑两个matlab是非常正常的手段,除非你根本不考虑任何参数的变化,只计算唯一的一个结果。这样很少见吧。
那也就是说,我跑单一程序,最多就只用到50%了?OK,我可以一边MATLAB,一边WOW....I7 2600浪费了啊..
你要是设置到3个核心,玩wow应该是可以的,设置全部8个核心,我觉得你玩wow会很卡
别看只有50%,你的I7也没有浪费。照你的说法,matlab还是用到了大约4个核心,你可以尝试关掉超线程,去掉那些虚拟的核心,也许能提高些速度。
[quote][pid=][b]Post by 假的光之岭主 ( 22:04):[/b][/pid]别看只有50%,你的I7也没有浪费。照你的说法,matlab还是用到了大约4个核心,你可以尝试关掉超线程,去掉那些虚拟的核心,也许能提高些速度。[/quote]
我看了下任务管理,确实只用到4个线程。 那么怎么关掉超线程呢?关掉之后,会有什么影响?(好的和不好的)谢谢
引用自己的不算抄袭吧 [s:1] 首先在matlab里面设置多个worker,你是i7 2600,又开了超线程,那么就设置8个在parallel里面,manage configurationlocal 右键, properties,number of workers available to scheduler,不开超线程填4(4核),如果是4核,并且开了超线程就填8点OK,点start validation你再找找看有没有你用的上的工具包[url]/matlabcentral/linkexchange[/url]在parallel里面设置好了8个worker,开2个matlab是最简单的方法你如果用N卡,再装个使用平行计算的工具包,当然,这取决于你的具体工作内容,有的人不能自己编程,只是跑结果,就用不上i7 2600绝对没有白买,这是替代双至强的廉价方案
[quote][pid=][b]Post by Arthurknight ( 04:17):[/b][/pid]引用自己的不算抄袭吧 [s:1] 首先在matlab里面设置多个worker,你是i7 2600,又开了超线程,那么就设置8个在parallel里面,manage configurationlocal 右键, properties,number of workers available to scheduler,不开超线程填4(4核),如果是4核,并且开了超线程就填8点OK,点start validation你再找找看有没有你用的上的工具包[url]/matlabcentral/linkexchange[/url]在parallel里面设置好了8个worker,开2个matlab是最简单的方法你如果用N卡,再装个使用平行计算的工具包,当然,这..[/quote]
先谢谢了。
不过我按照你的方法设置成8,但运行时仍旧只有4个线程起作用....何解?
要装parallel toolbox查看: 718|回复: 0|关注: 0
双路CPU并行只用了一路CPU,如何提高利用率?
<h1 style="color:# 麦片财富积分
新手, 积分 10, 距离下一级还需 40 积分
工作站测试的matlab R2014b(破解版,parallel 最大可达512)在并行运行时开了40,80甚至100个核进行测试,可以运行,但是CPU都只用了50%(双路CPU,都为20核40线程的,总的核数是40,逻辑处理器80),我看任务管理器中的matlab进程只有一个CPU的所有核心(40个)在运行,剩下一个处理器没有用上,看到进程的详细信息是CPU被分组的情况,只用了CPU0这个处理器,matlab不支持双路CPU的使用吗?还是我的设置哪里有问题?请各为大神帮我解答下疑惑,谢谢
另外,feature('numcores')
& && &MATLAB detected: 40 physical cores.
& && &MATLAB detected: 80 logical cores.
& && &MATLAB was assigned: 40 logical cores by the OS.
& && &MATLAB is using: 40 logical cores.
& && &MATLAB is not using all logical cores because hyper-threading is enabled.
站长推荐 /2
利用MATLAB/Simulink开发智能机器人系统
MATLAB中文论坛是全球最大的 MATLAB & Simulink 中文社区。用户免费注册会员后,即可下载代码,讨论问题,请教资深用户及结识书籍作者。立即注册加入我们吧!
MATLAB官方社交平台
MATLAB中文论坛微社区

我要回帖

更多关于 zec 挖矿 限定cpu 的文章

 

随机推荐