parpool.

在群集中创建并行池

描述

例子

parpool.使用默认集群配置文件启动并行工作器池。使用默认首选项,MATLAB®每个物理CPU核心的一个工人在本地机器上启动一个池,最多可达工作人员数量。有关并行偏好的更多信息,请参阅指定并行首选项

通常,池大小由您的并行首选项和默认配置文件指定。parpool.在默认群集中创建一个池numworkers.范围内[1, preferredNumWorkers]用于运行并行语言功能。preferressnumworkers.是在并行首选项中定义的值。对于所有可能影响池大小的因素,请参阅池大小和群集选择

parpool.通过在工人池中创建特殊作业,并将MATLAB客户端连接到并行池中,可以在MATLAB中的完整功能。并行语言功能包括议案Parfeval.parfevalOnAllSPMD.,分散式.如果可能,工人上的工作文件夹被设置为与MATLAB客户端会话相匹配。

例子

Parpool(池化创建并返回具有指定数量的工人的池。池化可以是正整数或指定为整数的2元素向量的范围。如果池化是一个范围,结果池的大小在请求的范围内尽可能大。

指定池化覆盖首选项或配置文件中指定的工人数量,并启动一个完整的工人数量的池,即使它必须等待它们可用。大多数集群都有最多可以启动的工人。如果配置文件指定MATLAB作业调度程序群集,parpool.在MATLAB作业调度器下已经运行和可用的工作器中保留它的工作器。如果配置文件指定了本地或第三方调度器,parpool.指示调度程序启动池的工人。

例子

Parpool(资源Parpool(资源池化在指定的资源上启动工人池资源

例子

Parpool(___名称,价值在启动池时应用某些属性的指定值。

例子

博彩= parpool(___返回A.平行的。池对象到表示群集中池的客户端工作区。您可以使用池对象以编程方式删除池或访问其属性。用删除(池)关闭并行池。

例子

全部收缩

使用默认配置文件启动并行池来定义工人的数量。使用默认首选项,默认池位于本地计算机上。

parpool.

您可以在本地计算机上的不同类型的并行环境中创建池。

  • 开始一个平行的流程工人池。

    Parpool('当地的'
  • 开始一个平行的线程工人池。

    Parpool('线程'

有关并行环境的更多信息,请参阅在基于线程和基于进程的环境之间进行选择

使用调用的配置文件启动16名工人的平行池myprof.

Parpool('myprof'16)

创建一个表示由默认配置文件标识的集群的对象,并使用该集群对象启动并行池。池大小由默认配置文件决定。

C = Parcluster Parpool(c)

使用默认配置文件启动并行池,并将两个代码文件传递给工人。

Parpool('附加的文件', {'mod1.m''mod2.m'})

使用默认配置文件创建并行池,然后删除该池。

poolobj = parpool;删除(poolobj)

查找当前并行池中的工人数量。

poolobj = gcp('noicreate');%如果没有池,请不要创建新的池。如果isempty(poolobj)poolsize = 0;别的poolsize = poolobj.numworkers.结尾

输入参数

全部收缩

并行池的大小指定为正整数或指定为整数的2元素向量的范围。如果池化是一个范围,结果池的大小在请求的范围内尽可能大。在并行首选项或并行配置文件中设置默认首选工人数量。

例子:parpool(“当地”,2)

数据类型:|双倍的|int8|int16|INT32.|INT64.|uint8.|uint16|uint32|uint64

资源上启动池,指定为'当地的''线程',群集配置文件名称或群集对象。

例子:Parpool('local')

例子:parpool(“线程”)

例子:Parpool('myclusterprofile',16)

例子:c = parcluster;Parpool(c)

数据类型:char|细绳|并行.CLUSTER.

名称-值对的观点

指定可选的逗号分离对名称,价值论点。的名字是参数名称和价值是对应的值。的名字必须出现在引号内。您可以按如下顺序指定几个名称和值对参数name1,value1,...,namen,valuen

例子:AttachedFiles, {' myFun.m '}

要附加到池的文件,指定为字符向量、字符串或字符串数组,或字符向量的单元格数组。

有了这一对论证,parpool.启动一个并行池,并将标识的文件传递给池中的工作者。此处指定的文件被附加到AttachedFiles适用的并行配置文件中指定的属性,以形成附加文件的完整列表。这'附加的文件'属性名称区分大小写,并且必须如所示显示。

例子:{'myfun.m','myfun2.m'}

数据类型:char|细胞

逻辑值(真正的错误的)控制客户端路径上的用户添加条目是否在启动时的每个工作人员的路径中添加。默认 'autoaddclientpath.' 设定为真正的

数据类型:逻辑

要从客户端会话复制到工作者的环境变量的名称,指定为字符向量、字符串或字符串数组或字符向量的单元数组。此处指定的名称被附加到'环境变量'属性,以形成环境变量的完整列表。列出的任何未设置的变量都不会复制到工作器中。这些环境变量在并行池的持续时间内设置在工作器上。

数据类型:char|细胞

指示池是否已启用以支持SPMD,指定为逻辑。金宝app您只能在本地或MATLAB作业计金宝app划程序集群上禁用支持。因为议案迭代不涉及互操作者通信,以这种方式禁用SPMD支持允许并行池保持评估A金宝app议案-loop,即使一个或多个工作器在循环执行期间中止。

数据类型:逻辑

在几分钟内池在空闲时关闭,指定为大于零的整数。如果它不是在工人上运行代码,则池是空闲的。默认'空闲超时'与并行偏好中的值相同。有关并行偏好的更多信息,请参阅指定并行首选项

例子:池= Parpool('idlemout',120)

输出参数

全部收缩

从客户机访问并行池,返回为平行的。池对象。

尖端

  • 桌面左下角的池状态指示灯显示客户端与池的会话连接情况和池的状态。单击所支持的池操作菜单的图标。金宝app

    跑步:没有池运行:

  • 如果设置并行首选项以在必要时自动创建并行池,则无需明确调用parpool.命令。您可能会显式创建一个池可以控制励志设置它的开销时间,因此池已准备好用于后续并行语言构造。

  • 删除(poolobj)关闭并行池。没有平行池,SPMD.议案作为客户端中的单个线程运行,除非您的并行首选项被设置为自动启动它们的并行池。

  • 当您使用MATLAB编辑器更新连接到并行池的客户端上的文件时,这些更新会自动传播到池中的工人。(此自动更新不适用于Simulink金宝app®模型文件。要将更新后的模型文件传播到工作者,请使用updateattachedfiles.功能。)

  • 如果可能,工人上的工作文件夹最初将设置为匹配MATLAB客户端会话的匹配。随后,在客户端命令窗口中输入的以下命令也在池中的所有工人上执行:

    此行为允许您设置所有工人的工作文件夹和命令搜索路径,以便后续池活动如议案- 在适当的上下文中执行。

    更改文件夹或添加路径时光盘addpath.关于带窗户的客户®操作系统,发送给工人的值是如果可能的话,文件夹的UNC路径。适用于Linux的客户®操作系统,它是绝对文件夹位置。

    如果这些命令中的任何一个不适用于客户端,则它也不会在工人身上执行。例如,如果addpath.指定客户端不能访问的文件夹addpath.命令未在工人身上执行。但是,如果可以在客户端上设置工作文件夹,但无法设置在任何工人上的规定,则不会收到返回到客户端命令窗口的错误消息。

    小心在混合平台环境中的行为中的这种轻微差异,其中客户端与工人不同的平台,其中来自客户端的本地或映射的文件夹不可以与工人相同的方式,或者文件夹在一个非正式的文件系统中。例如,如果您在Microsoft上运行Matlab客户端®Windows操作系统而MATLAB的工作人员都在Linux操作系统上运行,道理相同addpath.两者都不行。在这种情况下,可以使用函数PCTRunonall.确保命令在所有工人身上运行。

    客户和工人之间的另一个区别是任何addpath.是部分的论据matlabroot文件夹未设置在工人上。假设是MATLAB安装基础已包含在工人路径中。规则addpath.关于池子里的工人有:

    • 摘要的子文件夹matlabroot文件夹不发送给工人。

    • 控件第一个出现之前的任何文件夹matlabroot文件夹被添加到工人路径的顶部。

    • 任何出现在第一次出现之后的文件夹matlabroot文件夹后添加matlabroot一组文件夹在工人的路径上。

    例如,假设matlabroot在客户上是C: \应用matlab \ \.使用“打开并行池”,执行以下内容以在客户端和所有工人上设置路径:

    addpath('p1''p2''c:\ applications \ matlab \ t3''C:\ Applications \ Matlab \ T4'“P5”'c:\ applications \ matlab \ t6'“P7”“P8”);

    因为T3T4,T6的子文件夹matlabroot他们没有走上工人的道路。所以在workers上,由这个命令产生的路径的相关部分是:

    P1 P2  p5 p7 p8
  • 如果您正在使用麦金塔电脑或Linux,并查看创建大型并行池时出现的问题,请参见推荐的系统限制为Macintosh和Linux

介绍了R2013b