如何在多个节点上运行一个matlab脚本在hpc ?

10视图(30天)
你好,
我有一个m文件,首先连接到一个数据库,获取一些数据,然后通过parfor处理这些数据。这就像:
javaaddpath (“ojdbc6.jar”);
javaaddpath (“orai18n.jar”);
javaaddpath (“ojdl.jar”);
康涅狄格州=数据库(“数据库”,“用户”,“PASSW”,“oracle.jdbc.driver.OracleDriver”,“主机”);结束
parfor i =编制
……
我可以运行代码通过parpool和杠杆20工人hpc在提交我的工作为:
qsub-lnodes = 1: ppn = 20walltime = 01:00:00 pmem big_data.sh = 2 gb
我的问题是运行这个脚本使用多个节点。如果我尝试
qsub-lnodes = 4: ppn = 20walltime = 01:00:00 pmem big_data.sh = 2 gb
再一次集群与20工人只使用1个节点。运行这个沟通的工作工作我写脚本(mdcs40.m)如下:
myCluster = parcluster;
j = createCommunicatingJob (myCluster,“类型”,“池”);
createTask (j @big_data2 1, {});
j。AttachedFiles = {“big_data2.m”}
j。NumWorkersRange = 40 [40];
提交(j);
等待(j)
= fetchOutputs (j)
删除(j);
退出;
当我提交这份工作
matlab-nosplash -nodisplay < mdcs40。m > parforJob.out
我得到了这样一个错误:
错误使用并行。工作/提交(第304行)
要求至少40个工人,但集群“当地”
NumWorkers属性设置为允许最多20个工人。运行一个
沟通工作比这更多的工人(最多512
当地的集群),增加集群的NumWorkers财产的价值。
默认值的NumWorkers本地集群的核心
本地机器上。
那么我怎么管理呢?
提前谢谢。
1评论
Syed Ahsan
Syed Ahsan 2017年10月31日
你好,穆罕默德,你能解决这个问题吗?我面临着类似的问题。

登录置评。

s manbetx 845

社区寻宝

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

开始狩猎!