Main Content

codistributor2dbc.defaultWorkerGrid

2 次元ブロックサイクリック分散配列の既定の計算グリッド

    説明

    grid = codistributor2dbc.defaultWorkerGrid は、積が現在の spmd ブロックまたは通信ジョブで実行しているワーカーの数になるように nrow-by-ncol ワーカーの計算グリッドを定義するベクトルを返します。現在の spmd ブロックで実行しているワーカーの数を取得するには、関数 spmdSize を使用します。codistributor2dbc.defaultWorkerGrid で定義されるグリッドはできるだけ正方形に近くします。グリッドの nrowncol は以下のルールにより規定されています。

    • 現在の spmd ブロックで実行しているワーカーの数が完全平方の場合、nrow = ncol = sqrt(spmdSize) となります。

    • 現在の spmd ブロックで実行しているワーカーの数が 2 の奇数乗の場合、nrow = ncol/2 = sqrt(spmdSize/2) となります。

    • nrow <= ncol.

    • 現在の spmd ブロックで実行しているワーカーの数が素数の場合、nrow = 1ncol = spmdSize となります。

    • nrow は、ncol = spmdSize/nrow も整数となる、sqrt(spmdSize) を超えない最大の整数です。

    すべて折りたたむ

    codistributor2dbc.defaultWorkerGrid を使用して、spmd ブロック内の 2 次元ブロックサイクリック分散配列の既定の計算グリッドのレイアウトを取得します。

    4 つのワーカーをもつ並列プールを作成します。

    parpool(4);

    並列プールの作成後に spmd ブロックを実行すると、既定ではそのプール内のすべての使用可能なワーカーで、spmd ブロック内のコードが実行されます。

    現在の spmd ブロックについて、既定の分散スキームの計算グリッド レイアウトを表示します。

    spmd
        grid = codistributor2dbc.defaultWorkerGrid
    end
    Worker 3: 
      
      grid =
      
           2     2
      
    Worker 4: 
      
      grid =
      
           2     2
      
    Worker 1: 
      
      grid =
      
           2     2
      
    Worker 2: 
      
      grid =
      
           2     2
      

    出力引数

    すべて折りたたむ

    spmd ブロック内の 2 次元ブロックサイクリック分散配列の既定の計算グリッド。nrow-by-ncol ワーカーのベクトルとして返されます。積 nrow*nrow は、現在の spmd ブロックまたは通信ジョブを実行しているワーカーの数です。

    バージョン履歴

    R2009b で導入

    すべて展開する