主要内容

运行批次并行作业

批处理

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

  1. 要创建脚本,请键入:

    编辑Mywave.
  2. 在Matlab编辑器中,创建一个为了-环形:

    为了i = 1:1024a(i)= sin(i * 2 * pi / 1024);结尾
  3. 保存文件并关闭编辑器。

  4. 使用在matlab命令窗口中的命令在单独的matlab工作者上运行脚本:

    作业=批处理('mywave'

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

    等待(工作)
  6. 完成工作后,您可以检索和查看其结果。这加载命令将工作场所创建的变量传输到客户端工作区,您可以在其中查看结果:

    加载(工作,'一种')情节(a)
  7. 作业完成后,永久删除其数据并从工作区中删除其引用:

    删除(工作)清除工作

在本地工作者或群集工作人员上运行您的代码,但不需要并行池。

您可以使用运行脚本或函数。有关更多详细信息,请参阅参考页面。

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

您可以将功能组合卸载作业并在并行池中运行循环。此示例结合了两个创建简单批处理议案-环形。

  1. 要创建脚本,请键入:

    编辑Mywave.
  2. 在Matlab编辑器中,创建一个议案-环形:

    议案i = 1:1024a(i)= sin(i * 2 * pi / 1024);结尾
  3. 保存文件并关闭编辑器。

  4. 在matlab中运行脚本命令。表示脚本应该使用循环的并行池:

    作业=批处理('mywave''水池'3,3)

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

  5. 要查看结果:

    等待(工作)加载(工作,'一种')情节(a)

    结果看起来与以前相同,但执行的两个重要差异:

    • 定义的工作议案- 中间并累积其结果将卸载到另一个Matlab会话

    • 循环迭代从一个MATLAB工人分发到另一组同时运行的工人('水池'议案),因此循环可能比只有一个人执行它来运行得更快。

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

    删除(工作)清除工作

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

从当前文件夹浏览器中,您可以通过浏览到文件的文件夹,右键单击该文件,然后选择“选择”将Matlab脚本作为批处理作业运行运行脚本作为批处理作业。批处理作业在由默认群集配置文件标识的集群上运行。下图显示了运行脚本文件的菜单选项脚本1.M.

从浏览器运行脚本作为批量使用群集中的一个工作人员。因此,即使脚本包含一个议案循环或者SPMD.块,它不会在群集中打开额外的工人池。这些代码块在用于批处理作业的单个工人上执行。如果您的批处理脚本需要打开额外的工人池,则可以从命令行运行它,如下所述使用并行池运行批处理作业

从浏览器运行批处理作业时,这也打开了作业监视器。作业监视器是一种工具,可让您在计划程序队列中跟踪作业。有关作业监视器及其功能的更多信息,请参阅工作监视器

也可以看看

相关话题