Main Content

numlabs

(非推奨) 現在の spmd ブロックを実行しているワーカーの数

    numlabs は推奨されません。代わりに spmdSize を使用してください。詳細については、バージョン履歴を参照してください。

    説明

    n = numlabs は、現在の spmd ブロックまたは通信ジョブを実行しているワーカーの数を返します。この値は labReceivelabSend で使用できる最大値です。

    すべて折りたたむ

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

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

    parpool(4);

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

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

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

    出力引数

    すべて折りたたむ

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

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

    バージョン履歴

    R2006a より前に導入

    すべて折りたたむ

    R2022b: numlabs は非推奨

    spmd ブロック内で使用するものであることがわかるように、numlabs の名前が spmdSize に変更されました。numlabs は引き続き使用できますが、非推奨になっています。コードを更新するには、numlabs のすべてのインスタンスを spmdSize に置き換えてください。numlabs を削除する予定はありません。

    参考