Main Content

spmdSize

現在の spmd ブロックを実行しているワーカーの数

R2022b 以降

    説明

    n = spmdSize は、現在の spmd ブロックまたは通信ジョブを実行しているワーカーの数を返します。この値は、spmdSend への保存先入力と spmdReceive へのソース入力として使用できる最大値です。

    すべて折りたたむ

    この例では、spmd ブロックの内部と外部で spmdSize を実行する方法を説明します。

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

    parpool(4);

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

    spmd ブロックの内部と外部で spmdSize を実行します。ブロック内では、戻り値はワーカー数と等しくなります。ブロック外部では、戻り値は 1 になります。

    spmd
        disp(spmdSize)
    end
    disp(spmdSize)
    Worker 1: 
           4
      
    Worker 2: 
           4
      
    Worker 3: 
           4
      
    Worker 4: 
           4
      
         1

    出力引数

    すべて折りたたむ

    現在の spmd ブロックまたは通信ジョブを実行しているワーカーの数。正の整数として返されます。spmd ブロック内では、nspmd ブロックを実行しているワーカーの数です。spmd ブロック外部では、n1 です。

    createCommunicatingJob を使用して通信ジョブを作成すると、n 個のワーカー上で関数またはスクリプトを実行することができます。いずれかのワーカーが spmdSize を実行すると、戻り値は n になります。

    拡張機能

    バージョン履歴

    R2022b で導入