主要内容

运行批处理并行工作

运行一个批处理作业

从MATLAB分担工作®会话在后台运行在另一个会话,您可以使用批处理命令在脚本。

  1. 创建脚本,类型:

    编辑mywave
  2. 在MATLAB编辑器中,创建一个循环:

    我= 1:1024 (i) =罪(我* 2 *π/ 1024);结束
  3. 保存文件并关闭编辑器。

  4. 使用批处理命令在MATLAB命令窗口运行脚本在一个单独的MATLAB工人:

    工作=批(“mywave”)

  5. 批处理不阻止MATLAB和可以继续工作而计算。如果你需要阻止MATLAB直到工作完成,使用等待工作对象的函数。

    等待(工作)
  6. 在工作完成之后,您可以检索和查看其结果。的负载命令转移变量工人到客户机上创建工作区,在那里您可以查看结果:

    负载(工作,“一个”图(一)
  7. 当工作完成后,永久删除其数据和从工作区中删除其参考:

    删除(工作)清晰工作

批处理当地职工或集群上运行您的代码工人,但不需要平行池。

您可以使用批处理运行脚本或功能。更多细节,请参阅批处理参考页面。

运行一个批处理作业并行池

你可以结合能力将工作和在并行运行一个循环池。这个例子结合了两个创建一个简单的批处理parfor循环。

  1. 创建一个脚本,类型:

    编辑mywave
  2. 在MATLAB编辑器中,创建一个parfor循环:

    parfor我= 1:1024 (i) =罪(我* 2 *π/ 1024);结束
  3. 保存文件并关闭编辑器。

  4. 在MATLAB运行脚本批处理命令。表明,该脚本应该使用并行循环池:

    工作=批(“mywave”,“池”3)

    这个命令指定三个工人(除了一个运行批处理脚本)是评价循环迭代。因此,这个示例使用共有四个当地工人,包括运行批处理脚本的一名工人。总共有五个MATLAB会话,如下列图所示。

  5. 查看结果:

    等待(工作)负载(工作,“一个”图(一)

    结果看起来与以前一样,但是,有两个重要的执行的差异:

    • 定义的工作parfor循环和积累的结果都被另一个MATLAB会话批处理

    • 循环迭代分布从一个MATLAB工人到另一组工人同时运行(“池”parfor),所以循环可能跑得更快比只有一名工人执行它。

  6. 当工作完成后,永久删除其数据和从工作区中删除其参考:

    删除(工作)清晰工作

从当前文件夹运行脚本批处理作业的浏览器

从当前文件夹的浏览器,您可以运行一个MATLAB脚本作为批处理作业通过浏览文件的文件夹,右击文件,选择作为批处理作业运行脚本。批处理作业运行在集群被默认集群配置文件。下面的图显示了菜单选项来运行脚本文件script1.m:

运行一个脚本,一批从浏览器只使用一个工人从集群。所以即使脚本包含一个parfor循环或spmd块,它没有打开一个额外的工人在集群上。这些代码块执行一个工人用于批处理作业。如果你的批处理脚本需要打开一个额外的工人,可以从命令行运行它,所述运行一个批处理作业并行池

当你从浏览器中运行一个批处理作业,这也开启了监测工作。监测工作是一个工具,可以让你跟踪你的作业调度器的队列。关于这份工作的更多信息监控及其功能,明白了监控工作

另请参阅

相关的话题