若要从MATLAB工作卸载®会话要在后台运行另一个会话,可以使用批量
一个脚本中的命令。
要创建脚本,输入:
编辑MYWAVE
在MATLAB编辑器,创建对于
-循环:
对于I = 1:1024 A(ⅰ)= SIN(I * 2 * PI / 1024);结束
保存文件并关闭编辑器。
使用批量
在MATLAB命令窗口命令在一个单独的MATLAB工人运行脚本:
工作=批('MYWAVE')
批量
不会阻止MATLAB和计算时发生,您可以继续工作。如果您需要阻止MATLAB直到作业完成时,使用等待
在工作对象上的功能。
等待(作业)
这项工作完成后,你可以检索和查看其结果。该加载
在工人客户工作区,在这里你可以查看结果创建的命令传送变量:
负载(工作,'一个')图(A)
当作业完成时,永久删除它的数据并从工作区中删除它的引用:
删除(作业)明确工作
批量
运行您在本地工人或工人组代码,但不需要并行池。
您可以使用批量
选择运行脚本或功能。有关详细信息,请参阅批量
参考页面。
您可以组合这些功能来卸载作业并在并行池中运行循环。此示例将二者结合创建一个简单的批处理PARFOR
-循环。
要创建一个脚本,输入:
编辑MYWAVE
在MATLAB编辑器,创建PARFOR
-循环:
PARFORI = 1:1024 A(ⅰ)= SIN(I * 2 * PI / 1024);结束
保存文件并关闭编辑器。
运行与MATLAB中的脚本批量
命令。表明脚本应该使用并行池循环:
工作=批('MYWAVE',“池”,3)
此命令指定三名工人(除了运行批处理脚本中的一个)是评价循环迭代。因此,本例中总共使用了四个本地工人,包括运行批处理脚本的一个工人。总共有涉及,如如下图所示,在五个MATLAB会话。
查看结果:
等待(工作)负载(工作,'一个')图(A)
结果看上去和以前一样,但是,也有执行,有两种重要的区别:
定义的工作PARFOR
-loop和积累的结果通过卸载到另一个MATLAB会话批量
。
循环迭代从一个MATLAB工人分发到同时运行的另一组工人(“池”
和PARFOR
),因此该循环可能会遇到比仅有一个工人执行速度更快。
当作业完成时,永久删除它的数据并从工作区中删除它的引用:
删除(作业)明确工作
从当前文件夹浏览器,可以浏览到该文件的文件夹,右键单击该文件运行MATLAB脚本作为批处理作业,并选择运行脚本,批处理作业。批处理作业由默认的群集配置文件中标识的集群上运行。下图显示的菜单选项来运行该脚本文件script1.m
:
运行脚本来自浏览器的批量使用从集群中只有一个工人。所以,即使脚本包含PARFOR
环或SPMD
块,它不会打开的工人额外池集群。这些代码块执行对用于批处理作业的一个工人。如果你的批处理脚本需要打开工作者的额外池,则可以在命令行中运行,如在使用并行池运行批处理作业。
当您从浏览器中运行一个批处理作业,这也将打开作业监视器。作业监视器是一种工具,让您在调度队列跟踪你的工作。有关作业显示器及其功能的详细信息,请参阅作业监视器。