firstprivate : 각 스레드가 고유 한 변수 인스턴스를 가져야하고 변수가 병렬 구문 이전에 존재하기 때문에 변수 값으로 초기화되도록 지정합니다.
lastprivate : 변수의 엔 클로징 컨텍스트 버전이 최종 반복 (for-loop 구문) 또는 마지막 섹션 (#pragma 섹션)을 실행하는 스레드의 개인 버전과 동일하게 설정되도록 지정합니다.
lastprivate를 사용하여 i을 루프 외부에서 마지막 값으로 반환 할 수 있습니다.
private 변수는 초기화되지 않습니다. 즉, 다른 로컬 자동 변수와 같은 임의의 값으로 시작합니다 (그리고 종종 각 스레드의 스택에서 자동 변수를 사용하여 구현 됨).
이것은 i의 값이 병렬 영역 내에서 임의적 (초기화되지 않음)이며 병렬 영역 이후에 수정 된 부분이 보이지 않음을 나타냅니다 (즉, 변수가 영역에 들어가기 전에 값을 유지함).
i을 firstprivate로 만들면 병렬 영역 이전의 값으로 초기화됩니다.
openmp — OpenMP의 firstprivate과 lastprivate는 개인용 절과 어떻게 다릅니 까?
private 변수는 초기화되지 않습니다. 즉, 다른 로컬 자동 변수와 같은 임의의 값으로 시작합니다 (그리고 종종 각 스레드의 스택에서 자동 변수를 사용하여 구현 됨). 이 간단한 프로그램을 예로 �
www.it-swarm.dev
'IT > Openmp' 카테고리의 다른 글
Openmp 참고사이트 (0) | 2020.08.25 |
---|