Composite
クライアントから複数のワーカー上の非分散変数を作成およびアクセス
説明
Composite オブジェクトには、spmd
ステートメントを実行する並列ワーカーに格納された変数への参照が含まれます。Composite
オブジェクトは、各ワーカーにつき 1 つの要素をもつ cell 配列に似ていて、ワーカーごとに異なる値を含むことができます。cell 配列のインデックス付けを使用して値を取得でき、インデックスまたは spmd
ブロックを使用してエントリの値を定義できます。Composite
がクライアントに存在し、並列プールが開いたままになっている間は、ワーカー上の実際のデータは以降の spmd
の実行で引き続き使用可能です。
作成
spmd
ステートメントは、spmd
ステートメントの本体が値を返すと、クライアント上に Composite の変数を自動的に作成します。そのため、Composite
オブジェクトを直接作成する必要はほとんどありません。
Composite
オブジェクトは関数 Composite
を使用して明示的に作成することもできます。
説明
は、現在の並列プールのワーカーを使用してクライアント上に c
= CompositeComposite
オブジェクトを作成します。
オブジェクトが参照する実際のワーカーの数は、プールのサイズおよび既存のすべての Composite
オブジェクトのサイズによって決まります。並列プールが開いていない場合、関数 Composite
は既定のプロファイルを使用してワーカーの並列プールを起動します。
Composite
オブジェクトを手動で作成する場合、spmd
ステートメントの外で行う必要があります。初期状態では、手動で作成した Composite
オブジェクトの各エントリにはデータがありません。エントリの値を定義するには、インデックスまたは spmd
ブロックを使用します。
入力引数
出力引数
オブジェクト関数
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
オブジェクトが作成されます。
拡張機能
バージョン履歴
R2008a で導入