이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
gather
로컬 작업 공간으로 분산 배열 또는 gpuArray 전송
구문
설명
X = gather(
는 다음 배열 데이터에 대해 연산을 수행할 수 있습니다.A
)
gpuArray
: GPU에서A
의 요소를 로컬 작업 공간으로 전송하여X
에 할당합니다.spmd
문 외부의 분산 배열: 여러 워커에 있는A
의 요소를 로컬 작업 공간으로 한데 모아X
에 할당합니다.spmd
문 또는 통신 작업 내의 공동분산 배열:A
의 요소를 한데 모은 후, 모든 워커에서X
로 복제합니다.
tall형 배열과 같은 다른 데이터 유형에 대해 gather
를 호출할 수 있습니다(gather (tall)
항목 참조). 데이터 유형이 수집을 지원하지 않는 경우에는 gather
가 아무런 효과가 없습니다.
GPU 배열 또는 분산 배열을 수집하는 작업은 비용이 많이 들 수 있습니다. 작업 결과를 이러한 유형의 배열을 지원하지 않는 함수에서 사용해야 하는 경우가 아니라면 일반적으로 수집 작업은 필요하지 않습니다. 함수 지원에 대한 자세한 내용은 GPU에서 MATLAB 함수 실행하기 또는 분산 배열을 사용하여 MATLAB 함수 실행 항목을 참조하십시오.
X = gather(gpuArray(X))
, X = gather(distributed(X))
또는 X = gather(codistributed(X))
는 원본 배열 X
를 반환합니다.
[X1,X2,...,Xn] = gather(A1,A2,...,,Xn)
은 여러 배열 A1,A2,...,,An
을 대응하는 출력값 X1,X2,...,Xn
으로 수집합니다. 입력 인수 개수와 출력 인수 개수는 일치해야 합니다.
X = gather(C,destination)
은 공동분산 배열 C
를 변형 배열(variant array) X
로 변환하여 모든 요소가 destination
에서 지정된 워커에 포함되도록 합니다. 그리고 X
는 다른 모든 워커에서 0×0의 빈 double형입니다.
[X1,X2,...,Xn] = gather(C1,C2,...,Cn,destination)
은 공동분산 배열 C1,C2,...,Cn
을 대응하는 출력값 X1,X2,...,Xn
으로 수집하며, 모든 요소는 destination
에서 지정된 워커에 포함됩니다. 입력 인수 개수와 출력 인수 개수는 일치해야 합니다.
예제
입력 인수
팁
gather
는 자신이 실행되는 모든 워커의 작업 공간에서, 또는 MATLAB 클라이언트에서 각각(즉, 둘 다는 아님) 공동분산 배열 또는 분산 배열을 조합합니다. spmd
문 내에서 gather
를 사용하는 경우, 수집된 배열은 해당하는 Composite
객체를 통해 클라이언트에서 액세스할 수 있습니다. Access Worker Variables with Composites 항목을 참조하십시오. 통신 작업에서 gather
를 실행하는 경우, 수집된 배열을 태스크의 출력 인수로 클라이언트에 반환할 수 있습니다.
gather
함수를 사용하려면 모든 워커 간에 통신이 필요하므로 if spmdIndex == 1
과 같은 조건문 내에 함수를 배치하여 모든 워커로부터 단일 워커로 데이터를 수집할 수 없습니다.
버전 내역
R2006b에 개발됨
참고 항목
arrayfun
| codistributed
| distributed
| gpuArray
| pagefun