Main Content

parfor の処理

統計関数による parfor の使用方法

parfor は、for ループに類似した Parallel Computing Toolbox™ 関数です。並列統計関数は、内部的に parfor を呼び出します。parfor は、ワーカー プロセッサに計算を分配します。

Diagram of the workflow when using parfor. When using a parfor loop indexed from 1 to n, the software distributes the lines of code to 1 through n workers. The results are then returned to the client.

parfor の特徴

並列実行用にコード調整が必要になるかもしれません。たとえば、ループは独立している必要があり、ワーカーは変数にアクセスできなければなりません。parfor の使用に関するアドバイスについては、並列 for ループ (parfor) (Parallel Computing Toolbox)を参照してください。

入れ子形式の parfor ループの使用禁止

parfor は他の parfor ループ内、または spmd ブロックから呼び出されると、並列で処理されません。並列化は、一番外側のレベルで発生します。

たとえば、parfor を呼び出す関数 userfcnjackknife を適用し、ループ内で jackknife を呼び出す場合を考えてみましょう。次の図は 3 つの例を示しています。

  1. 最も外側のループは parfor です。そのループのみを並列に実行します。

  2. 最も外側の parfor のループは jackknife 内にあります。jackknife のみを並列に実行します。

  3. 最も外側の parfor ループは userfcn 内にあります。userfcn は並列に parfor を使用することができます。

parfor を並列で実行した場合

Illustration of the three cases of using parfor

入れ子にされたループを変換して parfor を使用する方法については、for ループから parfor ループへの変換 (Parallel Computing Toolbox)を参照してください。

Statistics and Machine Learning Toolbox™ を使用した並列計算の基本操作も参照してください。