| 查看: 2537 | 回复: 12 | ||
我是包子铜虫 (正式写手)
|
[求助]
Linux下 如何实现matlab多线程计算(应该也叫并行运算) 已有2人参与
|
|
|
程序跑了三个月了,还没有结果,这个真的不可以有,所以,菜鸟只能在这里求助了!!! 由于原先程序运算比较大,套用了很多的for循环,考虑到用Linux服务器来跑实验。(主要本人菜鸟一枚,不会优化程序,所以只能用最笨的办法了,5555······) 学校有几台32核的Linux服务器,其matlab版本是R2014a]版本的,上网搜索了一下matlab可以并行计算,然后就试试了,在原先的程序前我加了----matlabpool local 8(Linux服务器cpu是64,但是还要其他程序在运行就写了个8),反正提示是可以开启8个labs运行(也就是并行池的意思吧),但是发现运算的速度也没有我想象提升的那么快,还是很慢,难道是因为我在服务器上面提交的任务太多了嘛? 最后一个问题就是,matlab是不能开启多个并行池进行计算的吗?我之前打开了一个并行池,当我想开启第二个的时候就开启不了了,想问这个需要怎么解决? 有没有大神可以帮帮我这只菜鸟,自学的Linux和matlab,很多基础都不会,求帮忙、求帮忙、求帮忙,重要的事情要说三遍!!! |
» 猜你喜欢
参与限项
已经有3人回复
假如你的研究生提出不合理要求
已经有7人回复
实验室接单子
已经有4人回复
全日制(定向)博士
已经有4人回复
对氯苯硼酸纯化
已经有3人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有12人回复
不自信的我
已经有12人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
北核录用
已经有3人回复
» 本主题相关价值贴推荐,对您同样有帮助:
通过键级曲线和ELF/LOL/RDG等值面动画研究化学反应过程
已经有12人回复

wake_up
木虫 (著名写手)
- 应助: 124 (高中生)
- 金币: 4001.5
- 散金: 1654
- 红花: 24
- 帖子: 1113
- 在线: 424.2小时
- 虫号: 670119
- 注册: 2008-12-08
- 性别: GG
- 专业: 医学图像数据处理与分析
★ ★ ★ ★ ★ ★ ★ ★ ★ ★
我是包子: 回帖置顶 2015-11-07 09:56:03
我是包子(xzhdty代发): 金币+10 2015-11-07 20:45:36
我是包子: 回帖置顶 2015-11-07 09:56:03
我是包子(xzhdty代发): 金币+10 2015-11-07 20:45:36
|
matlab多并行池支持不好,你全开都要跑那么久,如果过真开多并行。。。。。。。另外,那个每个机器的worker最大只能设到机器的物理内核数, 不能达到线程数。 多个机器的情况下,每个机器设置的核数必须一样。 如果真做那么大的密集计算,强烈建议GPU。CPU的并行计算很无力。 发自小木虫Android客户端 |

8楼2015-10-24 09:54:49
问天阁
木虫 (正式写手)
- 应助: 2 (幼儿园)
- 金币: 5173.8
- 红花: 5
- 帖子: 577
- 在线: 434小时
- 虫号: 1198420
- 注册: 2011-01-31
- 性别: GG
- 专业: 物理无机化学
3楼2015-10-23 21:56:53
问天阁
木虫 (正式写手)
- 应助: 2 (幼儿园)
- 金币: 5173.8
- 红花: 5
- 帖子: 577
- 在线: 434小时
- 虫号: 1198420
- 注册: 2011-01-31
- 性别: GG
- 专业: 物理无机化学
2楼2015-10-23 21:54:16
260846137
新虫 (小有名气)
- 应助: 1 (幼儿园)
- 金币: 1955.6
- 帖子: 156
- 在线: 72.7小时
- 虫号: 3502326
- 注册: 2014-10-27
- 性别: GG
- 专业: 信号理论与信号处理
4楼2015-10-23 23:48:44
dk1013
木虫 (正式写手)
- 应助: 61 (初中生)
- 金币: 4285.5
- 散金: 246
- 红花: 13
- 帖子: 988
- 在线: 3204.6小时
- 虫号: 980198
- 注册: 2010-03-23
- 性别: GG
- 专业: 凝聚态物性 II :电子结构

5楼2015-10-24 09:28:21
wake_up
木虫 (著名写手)
- 应助: 124 (高中生)
- 金币: 4001.5
- 散金: 1654
- 红花: 24
- 帖子: 1113
- 在线: 424.2小时
- 虫号: 670119
- 注册: 2008-12-08
- 性别: GG
- 专业: 医学图像数据处理与分析
【答案】应助回帖
感谢参与,应助指数 +1
|
matlab并行计算太摆设,在单机上parfor确实好用,但是多台机器的话,机器间的通信太恼火了。而且对主调度节点性能要求很高,尤其是内存。我做过7个机器的并行,完全不好用。2014的并行计算设计的不成熟,建议用2015 。楼主如果有条件可以看看是否可以用GPU算。我现在都放matlab的 并行计算了。有兴趣可以一起研究交流。 发自小木虫Android客户端 |

6楼2015-10-24 09:40:32
wake_up
木虫 (著名写手)
- 应助: 124 (高中生)
- 金币: 4001.5
- 散金: 1654
- 红花: 24
- 帖子: 1113
- 在线: 424.2小时
- 虫号: 670119
- 注册: 2008-12-08
- 性别: GG
- 专业: 医学图像数据处理与分析
|
顺便说一句,matlab2015已经不需要用那个麻烦的matlab pool语句了。直接parfor就好。多个机器的情况下,linux系统的版本要一致,而且在host里面要添加其他机台机器的域名。在MPI通信的时候,几个机器才能互相找到。 发自小木虫Android客户端 |

7楼2015-10-24 09:44:50
我是包子
铜虫 (正式写手)
- 应助: 1 (幼儿园)
- 金币: 3216.6
- 散金: 1500
- 红花: 5
- 帖子: 896
- 在线: 150.2小时
- 虫号: 1700477
- 注册: 2012-03-18
- 性别: GG
- 专业: 生物信息学

9楼2015-11-07 09:50:50
我是包子
铜虫 (正式写手)
- 应助: 1 (幼儿园)
- 金币: 3216.6
- 散金: 1500
- 红花: 5
- 帖子: 896
- 在线: 150.2小时
- 虫号: 1700477
- 注册: 2012-03-18
- 性别: GG
- 专业: 生物信息学

10楼2015-11-07 09:51:21












回复此楼