ドキュメンテーション

このページは前リリースの情報です。該当の英語のページはこのリリースで変更されています。最新情報を確認するには、ページ左下にある国リストで [United States] を選択し、英語ドキュメンテーションに切り替えてください。

並列 for ループ (parfor)

parfor を使用してコードを高速化する

コードをプロファイリングして実行が遅い for ループを特定した場合は、parfor を使用してプログラムの高速化を試みることができます。

関数

parfor ループ反復の並列実行
parpool クラスターでの並列プールの作成

例および操作のヒント

parfor ループの作成

parfor ループを作成する際に最も安全な方法は、反復は並列プール内の異なる MATLAB® ワーカーで実行されているため、情報を反復間で共有していないと仮定することです。

リダクション: 反復ごとに更新される累積値

次の 2 つの例では、リダクション代入を使用した parfor ループを示します。

parfor ループでの乱数の繰り返し

「乱数ストリームの制御」で説明されているように、クラスターの各ワーカーには独立した乱数発生器ストリームがあります。

概念

parfor を使用する場合

parfor ループの基本概念とプログラミング開始方法

for ループと parfor ループの比較

parfor ループは for ループと完全には同じでないため、注意を要するそれぞれに特有の動作があります。

parfor のプログラミング上の考慮事項

parfor ループのプログラミングの要件、制限、バージョン互換性およびその他の考慮事項

parfor ループ内の変数

parfor ループ内の変数として MATLAB で明確に識別できない名前を使用すると、関数を参照しているものと解析時に想定されます。

parfor ループ内での変数の分類

parfor ループ内の名前が変数を参照していると認識される場合、その変数はいくつかのカテゴリのうちの 1 つに分類されます。

parfor の制限

これらの制限の多くは、ループ反復は互いに完全に独立している必要があること、あるいは反復が MATLAB クライアント セッションではなくワーカー セッションで実行されることに起因します。

parfor のパフォーマンスの改善

parfor ループでは、各 MATLAB ワーカーに独自の配列または配列の一部を並列で作成させた方が、ループに入る前にクライアントに大きな配列を作成してすべてのワーカーに個別に送信するよりも、処理が高速になる可能性があります。

並列プールでのコードの実行

並列プールは、計算クラスターまたはデスクトップの一連の MATLAB ワーカーです。

並列設定

並列プールの動作とオプションの設定を行います。

注目の例

この情報は役に立ちましたか?