【发布时间】:2016-12-08 23:45:58
【问题描述】:
我在 matlab 中有一个并行循环,如下所示。有没有办法确保循环不是同时运行但有一点延迟?我也愿意使用批处理或 spmd,但对它们的了解有限,并将感谢任何帮助。 我正在调用另一个程序 myprogexe.exe,但该程序需要访问 pc 上的特定端口并且多个请求无法进入。因此我需要确保请求有非常轻微的延迟。 myprogexe.exe 本身就是一个计算量很大的代码(每个输入运行大约需要 10 分钟)
parfor i=1:length(MinorRoots)
runmodels = MinorRoots{i};
cmd = ['$myprogexe -v 2014.2 ', runmodels];
[status, result] = system(cmd);
end
【问题讨论】:
-
如果您不能毫无问题地运行多个
myprogexe实例,为什么还要使用parfor循环? -
问题是在启动myprogexe 运行时,它不能同时启动,但在启动运行时有几分之一秒的差异,它们可以。 myprogexe 的每次完整运行需要 10 分钟或更长时间,因此如果我可以在 1 秒延迟内启动运行,那么到第 11 分钟结束时,我将执行整个过程。
标签: matlab parallel-processing parfor