在并行池上运行代码

什么是并行池?

一个并行池是一套MATLAB®计算集群或桌面上的工作人员。默认情况下,当并行语言特性需要时,并行池会自动启动,例如parfor.您可以在并行首选项中指定默认池大小和集群。当您选择时,首选项面板会显示您的池大小和集群平行的偏好平行菜单。属性中可以更改池大小和集群平行菜单。或者,您可以使用以下方法选择集群和池大小parclusterparpool分别在MATLAB命令行上。查看图片了解更多细节。

并行池中的工作人员可以在作业的生命周期内交互使用并相互通信。你可以查看你的parpool的就业机会监控工作.虽然这些池工作程序是为您的交互使用保留的,但其他用户不能使用它们。在MATLAB客户机会话中,一次只能有一个并行池。在MATLAB中,当前并行池用a表示平行的。池对象。

自动启动和停止并行池

默认情况下,当某些并行语言特性需要时,并行池会自动启动。许多函数可以自动启动并行池,包括:

您的并行首选项指定池在哪个集群上运行,以及池中工作人员的首选数量。访问您的首选项,在首页选项卡,环境部分中,点击平行>平行的偏好

启动和停止池的替代方法

在并行首选项中,可以关闭池自动打开或关闭的选项。如果您选择不自动打开池,您可以使用以下技术控制池。

从MATLAB桌面控制并行池

可以使用MATLAB桌面左下角的并行状态指示灯手动启动并行池。

MATLAB在线时,并行状态指示器默认不可见。您必须首先通过使用parpool或任何自动启动并行池的函数。

单击指标图标,选择开始平行池.池大小和集群由并行首选项和默认集群指定。控件上的复选标记指示了默认集群平行>默认集群菜单。

当池运行时,菜单选项是不同的。您可以:

  • 查看worker的数量和集群名称

  • 更改自动关机的时间

  • 关闭并行池

要停止一个池,你也可以选择关闭并行池

编程接口

启动并行池。可以通过使用默认设置或指定替代方案以编程方式启动和停止并行池。

根据您的首选项设置打开并行池:

parpool

打开一个特定大小的池:

parpool (4)

使用非默认的集群并指定池运行的位置:

parpool (“MyCluster”4)

您可以在不同的并行环境中运行并行池。有关更多信息,请参见在基于线程和基于进程的环境中进行选择

关闭并行池。获取当前并行池并在想关闭池时使用该对象:

p =质量;删除(p)

确保没有并行池正在运行。当您发出命令时gcp如果没有参数,您可能会无意中打开一个池。为了避免这个问题:

删除(gcp (“nocreate”))

池大小和集群选择

有几个地方可以指定池大小。有几个因素可能会限制池的大小。你的并行池的实际大小是由以下组合决定的:

  1. 许可或集群规模

    池中工作人员数量的最大限制受集群中工作人员数量的限制。这个极限可能是由数量决定的MATLAB并行服务器™许可证可用。在MATLAB Job Scheduler的情况下,这个限制可能是由集群中运行的工作程序的数量决定的。运行在客户端机器上的本地集群不需要获得并行计算工具箱™的许可。工作人员数量的限制足够高,足以支持已知的桌面硬件范围。金宝app

  2. 群集概要工作人员数目(NumWorkers

    集群对象可以设置worker数量的硬限制,这是您在集群概要文件中指定的。即使您在命令行或首选项中请求更多的worker,也不能超过适用配置文件中设置的限制。试图超过这个数字将产生错误。

  3. 命令行参数

    如果在命令行中指定池大小,则会覆盖首选项的设置。该值必须在适用的集群概要文件的限制范围内。

  4. 平行的偏好

    如果您没有在命令行中指定池的大小,MATLAB将尝试使用您的并行首选项确定的大小启动池。这个值是a偏好,不是要求或要求特定数量的工人。因此,如果一个池不能以与您的首选项中所调用的相同数量的worker开始,那么您将得到一个较小的池,而不会出现任何错误。可以设置的值优先工人人数到一个较大的数字,这样它就不会限制所创建的池的大小。如果需要工人的确切数量,可以在命令行中指定。

为了选择池运行的集群,优先级由以下内容决定。

  1. 命令行cluster对象参数覆盖默认配置文件设置,并使用配置文件标识的集群“MyProfile”

    c = parcluster (“MyProfile”);p = parpool (c);
  2. 群集是在默认配置文件中指定的。

    p = parpool;

另请参阅

|||||||

相关的例子

更多关于