主要内容

このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

parforOptions

parforのオプション(反復の分割など)

説明

选择= parforOptions (集群は,並列プ,ルを作成せずに集群内のワ,カ,上でステ,トメントを実行するようにparforに指示する,parforのオプションセットを作成します。代わりに,parforは,独立したタスクをクラスタ,に投入し,ル,プ本体を実行します。parforは,集群NumWorkersプロパティ(使用可能なワ,カ,数)に従って反復を分割し,ワ,カ,間に分散します。

选择= parforOptions (は,並列プ,ル内のワ,カ,上でステ,トメントを実行するようにparforに指示する,parforのオプションセットを作成します。

选择= parforOptions (___“RangePartitionMethod”,方法は,方法を使用して,parforル,プの反復をサブレンジに分割する方法を定義します。サブレンジは,parforがワ,カ,上でグル,プとして実行する,連続したル,プ反復のブロックです。

选择= parforOptions (___“RangePartitionMethod”,“固定”,“SubrangeSize”,nは,parforル,プの反復をn以下のサ@ @ズのサブレンジに分割します。

选择= parforOptions (集群___名称,值は,クラスタ,オブジェクト集群と共に使用する追加オプションを指定します。

すべて折りたたむ

関数parclusterを使用してクラスタ,オブジェクトを作成し,このクラスタ,オブジェクトを使用してparforのオプションセットを作成します。既定で,parclusterは既定のクラスタプロファルを使用します。既定のプロファaapl . exe, matlab®の. exe[ホ,ム]タブの[並列][既定のクラスタ,の選択]で確認します。

Cluster = parcluster;opts = parforOptions(集群);

クラスタ,内で直接parforの計算を実行するには,parforオプションを2番目の入力引数としてparforに渡します。

この方法を使用すると,parforはクラスター内の使用可能なすべてのワーカーを使用でき,ワーカーはループの完了後すぐに使用可能になります。この方法は,クラスタが並列プルをサポトしていない場合にも役立ます。

数值= [3 3 3 7 3 3 3];parfor(i = 1:元素个数(值),选择)了(我)=规范(pinv(兰德(值(i) * 1 e3)));结束

必要以上に長い時間ワーカーを使用することなく,大規模なクラスター上でparforを実行するには,この構文を使用します。

parforOptionsを使用して,parforが反復をワ,カ,用のサブレンジに分割する方法を制御できます。範囲の分割を制御することで,parforル,プのパフォ,マンスを最適化できます。最良のパフォ,マンスを得るには,次のようにサブレンジを分割するようにします。

  • サブレンジのスケジュ,リングのオ,バ,ヘッドよりも計算時間が長くなる程度に大きい

  • すべてのワ,カ,をビジ,状態に維持するために十分なサブレンジ数が存在する程度に小さい

反復を固定サ电子邮箱ズのサブレンジに分割するには,parforのオプションセットを作成し,“RangePartitionMethod”“固定”,に設定し,“SubrangeSize”を使用してサブレンジサ@ @ズを指定します。

opts = parforOptions(parcluster“RangePartitionMethod”“固定”“SubrangeSize”2);

parforオプションを2番目の入力引数としてparforに渡します。この場合,parforは反復を2回の反復からなる3のグルプに分割します。

数值= [3 3 3 3 3 3 3 3];parfor(i = 1:元素个数(值),选择)了(我)=规范(pinv(兰德(值(i) * 1 e3)));结束

反復を異なるサ电子邮箱ズのサブレンジに分割するには,“RangePartitionMethod”の名前と値のペアに関数ハンドルを渡します。この関数はサブレンジサイズのベクトルを返さなければならず,その合計は反復回数と等しくなければなりません。この構文の詳細にいては,方法を参照してください。

opts = parforOptions(parcluster“RangePartitionMethod”, @(n,nw) [2 1 1 2]);

parforオプションを2番目の入力引数としてparforに渡します。この場合,parforは反復を211,および2回の反復からなる4のグルプに分割します。

数值= [3 3 7 7 3 3];parfor(i = 1:元素个数(值),选择)了(我)=规范(pinv(兰德(值(i) * 1 e3)));结束

parforOptionsを使用して,並列プ,ルのワ,カ,上でparforを実行できます。parfor -ル,プ用に固定数のワ,カ,を予約する場合は,この方法を使用します。また,parforがワ,カ,用に反復を分割する方法をより細かく制御できます。

関数parpoolを使用して並列プ,ルを作成します。既定で,parpoolは既定のクラスタプロファルを使用します。既定のプロファaapl . exeルは,matlabの[ホ,ム]タブの[並列][既定のクラスタ,の選択]で確認します。並列プ,ルオブジェクトを使用してparforのオプションセットを作成し,オプションを指定します。たとえば,分割方法として固定サ2のサブレンジを指定します。

P = parpool;
使用“本地”配置文件启动并行池(parpool)…连接到并行池(工人数:6)。
opts = parforOptions(p,“RangePartitionMethod”“固定”“SubrangeSize”2);

parforのオプションを2番目の入力引数として関数parforに渡します。parforは並列プ,ル上でル,プ本体を実行し,选择に従って反復を分割します。

数值= [3 3 3 3 3 3 3 3];parfor(i = 1:元素个数(值),选择)了(我)=规范(pinv(兰德(值(i) * 1 e3)));结束

並列プ,ルを使用して,あるいは使用せずにparforを実行するときに,matlabは既定でル,プ本体の依存関係の解析を自動的に実行します。Matlabはステトメントを実行する前に,必要なファルをワカに転送します。場合によっては,これらのファルを明示的にワカに転送しなければならないことがあります。詳細にいては,プログラムの依存関係の特定を参照してください。

並列プ,ルなしでparforを使用する場合,parforOptionsを使用してファ@ @ルを転送します。parclusterオプションを使用してクラスタ,オブジェクトを作成します。関数parforOptionsを使用し,このクラスタ,オブジェクトを指定してparforのオプションセットを作成します。ファルをワカに転送するには,“AttachedFiles”の名前と値のペアを使用します。

Cluster = parcluster;opts = parforOptions(集群,“AttachedFiles”, {“myFile.dat”});

parforのオプションを2番目の入力引数として関数parforに渡します。ワカはルプ本体で必要なファルにアクセスできます。

parfor(i=1:2,opts) M = csvread(“myFile.dat”0 2 *(张)[0,2 *(张),1,1 + 2 *(张)]);out(i) = norm(rand(ceil(norm(M))*1e3));结束

入力引数

すべて折りたたむ

クラスタ。parforが実行される平行的。集群オブジェクトとして指定します。クラスタオブジェクトを作成するには、関数parclusterを使用します。

例:opts = parforOptions(parcluster('local'));

デ,タ型:平行的。集群

固定サ▪▪ズの分割方法のサブレンジサ▪▪ズ。正の整数として指定します。名前と値のペア“RangePartitionMethod”“固定”に設定しなければなりません。

例:opts = parforOptions(cluster,'RangePartitionMethod','fixed','SubrangeSize',5);

デ,タ型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

並列プ,ル。parforが実行される平行的。池オブジェクトとして指定します。並列プ,ルを作成するには,関数parpoolを使用します。

例:opts = parforOptions(parpool('local'));

デ,タ型:平行的。池

範囲の分割方法。次のいずれかとして指定します。

  • “汽车”—この方法は,ルプを可変サズのサブレンジに分割します。さまざまなparforルプにいて優れたパフォマンスを実現しようとします。

  • “固定”- - - - - -parforルプを固定サズのサブレンジに分割します。“SubrangeSize”の名前と値のペアを設定することで,各サブレンジサ。

  • 関数ハンドル-関数ハンドルを使用して,ル.プ反復をサブレンジに分割します。関数はsize = customFcn(n,nw)の形式でなければなりません。ここで,nparforル,プの反復回数,西北はル,プの実行に使用できるワ,カ,数です。ル,プが並列プ,ル上で実行されている場合,西北は並列プ,ル内のワ,カ,数です。クラスタを使用してループが実行されている場合、西北はクラスタ,のNumWorkersプロパティです。customFcnはサブレンジサ@ @ズのベクトル大小を返します。このベクトルはSum (size) == nを満たさなければなりません。関数ハンドルの詳細にいては,関数ハンドルの作成を参照してください。

例:opts = parforOptions(cluster,'RangePartitionMethod','fixed','SubrangeSize',10);

例:opts = parforOptions(cluster,'RangePartitionMethod',@(n,nw) [2,4,4,n-10]);

デ,タ型:字符|function_handle

名前と値のペアの引数

オプションの名称,值の引数ペアをコンマ区切りで指定します。名字は引数名で,价值は対応する値です。名字は引用符で囲まなければなりません。Name1, Value1,…,的家のように,複数の名前と値のペアの引数を任意の順序で指定できます。

例:opts = parforOptions(cluster,' attachdfiles ',{'myFile.dat'});

クラアントのパスをワカのパスに追加するかどうかを指定するフラグ。AutoAddClientPathと,真正的またはで構成されるコンマ区切りのペアとして指定します。

デ,タ型:逻辑

parforルプ本体の依存関係の解析を有効にし,ワカに必要なファルを転送するかどうかのフラグ。AutoAttachFilesと,真正的またはで構成されるコンマ区切りのペアとして指定します。

デ,タ型:逻辑

ワカに転送するファル。AttachedFilesと,文字ベクトル,字符串,字符串配列または文字ベクトルの细胞配列で構成されるコンマ区切りのペアとして指定します。

例:{“myFun.m”、“myFun2.m”}

デ,タ型:字符|字符串|细胞

parforを実行する前にmatlab®パスに追加するワ,カ,のパス。AdditionalPathsと,文字ベクトル,字符串,字符串配列または文字ベクトルの细胞配列で構成されるコンマ区切りのペアとして指定します。

例:{/一些/路径”、“另一个/路径'}

デ,タ型:字符|字符串|细胞

出力引数

すべて折りたたむ

parforのオプション。parforOptionsオブジェクトとして返されます。parforル,プのオプションを指定するには,parforのオプションセットをparforの2番目の入力引数に渡します。

例:parfor (i = 1:10, parforOptions (parcluster));(我)=我;结束

R2019aで導入