在集群上创建并行池
parpool
使用默认的集群配置文件启动并行工作器池。使用默认首选项,MATLAB®在本地机器上启动一个池,每个物理CPU核心有一个worker,最多为首选的worker数量。有关并行首选项的更多信息,请参见指定并行首选项.
通常,池大小是由并行首选项和默认配置文件指定的。parpool
在默认集群上创建一个池NumWorkers
范围内[1, preferredNumWorkers]
用于运行并行语言特性。preferredNumWorkers
是在并行首选项中定义的值。有关影响池大小的所有因素,请参见池大小和集群选择.
parpool
通过在工作者池上创建一个特殊的作业,并将MATLAB客户端连接到并行池,从而实现MATLAB中并行语言特性的全部功能。并行语言特性包括parfor
,parfeval
,parfevalOnAll
,spmd
,分布式
.如果可能的话,将工人上的工作文件夹设置为与MATLAB客户端会话相匹配。
parpool (
创建并返回具有指定数量工作人员的池。poolsize
)poolsize
可以是正整数或指定为2元素整数向量的范围。如果poolsize
是范围,则结果池的大小在所请求的范围内尽可能大。
指定poolsize
覆盖首选项或概要文件中指定的worker数量,并启动一个恰好具有该数量的worker的池,即使它必须等待它们可用。大多数集群都有可以启动的worker的最大数量。如果配置文件指定了一个MATLAB Job Scheduler集群,parpool
保留它的工人从那些已经运行和可用的MATLAB作业调度器。如果配置文件指定了本地或第三方调度程序,parpool
指示调度程序启动池的工作程序。
桌面左下角的池状态指示灯显示客户端到池的会话连接和池的状态。单击支持池操作的菜单图标。金宝app
在游泳池里跑步:没有游泳池运行:
如果将并行首选项设置为在必要时自动创建并行池,则不需要显式调用parpool
命令。您可以显式地创建一个池来进行控制,当您引起设置它的开销时,这样池就可以用于后续的并行语言构造。
删除(poolobj)
关闭并行池。如果没有并行池,spmd
和parfor
在客户端中作为单个线程运行,除非您的并行首选项被设置为自动为它们启动并行池。
当您使用MATLAB编辑器更新客户机上附加到并行池的文件时,这些更新将自动传播到池中的工作人员。(这种自动更新不适用于Simulink金宝app®模型文件。要将更新的模型文件传播给工作人员,请使用updateAttachedFiles
函数)。
如果可能,工作人员上的工作文件夹最初被设置为与MATLAB客户端会话相匹配。随后,在客户端命令窗口中输入的以下命令也会在池中的所有工作者上执行:
此行为允许您在所有工作人员上设置工作文件夹和命令搜索路径,以便后续池活动,如parfor
-loops在适当的上下文中执行。
更改文件夹或添加路径时cd
或目录
在Windows客户端®,发送给工人的值是文件夹的UNC路径(如果可能的话)。Linux客户端®操作系统中,它是文件夹的绝对位置。
如果这些命令中的任何一个在客户机上不起作用,那么它也不会在工人上执行。例如,如果目录
指定客户端无法访问的文件夹目录
命令没有在工人上执行。但是,如果可以在客户机上设置工作文件夹,但不能在任何工作程序上设置指定的文件夹,则不会得到返回到客户机命令窗口的错误消息。
小心的细微差别的行为在混合环境中,客户机并不相同的平台工人,当地文件夹或从客户端映射并不以同样的方式提供给工人,或文件夹在非共享的文件系统。例如,如果你有一个运行在Microsoft上的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
在美国,它们没有设置在工人的道路上。所以在worker上,由这个命令产生的路径的相关部分是:
P1 P2
如果你正在使用麦金塔电脑或Linux,并查看大型并行池创建过程中的问题,请参见Macintosh和Linux的推荐系统限制.
复合
|删除
|分布式
|gcp
|parallel.defaultClusterProfile
|parallel.pool.Constant
|parfor
|parfeval
|parfevalOnAll
|pctRunOnAll
|spmd
|parcluster