主要内容

运行批处理并行作业

运行批处理作业

若要从MATLAB工作卸载®会话在后台运行另一个会话时,可以使用一个脚本中的命令。

  1. 要创建脚本,输入:

    编辑MYWAVE
  2. 在MATLAB编辑器,创建为了-环形:

    为了I = 1:1024 A(ⅰ)= SIN(I * 2 * PI / 1024);结尾
  3. 保存文件并关闭编辑器。

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

    工作=批('MYWAVE'

  5. 不会阻止MATLAB和计算时发生,您可以继续工作。如果您需要阻止MATLAB直到作业完成时,使用等待在工作对象上的功能。

    等待(作业)
  6. 这项工作完成后,你可以检索和查看其结果。这加载在工人客户工作区,在这里你可以查看结果创建的命令传送变量:

    负载(工作,'一种')图(A)
  7. 当作业完成时,从工作区中永久删除其数据并删除其引用:

    删除(作业)明确工作

运行您在本地工人或工人组代码,但不需要并行池。

您可以使用选择运行脚本或功能。有关详细信息,请参阅参考页面。

使用并行池运行批处理作业

您可以将卸载作业和在并行池中运行循环的功能结合起来。本例将两者结合起来创建一个简单的批处理PARFOR-环形。

  1. 要创建脚本,输入:

    编辑MYWAVE
  2. 在MATLAB编辑器,创建PARFOR-环形:

    PARFORI = 1:1024 A(ⅰ)= SIN(I * 2 * PI / 1024);结尾
  3. 保存文件并关闭编辑器。

  4. 运行与MATLAB中的脚本命令。表明脚本应该使用并行池循环:

    工作=批('MYWAVE''水池',3)

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

  5. 查看结果:

    等待(工作)负载(工作,'一种')图(A)

    结果看上去和以前一样,但是,也有执行,有两种重要的区别:

    • 定义的工作PARFOR-loop和积累的结果通过卸载到另一个MATLAB会话

    • 循环迭代从一个MATLAB工人分发到同时运行的另一组工人('水池'PARFOR),因此该循环可能会遇到比仅有一个工人执行速度更快。

  6. 当作业完成时,从工作区中永久删除其数据并删除其引用:

    删除(作业)明确工作

在当前文件夹浏览器中将脚本作为批处理作业运行

从当前文件夹浏览器,可以浏览到该文件的文件夹,右键单击该文件运行MATLAB脚本作为批处理作业,并选择运行脚本,批处理作业。批处理作业由默认的群集配置文件中标识的集群上运行。下图显示的菜单选项来运行该脚本文件script1.m

运行脚本来自浏览器的批量使用从集群中只有一个工人。所以,即使脚本包含PARFOR环或SPMD.块,它不会打开的工人额外池集群。这些代码块执行对用于批处理作业的一个工人。如果你的批处理脚本需要打开工作者的额外池,则可以在命令行中运行,如在使用并行池运行批处理作业

当您从浏览器中运行一个批处理作业,这也将打开作业监视器。作业监视器是一种工具,让您在调度队列跟踪你的工作。有关作业显示器及其功能的详细信息,请参阅作业监视器

也可以看看

相关的话题