并行计算集群上

6视图(30天)
麦斯”class=
麦斯 2014年7月7日
评论道: 约翰内斯Kalliauer 2020年2月3日
我有一个脚本测试。包含parfor-loops m。
2014年MATLAB在我的个人电脑运行的并行作业。
一个巨大的Linux计算机集群上运行测试。2014完美的如果我有开始MATLAB图形通过X在前端。
然而,当提交测试。m的队列丢弃parallelness和运行一切为核心在for循环——在一个给定的节点上。
我写:
> > submat q q12 test.m
12是队列名称。
任何一个有线索吗?
2的评论
麦斯”class=
麦斯 2014年7月8日
你好,凯文
我发现submat是一个包装器。我不知道。所以使用PBS进行排队。
这就是
submatq q12test.m
的意思
#/ bin / sh
#PBS - q q12
#PBS——mmatlab
#PBS - s /bin/bash - n测试- j oe
version = R2014a
rel =美元(uname - r | tr”——“’。”| awk - f。“{打印3美元}”)
如果(美元{rel: -25}勒18 -美元版本= =“R2014a”];然后
version = R2010b
回声“注:使用Matlab版本R2010b”
回声= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
fi
出口版本/ bin:美元路径= /com/matlab/路径
cd/home/msv/Projects/SAR/W6
回声“= = = = = = =开始在“日期”= = = = = = = "
回声
matlab-nojvm -nodisplay - r”测试退出;
回声
回声“= = = = = = =完成“日期”= = = = = = = "
#

登录置评。

接受的答案

沙Prasanna”class=
沙Prasanna 2014年7月7日
我的猜测是,当你队列,它没有Java启动MATLAB。Java是需要使用PCT。这也解释了为什么它工作好当你X11转发MATLAB。见下文:
MATLAB的客户机会话必须运行Java®虚拟机(JVM™)使用并行计算工具箱软件。”
3评论
约翰内斯Kalliauer”class=
约翰内斯Kalliauer 2020年2月3日
使用 -noFigureWindows -nosplash -nodesktop -nodisplay 而不是 -nojvm

登录置评。

更多的答案(2)

托马斯Ibbotson”class=
托马斯Ibbotson 2014年7月8日
我们需要看到的代码“submat”,但我的猜测是,创建一个独立的工作,而不是一个沟通的工作。如果你想用parfor循环集群上运行脚本时你需要一个沟通“池”的工作。例如你可以提交一个“批处理”是这样的:
myCluster = parcluster (“myClusterProfile”);
工作=批(myCluster,“测试”,“池”,myCluster。NumWorkers - 1);
等待(工作);
fetchOutputs(工作);
池的参数指示批使用给定的创建一个交流“池”工作的工人数量创建池。你需要至少1备用工人作为“客户端”,这就是为什么我从工人总数减去1,集群。

麦斯”class=
麦斯 2014年7月9日
谢谢你所有的答案,他们都很好,给我提供的信息不完整。
事实证明,打开java在作业提交起了作用。所以我删除了
-nojvm
从终端命令。
最好的祝愿

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!