ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

parfevalOnAll

並列プールのすべてのワーカーで関数を非同期実行

構文

F = parfevalOnAll(p,fcn,numout,in1,in2,...)
F = parfevalOnAll(fcn,numout,in1,in2,...)

説明

F = parfevalOnAll(p,fcn,numout,in1,in2,...) は、関数 fcn を並列プール p のすべてのワーカー上で非同期実行するように要求します。parfevalOnAll は各ワーカーの fcn を入力引数 in1in2、....、について評価し、numout 出力引数が必要です。Fparallel.FevalOnAllFuture オブジェクトであり、すべてのワーカーで fcn の実行が完了すると、このオブジェクトから結果を取得できます。

F = parfevalOnAll(fcn,numout,in1,in2,...) は現在の並列プールにあるすべてのワーカーでの非同期実行を要求します。プールが存在しない場合は新しい並列プールが起動されます。ただし、並列設定でプールの自動作成が無効になっている場合を除きます。

メモ:

clearを使用する場合は、parforspmd ではなくparfevalOnAllを使用してください。これにより、ワークスペースの透過性が維持されます。parfor ループまたは spmd ステートメント内での透過性の確保を参照してください。

シミュレーションの分散用の一時フォルダーを削除する前に、関数 clear を使用して mex ファイルをアンロードします。clear には 0 出力引数があるため、parfevalOnAll の入力引数 numout0 を指定します。

parfevalOnAll(@clear,0,'mex');

すべてのワーカーですべての Simulink モデルを閉じます。

p = gcp(); % Get the current parallel pool
f = parfevalOnAll(p,@bdclose,0,'all');
% No output arguments, but you might want to wait for completion
wait(f);

R2013b で導入