Composite
从客户端创建并访问多个工作单元上的非分布式变量
说明
Composite 对象包含对运行 spmd 语句的并行工作单元上存储的变量的引用。Composite 对象类似于一个元胞数组,每个工作单元有一个元素,并且可以包含每个工作单元的不同值。您可以使用元胞数组索引检索值,并使用索引或 spmd 代码块为条目定义值。工作单元上的实际数据仍然可用于后续的 spmd 执行,而 Composite 存在于客户端上并且并行池保持打开状态。
创建对象
当 spmd 语句主体返回值时,spmd 语句会在客户端自动创建 Composite 变量。因此,您很少需要直接创建 Composite 对象。
您还可以使用 Composite 函数明确创建 Composite 对象。
描述
使用来自当前并行池的工作单元在客户端上创建一个 c = CompositeComposite 对象。
对象引用的实际工作单元数量取决于池的大小以及任何现有的 Composite 对象。如果并行池未打开,Composite 函数将使用默认配置文件启动并行工作单元池。
要手动创建 Composite 对象,您必须在任何 spmd 语句之外执行此操作。最初,手动创建的 Composite 对象的每个条目不包含任何数据。使用索引或 spmd 代码块定义条目的值。
使用由 c = Composite(pool,___)parallel.Pool 对象 pool 指定的并行池中的工作单元创建一个 Composite 对象。当您要在 gcp 函数返回的池之外的池中创建 Composite 对象时,请使用此语法。 (自 R2025a 起)
输入参量
输出参量
对象函数
| exist | Check whether Composite is defined on workers |
| gather | Transfer distributed array, Composite object, or
gpuArray object to local workspace |
| subsasgn | Subscripted assignment for Composite |
| subsref | Subscripted reference for Composite |
Composite 对象的其他对象函数的行为与这些 MATLAB® 数组函数类似:
示例
提示
Composite函数在现有并行池的工作单元上创建一个Composite对象。如果不存在池,则Composite函数将启动一个新的并行池,除非在并行设置中禁用了自动启动池。如果不存在并行池并且Composite无法启动并行池,则结果是客户端工作区中存在 1×1 的Composite对象。