24小时热门版块排行榜    

查看: 4712  |  回复: 12

wlzyid

新虫 (小有名气)

[求助] 如何将matlab限定在一个CPU核上运行

大家好!
我要比较几个算法的运行速度,为了避免并行性带来的干扰,我想把matlab限定在一个CPU核上运行.
怎么实现?
小弟先行谢过!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
csgt0: 金币+1, 多谢指导 2013-08-21 16:56:26
ben_ladeng: 专家考核 2013-08-21 20:34:01
wlzyid: 金币+5, 有帮助, 答案我自己找到了,在8楼,但是还是很感谢您的及时回复. 同时也感谢其他跟帖虫友. 2013-08-23 10:58:34
m文件默认单核运行的,从任务管理中就能看出来。MATLAB的tic,toc命令可计算程序运行耗时,或者用MATLAB的Profiler来测试程序的运行时间。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2013-08-21 11:16:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小尾寒羊

银虫 (小有名气)

坐等答案。
3楼2013-08-21 12:17:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

alorsmail

铁杆木虫 (著名写手)

【答案】应助回帖


感谢参与,应助指数 +1
csgt0: 金币+1, 谢谢 2013-08-21 16:56:43
还有一个方法输是用并行计算,每段程序只建立一个 slave,这样就你保证程序是在一个核上面运行了

[ 发自小木虫客户端 ]
4楼2013-08-21 15:46:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

alorsmail

铁杆木虫 (著名写手)

【答案】应助回帖


csgt0: 金币+1, 谢谢 2013-08-21 16:56:54
fegg7502: 应助指数+1, 3ks 2013-08-22 08:46:50
新版的MATLAB 并不完全是默认单核运行。会自动 并行化 ,这个MATLAB公司的人曾经说起过。但具体的方法没有说
所以保险的方法还是用并行计算,限定一个 core ,
个人看法

[ 发自小木虫客户端 ]
5楼2013-08-21 15:50:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

metorm

铜虫 (初入文坛)

【答案】应助回帖


感谢参与,应助指数 +1
csgt0: 金币+1, 谢谢 2013-08-21 16:57:02
你就用单核机器跑吧。matlab脚本宏观上是默认串行的,但是一些库函数或者矩阵运算是默认并行的。
6楼2013-08-21 16:46:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

杀手牛

金虫 (小有名气)

【答案】应助回帖


感谢参与,应助指数 +1
fegg7502: 金币+1, 鼓励交流 2013-08-22 08:47:00
比较几个算法的运行速度,为什么非要限定在一个核呢?
如果你想说明你的算法在单核时比别的算法好,又有什么意义呢(假设别人的并行的),另外,高版本的matlab有很多函数都是自动并行。
如果真想比较的话,就用pmode模式吧。
7楼2013-08-21 19:16:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wlzyid

新虫 (小有名气)

引用回帖:
7楼: Originally posted by 杀手牛 at 2013-08-21 19:16:51
比较几个算法的运行速度,为什么非要限定在一个核呢?
如果你想说明你的算法在单核时比别的算法好,又有什么意义呢(假设别人的并行的),另外,高版本的matlab有很多函数都是自动并行。
如果真想比较的话,就用p ...

每种算法在具体应用或实现的时候,或多或少都可以有一定的并行性,而我目前的研究还局限在算法的"原始本身",没有考虑在实现上的并行性.所以要限定单核. 说实话,对于一些常见的通用算法,其实现方式或者说并行方式也不只一种. 如果要加上并行后再对比,这个难度较大,且说服力也不够.您认为呢?

此外我知道了具体的限定单核的方法:启动时用-singleCompThread参数
8楼2013-08-23 10:55:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lilenwpu

新虫 (初入文坛)

引用回帖:
8楼: Originally posted by wlzyid at 2013-08-23 10:55:36
每种算法在具体应用或实现的时候,或多或少都可以有一定的并行性,而我目前的研究还局限在算法的"原始本身",没有考虑在实现上的并行性.所以要限定单核. 说实话,对于一些常见的通用算法,其实现方式或者说并 ...

请问楼主找到解决这个问题的方案了么?我也遇到了相同的问题,需要给几个算法相同的计算时间来比较他们的计算效果。
个人认为有两个问题需要解决:
前提:需要运行一个m.文件,在一个多core的电脑上,用的是matlab 2014
1,如何让matlab只使用一个core
2. 如何保证电脑上的其他程序不用占用这个core的资源,也就是说matlab拥有这个core的全部计算能力。

期待楼主的回复,哈哈 多谢
9楼2015-04-29 00:10:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wlzyid

新虫 (小有名气)

引用回帖:
9楼: Originally posted by lilenwpu at 2015-04-29 00:10:21
请问楼主找到解决这个问题的方案了么?我也遇到了相同的问题,需要给几个算法相同的计算时间来比较他们的计算效果。
个人认为有两个问题需要解决:
前提:需要运行一个m.文件,在一个多core的电脑上,用的是matl ...

1,如何让matlab只使用一个core
就像前面的楼层所说的,启动matlab时加个参数就行了。
2. 如何保证电脑上的其他程序不用占用这个core的资源,也就是说matlab拥有这个core的全部计算能力。
我当初的笨办法是将机器上所有其他程序和服务都关了
当然,这肯定不是严格意义上的独享,但是如果用于比较,而不是要取绝对者,应该没问题吧
10楼2015-04-29 08:30:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wlzyid 的主题更新
信息提示
请填处理意见