运行批处理并行作业

运行批处理作业

若要从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块,它不会打开的工人额外池集群。这些代码块执行对用于批处理作业的一个工人。如果你的批处理脚本需要打开工作者的额外池,则可以在命令行中运行,如在使用并行池运行批处理作业

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

也可以看看

相关的话题