- 공유 메모리 환경에서 병렬 프로그래밍을 할 수 있도록 도와주는 라이브러리
- 특정 영역인 병렬 영역 을 지정하여 그 영역을 반복(parallel)하는 것
- for문 또한 OpenMP 스스로 병렬 처리가 가능하다.
- Compiler directive : 각각의 병렬영역에 들어가는 것으로, 컴파일하며 병렬 처리를 하게끔 도와준다.
#include <omp.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
omp_set_num_threads(4) -> 이것을 통해 스레드의 개수를 설정
/*sequence code, pragma : Compiler Directive) */
#pragma omp parallel /* 아래의 {}의 영역을 병렬적으로 수행해 달라고 하는 것 */
{
printf("I am a parallel region");
}
/* sequential code */
/*for 문의 병렬처리문*/
#pragma omp parallel for
{
for(i = 0; i<N; i++){
c[i] = a[i] + b[i];
}
return 0;
}