24小时热门版块排行榜    

查看: 2197  |  回复: 18
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

田山东

捐助贵宾 (著名写手)

[求助] 请教matlab在linux下的并行问题已有2人参与

我想在linux下进行并行运算,原先串行的时候用for循环
for i=1:10
.....
.....
end
每个循环直接互相不影响,各干各的,得到的结果也是相互独立的,所以想到了并行运算。
把它改成parfor循环
parfor i=1:10
...
...
end
然后与串行相同的编译语句  nohup matlab d5.out &
进行编译,结果一下就结束了,没有进行计算,是怎么回事呢?
看书,说还要设置运行的核数,比如 matlabpool 设置需要几个核。
对spmd有点小疑问。同一段段代码运行在不同的 多个 lablablab上,是说一个任务运行在多个核上吧?而不是不同的任务运行在不同的核上。
回复此楼
everythinghasitsseason.enjoyyourlife.
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

田山东

捐助贵宾 (著名写手)

引用回帖:
18楼: Originally posted by zzl19860210 at 2015-10-29 15:23:39
主要是楼主的问题和我遇到的一模一样,说得相当清楚。我们的问题就是,通过SSH提交到linux服务器时,就不能正常运行,但是在服务器上直接运行或者在单机上操作也都没有问题。所以现在的问题是怎么将多个任务一次性 ...

这个问题确实已经解决了,你是在服务器上运行的吗?我告诉你答案:把并行指令从程序中去掉,跟串行的一样,然后看下你的matlab程序用了几个核心,就知道有没有并行了。实际情况是:用的不是一个核心,我估计是这样的,你强行设定用几个核心,它也给你用,但是你不去设定,它会自动分配用几个核心,所以后来我在用的时候,干脆不用并行指令了。
祝你成功啊,希望能帮到你。
everythinghasitsseason.enjoyyourlife.
19楼2015-11-02 21:43:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 19 个回答

田山东

捐助贵宾 (著名写手)

刚在网上搜了一下,matlabpool open local 8 设置节点数,但是必须在matlab下面才行,比如我打开linux,
>>matlab
进入matlab系统,然后matlabpool open local 8 可以,给出提示:
Starting matlabpool using the 'local' configuration ... connected to 8 labs.
看上去好像可以了,好吧,挂程序吧:
nohup matlab dd.out &
这个语句是网友给的,就是让matlab程序后台运行的一个方法。这时候提示出错了:
??? Undefined function or method 'nohup' for input arguments of type 'char'.

很奇怪 啊!!
如果进入linux界面,然后进入ABzazhi24pi.m这个文件所在的文件夹,输入
nohup matlab dd.out &
则没有这个奇怪的提示??? Undefined function or method 'nohup' for input arguments of type 'char'.
而且串行的时候还能得到正确的结果,并行的时候反而不能运行了。郁闷啊
everythinghasitsseason.enjoyyourlife.
2楼2012-11-30 10:50:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

田山东

捐助贵宾 (著名写手)

是不是break的问题。但是break跳出的是内层的循环啊。
parfor j=1:10
...
...
for
for
for
if...
berek
end
...


end
是这个问题吗?不用break也不行啊。没法跳出那个循环啊
everythinghasitsseason.enjoyyourlife.
3楼2012-11-30 11:06:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tracel

木虫 (正式写手)

【答案】应助回帖


感谢参与,应助指数 +1
jjdg: 金币+1, 感谢参与 2012-11-30 13:15:56
nohup 是系统命令,而非matlab命令,matlab环境,启用并行后,直接运行.m文件即可。
4楼2012-11-30 12:26:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见