2010년 5월 28일 금요일

#pragma omp for 사용시 주의점

OpenMP(Open Multi-processing)는 사용이 매우 쉬우나 프로그램 작성시 아래를 주의해야 한다.

1. for 내부에 사용하는 함수는 OpenMP-safe function이 되어야 한다.
   - 내부 사용함수가 global variable 등을 공유해서 사용하면 다른 결과를 낼 수 있으므로 절대 global variable에 연관된 함수를 쓰면 안됨

2. for 내부에 사용할 수 없는 연산자가 있다.
   - +=, -=, *=, /= 등과 같은 축적연산자가 for index와 연관된 경우 실행순서에 따라 다른 값이 출력될 수 있음 -> 절대 사용하면 안됨
   - 굳이 for index와 관계된 축적연산자를 사용하려면 reduction을 사용해서 #pragma omp for reduction(...)을 구성해야 함

댓글 없음 :

댓글 쓰기

욕설이나 스팸글은 삭제될 수 있습니다. [전파거북이]는 선플운동의 아름다운 인터넷을 지지합니다.