반응형
OpenMP:지역 변수를 자동으로 개인적인 거?
#pragma omp parallel
{
int x; // private to each thread ?
}
#pragma omp parallel for
for (int i = 0; i < 1000; ++i)
{
int x; // private to each thread ?
}
감사해요!
추신:지역 변수를 자동으로 개인, 개인 조항을 이용한 점은?
네, 지역 변수를 자동으로 개인적인 거죠
의 존재 이유이다.private
코드를 변경하지 않아도 된다는 조항입니다.
유일한 방법은 민간 조항 없이 다음과 같은 코드 평행하게 하다.
int i,j;
#pragma omp parallel for private(j)
for(i = 0; i < n; i++) {
for(j = 0; j < n; j++) {
//do something
}
}
코드를 바꿀 수 있나.이런 예를 들어:
int i
#pragma omp parallel for
for(i = 0; i < n; i++) {
int j;
for(j = 0; j < n; j++) {
//do something
}
}
그것은 완벽하게 C89/C90 코드가 있으면 좋지만 한 OpenMP의 목표의 요건을 제외하고 추가할 코드를 바꿀 필요가 없다 유효하다.pragma
또는 장애인은 컴파일 시간에 구현 가능한 명령문.
평행이 영역 안에 그 데이터는 각 스레드에 민간이다.
부디http://en.wikipedia.org/wiki/OpenMP#Data_sharing_attribute_clauses[데이터 특성 조항을 공유하는 것]참조하십시오.
언급URL:https://stackoverflow.com/questions/6358375/openmp-are-local-variables-automatically-private
반응형
'programing' 카테고리의 다른 글
@Mock과 @InjectMocks의 차이점 (0) | 2022.08.02 |
---|---|
입력 검증: 기본 오류 메시지 변경 (0) | 2022.08.02 |
Vue.js: 생산성을 높이기 위해 먼저 스크립트 또는 템플릿을 단일 파일 컴포넌트에 넣어야 합니까? (0) | 2022.08.02 |
C로부터의 Call Go 함수 (0) | 2022.08.02 |
여러 @Suppress Warnings 주석 조합 - Eclipse Indigo (0) | 2022.08.02 |