728x90

병렬 영역 지정

#pragma omp parallel

{

 

}

 

스래드 개수 설정

- 환경 변수 : export OMP_NUM_THREADS=수

- 지시어 : #pragma omp parallel num_threads(수)

- 실행시간 라이브러리 : omp_set_num_threads(수)

 

스레드 관련 런타임 라이브러리(함수)

- omp_set_num_threads(수) : 스래드 개수설정

- omp_get_num_threads(): 현재 스래드 개수 반환

- omp_get_thread_num() : 현재 쓰래드 아이디 반환

 

 

프로그래밍 모델

- 스레드 기반

- 포크-조인 모델

 

포크-조인 모델

- 마스터 스레드는 병렬영역 끝에서 합쳐지는 스레드 모임 생성

- 동일 모임에 속한 스레드들이 공동 작업 수행

 

 

스레드 생성 예제

- 스레드 개수 출력 omp_get_num_threads()

- 스레드 3개 생성 #pragma omp parallel num_threads(3)

 -> 스래드 번호 omp_get_thread_num()와 스레드 개수 출력 omp_get_num_threads()

- 환경 변수에 지정한 만큼 스레드 생성

 -> 실행전 export OMP_NUM_THREADS=5

- 병렬 영역 밖에는 스래드 갯수가 1로 출력

 

 

 

300x250

'컴퓨터과학 > 기타' 카테고리의 다른 글

openmp - 9. firstprivate, shared, private  (0) 2020.07.29
openmp - 8. OpenMP과 메모리 공유  (0) 2020.07.29
openmp - 6. openmp 예제  (0) 2020.07.29
openmp - 5. OpenMP 시작하기  (0) 2020.07.29
openmp - 4. 잡 스캐줄러  (0) 2020.07.29

+ Recent posts