parfor
ワーカーで为了
ループの反复并列実行
构文
说明
parfor
は,プール内のででloopvar
=initVal
:结尾Val
;statements
;结尾为了
ループのを并列実行。。
mATLAB®は,loopvar
の値がinitVal
から结尾Val
までのに含まれる,,statements
内の本体コマンドを実行し。。loopvar
1ずつずつする値のベクトルををますます。。。。。。。。。。。。。ますしがが场合は,マルチコアコンピューターまたはクラスタークラスター上上ののstatements
の反復を実行できます。为了
ループと同様、statements
に単一または複数の行を含めることができます。
parfor
がスループットの増加にどう役立つかについては、parforを使用するタイミングの決定を参照しください。
parfor
は,の点でのの为了
ループとは異なります。
ループの非的な顺序でされます。これ,
parfor
を使用にコード変更必要に场合がということですです。详しい详しい,,,为了ループからparforループへの変換を参照しください。ループ反复连続に増加する整数なければなりませ。。
parfor
ループの本体は独立していなければなりません。あるループの反復が前の反復に依存していてはなりません。これは、反復が非確定的な順序で実行されるためです。詳しいヘルプは、parforループ反復が独立していることの確認を参照しください。ある
parfor
ループを他のparfor
ループ内で使用することはできません。詳しいヘルプは、入れ子にされた parfor ループおよび for ループ、およびその他の parfor の要件を参照しください。
parfor(
はloopvar
=initVal
:结尾Val
,,,,m
);statements
;结尾m
を使用て,ループででstatements
の評価に使用する並列プールの最大ワーカー数を指定します。m
は非负整数なければなりませ。。
matlabははは并列内で可能ワーカーを使用します。[ホーム]タブの[環境]セクションで、[並列],[並列基本設定]を选択て数をすることができます。Parpool
を使用して、並列プール内の既定のワーカー数をオーバーライドできます。プールに使用可能なワーカーがない場合やm
0ののの,,はは本体非确定的的で実行実行しししますますが,はは并列実行実行ではありではありません。コードコードをををときときはははははは,,,,,,,
この构文し反复を并列実行には,のの并列プールが必要必要ですですはははparfor
を実行すると、既定のクラスター プロファイルで定義されたクラスターにワーカーの並列プールが自動的に作成されます。既定のクラスターは[当地的]です。[並列基本設定]でクラスター変更ます。详细について,,並列基本設定の指定を参照しください。
parfor(
は,loopvar
=initVal
:结尾Val
,,,,选择
);statements
;结尾选择
を使用て,ループででのstatements
の评価使用リソースを指定し。。parfor
のオプション セットを作成するには、関数parforOptions
を使用します。この方法では、最初に並列プールを作成せずにparfor
をクラスターで実行し,,parfor
により反复ワーカーサブレンジ分割する方法制御できます。
例
入力引数
ヒント
以下の场合に
parfor
ループを使用ます。简単なの反复が多数ある。。
parfor
は,をに分割し,各スレッドでででつのグループの反复を実行実行できるようように。実行に長時間かかるループ反復がいくつかある場合。
ループのがのの结果にする场合は,
parfor
ループを使用しないでください。リダクションはルールの例外。。"リダクション"変数はのに全体依存一方,顺序にには依存しないない値をを累积しますます。。リダクション変数を参照しください。
parfor
を使用する際、結果を取得するにはループが完了するまで待たなければなりません。クライアントの MATLAB がブロックされ、ループを早期に終了することができません。中間結果を取得する場合や、为了
ループを终了するは,代わりに帕菲瓦尔
を试用しください。クラスターオブジェクト指定しない,,
parfor
ループは并列で実行されがない场合,并列基本设定设定でプールのの自动起动がが无效无效无效にparfor
により新しいプール起动れます。プールがなく,parfor
による并列起动できない场合,はセッションで逐次実行れます。并列プールのプロファイルで
AutoAttachFiles
プロパティが真的
に設定されている場合、MATLAB はparfor
ループをしに必要なコードを决定します。listAutoAttachedFiles
を参照しください。次に、MATLAB はそれらのファイルを自動で並列プールに加え、ワーカーでコードを使用できるようにします。スクリプトを
parfor
ループ内呼び出すことできん。,スクリプト呼び出す关数を呼び出す呼び出すことはは。。。parfor
ループ内でclear
を使用でくださいワークスペースの性违反违反します。parforループまたは spmd ステートメント内での透過性の確保を参照しください。parfor
ループを使用する代わりに、Parsim
simulink金宝app®モデルを並列実行できます。Simulink の並列使用の詳細と例については、运行多个模拟(金宝appSimulink)を参照しください。