내 프로그램의 병렬 처리 된 섹션에서 사용해야하는 일부 전역 변수가 있습니다.C에서 pragma omp 단축키
#define N 2000
int x[N], matrix[N][N]
int main(int argc, char **argv)
...
#pragma omp parallel
{
#pragma omp privatethread(x,matrix)
#pragma omp for
for(int k=0; k<100;++k)
/*some function to modify values of x and matrix differently
from run to run*/
...
}
...
가 동등 의 #pragma와 일부입니다 :
...
#pragma omp privatethread(x,matrix) parallel for
...
병렬 의 #pragma OMP를 선언 다음 의 #pragma OMP privatethread 사이의 차이가 그래서 내가 쓴 #pragma omp privatethread 다음에 #pragma omp parallel for? privathread 부분 다음에 {? 마지막으로
#pragma omp privatethread(x,matrix)
{ //<-- here
#pragma omp for
은 좋은 방법이 C에서 큰 벡터와 함께 작동하도록하거나 내 프라 그마 OMP 내부의 malloc을 사용하고 privatethread 부분을 제거하는 것이 좋습니다 것입니다? (새 게시물에서이 엔딩 질문을하는 것이 더 좋은지 알려주십시오.)