文档

parpool

在集群上创建并行池

语法

parpool
parpool (poolsize)
parpool (profilename)
parpool (profilename poolsize)
parpool(集群)
poolsize parpool(集群)
parpool (___、名称、值)
poolobj = parpool (___)

描述

例子

parpool开始一个平行的工人使用默认集群配置文件,与你指定的池大小平行偏好和默认概要文件。parpool创建一个默认集群上的池NumWorkers范围内[1,preferredNumWorkers]为运行并行语言特性。preferredNumWorkers是平行的首选项中定义的值。

parpool使并行的全部功能在MATLAB语言特性®通过创建一个特殊工作的工人,和MATLAB客户机连接到平行池。并行语言的特性包括parfor,parfeval,parfevalOnAll,spmd,分布式。如果可能的话,工人的工作目录设置为匹配的MATLAB客户机会话。

例子

parpool (poolsize)创建并返回一个池的指定数量的工人。poolsize可以是一个正整数或范围指定为一个整数2-element向量。如果poolsize是一个范围,由此产生的池大小尽可能大的范围要求。

指定poolsize覆盖的工人数量偏好或配置文件中指定,并开始一个完全池,工人数量,即使它不得不等待他们是可用的。大多数集群有最大数量的工人他们可以开始。如果这个概要文件指定一个MATLAB作业调度器(mj)集群,parpool储备员工从那些已经运行和可用的乔丹。如果这个概要文件指定一个本地或第三方调度器parpool指示调度器的工人开始池。

例子

parpool (profilename)parpool (profilename,poolsize)开始一个工人池使用集群配置文件了profilename

例子

parpool (集群)parpool (集群,poolsize)开始一个工人在集群指定集群对象池集群

例子

parpool (___,名称,值)适用于某些属性的指定值时启动池。

例子

poolobj= parpool (___)返回一个parallel.Pool对象到客户机工作区代表池在集群上。您可以通过编程方式使用对象池删除池或访问其属性。使用删除(池)关闭平行池。

例子

全部折叠

开始一个平行池使用默认配置文件定义的工人数量。

parpool

开始一个并行的16个工人用一个概要文件myProf

parpool (“myProf”,16)

开始平行池2工人使用本地配置文件。

parpool (“本地”,2)

创建一个对象代表集群被缺省概要,并使用集群对象开始一个平行的池。池的大小是由默认的配置文件。

c = parcluster parpool (c)

与缺省概要开始平行池,将两个代码文件传递给工人。

parpool (“AttachedFiles”,{“mod1.m”,“mod2.m”})

与默认概要文件创建一个平行的池,池后删除。

poolobj = parpool;删除(poolobj)

发现工人的数量在当前并行池。

poolobj = gcp (“nocreate”);%如果没有游泳池,不创建新的。如果isempty (poolobj) poolsize = 0;其他的poolsize = poolobj.NumWorkers结束

输入参数

全部折叠

平行的池的大小,指定为一个正整数或范围指定为一个整数2-element向量。如果poolsize是一个范围,由此产生的池大小尽可能大的范围要求。设置默认首选的工人数量在平行的喜好或平行的概要文件。

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

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

配置文件,它定义了集群和属性,指定为一个特征向量。

例子:parpool (myClusterProfile, 16)

数据类型:字符

集群开始池,指定为一个集群对象。使用parcluster集群对象。

例子:c = parcluster;parpool (c)

名称-值对的观点

指定可选的逗号分隔条名称,值参数。的名字参数名称和吗价值相应的价值。的名字必须出现在单引号(' ')。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家

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

全部折叠

文件附加到池中,指定为一个特征向量,字符串或字符串数组,数组或单元的特征向量。

与这个观点,parpool开始一个平行的池,并将确认文件,工人们在游泳池里。以下是附加到指定的文件AttachedFiles财产适用的并行配置文件中指定的附加文件的完整列表。的“AttachedFiles”属性名是大小写敏感的,必须出现如图所示。

例子:{“myFun.m”、“myFun2.m”}

数据类型:字符|细胞

