首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将批处理与matlabpool一起使用时出现问题

将批处理与matlabpool一起使用时出现问题
EN

Stack Overflow用户
提问于 2012-01-08 21:13:31
回答 2查看 1.3K关注 0票数 2

我想使用Matlab中的一些并行特性。并执行以下命令。

代码语言:javascript
复制
matlabpool open local 12;
batch(funcname,1,{arg},'PathDependencies',p,'Matlabpool',1);

然后所有的进程在剩下的时间里保持静默...但没有打开matlabpool。它将正常结束。matlabpool和batch的使用有冲突吗?

EN

回答 2

Stack Overflow用户

发布于 2012-01-09 15:14:48

matlabpool命令在本地调度程序上运行一个并行作业,为您提供运行parfor循环和spmd块主体的工作进程。这意味着当matlabpool打开时,可供本地调度程序使用的工作进程数会减少。然后,当您尝试运行batch作业时,它只能在有空闲的工作线程时运行。

您可以使用“并行”桌面菜单项中的“作业监视器”(您的matlabpool会话将在那里显示为具有12个任务的状态running中的作业),或者通过执行以下代码段来了解您的本地调度程序上有多少正在运行的作业:

代码语言:javascript
复制
s = findResource( 'scheduler', 'Type', 'local' );
[pending, queued, running, finished] = findJob(s);
running
票数 1
EN

Stack Overflow用户

发布于 2012-05-29 22:09:17

如果你想同时使用批处理和parfor,用matlabpool打开的worker比其他时候少一个。所以在你的情况下是11。如果您先批处理,然后再批处理matlabpool,它将自动执行此操作,但反之亦然。

查看队列的步骤:

代码语言:javascript
复制
c=parcluster
c.Jobs

有趣的是,如果您打开第二个matlab实例,您可以获得另外12个工作进程。但奇怪的是,第三个不是。不过,我猜如果你真的把它们都用上了,那就有道理了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8777810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档