Main Content

labindex

(권장되지 않음) spmd 블록의 현재 워커 인덱스

labindex는 권장되지 않습니다. spmdIndex를 대신 사용하십시오. 자세한 내용은 버전 내역 항목을 참조하십시오.

설명

예제

id = labindexspmd 블록에서 현재 실행 중인 워커의 인덱스를 반환합니다. 워커가 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 이전에 개발됨

모두 축소

R2022b: labindex 함수는 권장되지 않음

spmd 블록 내에서의 용도를 나타내기 위해 labindex의 이름이 spmdIndex로 변경되었습니다. labindex는 계속 유효하지만 더 이상 권장되지 않습니다. 코드를 업데이트하려면 labindex의 인스턴스를 spmdIndex로 바꾸십시오. labindex를 제거할 계획은 없습니다.

참고 항목