一个逻辑值(真正的),控制客户端的路径上的user-added-entries是否添加到每个工人在启动时的路径。默认的AutoAddClientPath”设置为真正的

数据类型:逻辑

环境变量的名字将从客户机会话复制到工人,指定为一个特征向量,字符串或字符串数组,数组或单元的特征向量。以下是附加到指定的名称“EnvironmentVariables”属性中指定适用平行轮廓形成环境变量的完整列表。列出任何变量,不设置不复制到工人。这些环境变量设置平行的持续时间的工人池。

数据类型:字符|细胞

指示如果启用了池支持SPMD,指定为一个逻辑。万博1manbetx你可以禁用只支持在本地集群或乔丹万博1manbetx。因为parfor迭代不涉及交织在一起沟通,禁用SPMD支持这种方式允许并行池继续评估万博1manbetxparfor循环,即使一个或更多的工人在循环执行中止。

数据类型:逻辑

输出参数

全部折叠

从客户端访问并行池,作为一个返回parallel.Pool对象。

提示

请注意

删除任何startup.m从你的MATLAB路径如果你想运行任何包括并行代码parpool。平行池开始如果你有麻烦,看到这个MATLAB答案页面:http://uk.mathworks.com/matlabcentral/answers/92124-why-am-i-unable-to-use-parpool-with-the-local-scheduler-or-validate-my-local-configuration-of-parall

  • 池状态指示器左下角的桌面显示客户端会话连接池,池状态。单击图标的菜单支持池操作。万博1manbetx

    池运行:没有池运行:

  • 如果你设置你的平行的喜好自动创建一个平行池在必要的时候,您不需要显式地调用parpool命令。你可能显式地创建一个池来控制产生的开销时间设置,所以池准备后续并行语言结构。

  • 删除(poolobj)关闭平行池。没有一个平行的游泳池,spmdparfor作为一个线程运行在客户端,除非你平行的首选项设置为自动启动一个平行池。

  • 当你使用MATLAB编辑器更新文件在客户端连接到一个平行池,这些更新自动传播到工人池中。(自动更新并不适用于仿真软件万博1manbetx®模型文件。传播更新模型文件的工人使用updateAttachedFiles函数)。

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

    这种行为可以设置工作目录和搜索路径的命令在所有的工人,以便后续池等活动parfor循环在正确的上下文中执行。

    当改变文件夹或添加一个路径cd目录与Windows客户端®操作系统,发送到工人的UNC路径的文件夹,如果可能的话。为客户在Linux®操作系统,这是绝对的文件夹位置。

    如果这些命令不工作在客户端,它也不是工人上执行。例如,如果目录客户端不能访问指定一个文件夹,目录上执行的命令不是工人。然而,如果可以在客户端设置工作目录,但不能设置为指定的工人,你不会得到一个错误消息返回给客户端命令窗口。

    小心的细微差别的行为在混合环境中,客户机并不相同的平台工人,当地文件夹或从客户端映射并不以同样的方式提供给工人,或文件夹在非共享的文件系统。例如,如果你有一个MATLAB客户机运行在微软®Windows操作系统,而MATLAB的工人都是在Linux操作系统上运行,相同的参数目录不能在两个工作。在这种情况下,您可以使用函数pctRunOnAll确保命令运行在所有的工人。

    另一个区别是,任何客户机和工人目录参数的一部分matlabroot文件夹没有设置工人。假设是MATLAB安装基础已经包含在工人的路径。的规则目录关于工人池中有:

    • 的子文件夹matlabroot文件夹不发送到工人。

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

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

    例如,假设matlabroot在客户端是C: \应用matlab \ \。以开放的平行池,在客户机上执行下列设置路径和所有员工:

    目录“P1”,“P2”,“C: \ matlab应用程序\ \ T3”,“C: \ matlab应用程序\ \ T4”,“P5”,“C: \ matlab应用程序\ \ T6”,“P7”,“P8”);

    因为T3,T4,T6的子文件夹matlabroot,他们不是工人的路径。工人,这个命令的路径产生的相关的部分是:

    P1, P2 <工人原始matlabroot文件夹…> P5 P7 P8

介绍了R2013b

这个主题有帮助吗?