Main Content

labindex

(非推奨) spmd ブロックにおける現在のワーカーのインデックス

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

説明

id = labindex は、spmd ブロック内で関数を現在実行しているワーカーのインデックスを返します。ワーカーが spmd ブロックを実行するか通信ジョブが実行を開始すると、各ワーカーに一意のインデックスが割り当てられます。labindex の値は 1numlabs の整数です。

ワーカーには、指定された並列プールの利用期間にわたり、各 spmd ブロック内で同じ id が与えられます。

すべて折りたたむ

spmd ブロック内および parfor ループ内で labindex を表示します。

p = parpool('local',2);
spmd
    labindex
end
Worker 1: 
         1
  
Worker 2: 
        2

2 つのワーカーがある同一のプール p を使用します。

parfor a=1:4
    [a,labindex]
end
ans =
     3     1
ans =
     2     1
ans =
     1     1
ans =
     4     1

ヒント

spmd ブロックでは、ユーザーはすべてのワーカーに個別にアクセスしてワーカーでの実行対象の制御を行うことができるため、各ワーカーには一意の labindex があります。

ただし、parfor ループ内では labindex は、すべての反復のすべてのワーカーに必ず値 1 を返します。

バージョン履歴

R2006a より前に導入

すべて展開する

参考