遍历文件的远程服务器
2视图(30天)
显示旧的评论
我用matlab对集群进行模拟,从本地机器工作在哪里提交通过matlab集群。
一个示例提交脚本看起来像这样:
% %处理作业调度器
sched = findResource ();
% %创建一个工作
工作= createJob(固定播送时间,“FileDependencies”,{“Analysis.m”});
% %创建任务
文件列表= dir (“/ dir1 / dir2 /”)
为tidx = 1:长度(文件列表)
任务(tidx) = createTask(工作,@Analysis 1 {tidx});
结束
% %提交工作
提交(工作)
我现在想获得和循环一些文件在集群上运行一个脚本文件,说,Analysis.m
我怎么做这个文件列表在集群上,而不是在本地机器上的工作调度,然后通过每个文件的分析。一次?
0评论
接受的答案
Edric埃利斯
2011年10月10日
也许PARFOR循环集群将是最简单的。是这样的:
函数x = doStuff
%在集群上的文件列表
d = dir (集群的/道路/ / / * .dat”);
%遍历文件——这将传播工作
%的员工
parfor2 = 1:元素个数(d)
x (ii) = someFcn (d (2) . name);
结束
然后,您需要提交的doStuff matlabpool工作到集群,是这样的:
工作= createMatlabpoolJob(固定播送时间,“MaximumNumberOfWorkers”4);
createTask(工作,@doStuff, 1,…);
工作=批(@doStuff 1 {},“Matlabpool”4);