您可以使用您的卸载计算来运行在后台批量
。如果你的代码需要访问的文件,您可以使用其他选项,如“AttachedFiles”
或“AdditionalPaths”
,以使数据可访问。在进行计算时,可以关闭或继续在MATLAB中工作,稍后恢复结果。
准备的例子
使用以下命令准备并复制本示例的支持文件。金宝app
运行批处理作业
使用创建集群对象parcluster
。默认情况下,parcluster
使用默认的集群配置文件。检查MATLAB中的默认集群配置文件首页选项卡,环境部分中,平行>选择默认集群。
将代码放在函数中,并将其作为批处理作业提交批量
。有关自定义函数的示例,请参阅支持函数金宝appmyFunction
。指定的输出参数的预期数量,并与输入的功能的单元阵列。
如果代码使用并行池,则使用“池”
名称 - 值对参数创建您指定工人的数量并行池。批量
使用额外的辅助程序来运行函数本身。
默认情况下,批量
将工作程序的初始工作目录更改为MATLAB客户机的当前文件夹。控制workers中的初始工作目录可能很有用。例如,如果集群使用不同的文件系统,因此路径不同(例如从Windows客户机向Linux集群提交时),您可能希望控制它。
此示例使用有三个工人平行池,并选择一个临时位置的初始工作目录。
批量
将函数中的计算工作卸载给并行工作程序,这样在进行计算时可以继续在MATLAB中工作。
如果您想要阻止MATLAB直到任务完成,请使用等待
在工作对象上的功能。
要检索的结果,使用fetchOutputs
在作业对象上。
如果你的代码中有一个错误,那么fetchOutputs
抛出一个错误。您可以通过检查访问错误信息错误
的属性任务
对象在工作。在这个例子中,该代码取决于工人无法找到的文件。
mydata2.dat 'ANS =“使用无法读取文件myFunction的(第4行)错误'。无此文件或目录。'
从工作人员处访问文件
默认情况下,批量
自动分析代码并将所需的文件传输给工作人员。在某些情况下,必须显式地传输这些文件——例如,在运行时确定文件名称时。
在这个例子中,myFunction
访问支持文件金宝appMYDATA.DAT
,这批量
自动检测和传输。该功能还访问mydata1.dat
,但是它在运行时解析文件的名称,因此自动依赖项分析不会检测到它。
函数X = myFunction的()A =负载( “MYDATA.DAT”);X =零(倒装(尺寸(A)));PARFOR I = 1:3 B =负载( “MYDATA” + I + “DAT”);X = X + A \ B;年底结束
如果数据是在一个位置,工人可以访问,则可以使用名称 - 值对参数“AdditionalPaths”
到指定的位置。“AdditionalPaths
将这条路径添加到工作人员的MATLAB搜索路径中,让他们可以看到这些数据。
如果数据是在工人们不能访问的位置,您可以通过使用文件传输给工人“AttachedFiles”
名称-值对的论点。
找到现有的工作
您可以在作业提交后关闭MATLAB,稍后检索结果。在关闭MATLAB之前,请记下作业ID。
当你再次打开MATLAB,你可以通过使用找工作
函数。
或者,您可以使用作业监视器来跟踪作业。你可以从MATLAB中打开它首页选项卡,环境部分中,平行>监控工作。
检索结果并清理数据
要检索批处理作业的结果,请使用fetchOutputs
函数。fetchOutputs
返回与功能运行的与所述输出单元阵列批量
。
当您检索了所有必需的输出并且不再需要job对象时,删除它以清理其数据并避免不必要地消耗资源。