在并行池上运行代码
什么是平行池?
一个并行池是MATLAB的一套®计算集群或桌面的工作人员。默认情况下,并行语言特性(如parfor
.您可以在并行首选项中指定默认池大小和集群。选择时,首选项面板将显示池大小和集群平行的偏好在平行菜单。中更改池大小和群集平行菜单。或者,您可以使用来选择集群和池大小parcluster
而且parpool
分别在MATLAB命令行上。查看图片了解更多细节。
并行池中的工作者可以交互地使用,并在作业的生命周期内相互通信。您可以查看您的parpool
美国的就业监控工作.虽然这些池工作线程是为您的交互使用而保留的,但对其他用户不可用。在MATLAB客户端会话中,一次只能有一个并行池。在MATLAB中,当前的并行池用a表示平行的。池
对象。
自动启动和停止并行池
默认情况下,当某些并行语言特性需要时,并行池会自动启动。有很多功能可以自动启动并行池,包括:
并行首选项指定池在哪个集群上运行,以及池中首选的工作人员数量。要访问您的首选项,请在首页选项卡,在环境部分中,点击平行>平行的偏好.
启动和停止池的可选方法
在并行首选项中,可以关闭池自动打开或关闭的选项。如果选择不自动打开池,可以使用以下技术控制池。
从MATLAB桌面控制并行池
您可以使用MATLAB桌面左下角的并行状态指示灯手动启动并行池。
在MATLAB在线时,并行状态指示灯默认不可见。必须首先通过使用启动并行池parpool
或任何自动启动并行池的函数。
单击指标图标,选择开始平行池.池大小和集群由并行首选项和默认集群指定。属性上的复选标记表示默认集群平行>默认集群菜单。
当池正在运行时,菜单选项是不同的。您可以:
查看工人数量和集群名称
改变时间直到自动关机
关闭并行池
如果需要停止存储池,还可以选择关闭平行池.
编程接口
启动并行池。您可以通过使用默认设置或指定替代方案以编程方式启动和停止并行池。
根据您的首选项设置打开并行池。
parpool
打开一个特定大小的池:
parpool (4)
使用一个非默认的集群并指定池运行的位置:
parpool (“MyCluster”4)
您可以在不同的并行环境中运行并行池。有关更多信息,请参见选择基于线程的环境和基于进程的环境.
关闭一个并行池。获取当前并行池,并在关闭池时使用该对象:
P = gcp;删除(p)
确保没有并行池正在运行。当您发出命令时gcp
如果没有参数,您可能会无意中打开一个池。为了避免这个问题:
删除(gcp (“nocreate”))
池大小和群集选择
有几个地方可以指定池的大小。有几个因素可能会限制泳池的大小。平行池的实际大小由以下因素决定:
许可或集群大小
池中工作人员数量的最大限制受集群中工作人员数量的限制。的数量可以决定这个限制MATLAB并行服务器许可证可用。在MATLAB作业调度器的情况下,限制可能由集群中运行的工人数量决定。在客户端机器上运行的本地集群不需要并行计算工具箱™以外的许可。工作人员数量的限制足够高,以支持已知桌面硬件的范围。金宝app
集群概要文件数量(
NumWorkers
)集群对象可以对工作人员的数量设置硬性限制,您可以在集群概要文件中指定该限制。即使您在命令行或首选项中请求更多的worker,也不能超过适用概要文件中设置的限制。试图超过这个数字将产生一个错误。
命令行参数
如果在命令行中指定池大小,则会覆盖首选项的设置。该值必须在适用的集群概要文件的限制范围内。
平行的偏好
如果没有在命令行指定池大小,MATLAB将尝试启动由并行首选项确定的池大小。这个值是a偏好,而不是对特定数量的工人的要求或要求。因此,如果一个池不能像您的首选项中要求的那样启动,那么您将得到一个较小的池,而不会出现任何错误。的值首选工人人数为一个大的数字,这样它就不会限制所创建的池的大小。如果您需要精确的工人数量,请在命令行中指定这个数字。
对于池运行所在集群的选择,优先级由以下决定。
命令行集群对象参数覆盖默认配置文件设置,并使用配置文件标识的集群
“MyProfile”
.C = parcluster(“MyProfile”);P = parpool(c);
集群在默认配置文件中指定。
P = parpool;
另请参阅
删除
|gcp
|parcluster
|parfor
|spmd
|分布式
|parfeval
|parpool