반응형
OpenMP 지시어
OpenMP지시어의 사용법을 익히면 생성된 멀티 스레드를 더 자유롭게 제어하고 순차 프로그램보다 훨씬 뛰어난 성능을 얻을 수 있다.
OpenMP 지시어는 #pragma omp 구문 이후에 단독으로 지시어를 사용하여 병렬처리에 대한 주된 활용을 지정할 때 사용한다. 스레드의 병렬영역, 작업 분할, 실행 순서, 동기화와 같은 큰 흐름을 정의한다.
(1) 병렬처리 제어
OpenMP에 의한 병렬 영역을 정의한다.
- 병렬영역(Parallel Regions) 지시어
#pragma omp parallel 지시어
- 작업분할(Worksharing) 지시어
#pragma omp for 지시어
#pragma omp sections 지시어
#pragma omp single 지시어
#pragma omp task 지시어
(2) 동기 제어
OpenMP 병렬영역에서 데이터접근 동기나 코드 실행의 동기를 제어할 수 있다.
#pragma omp atomic 지시어
#pragma omp critical 지시어
#pragma omp master 지시어
#pragma omp barrier 지시어
#pragma omp taskwait 지시어
#pragma omp flush 지시어
#pragma omp ordered 지시어
(3)데이터 속성 제어
병렬영역 내에서 이용되는 변수의 속성을 정의한다.
글로벌 변수에 대해 private 속성을 지정할 수 있게 한다.
#pragma omp threadprivate 지시어
반응형
'개발자 > Programming' 카테고리의 다른 글
[CUDA] GPGPU 그리고 CUDA 프로그래밍 기초 (0) | 2020.10.02 |
---|---|
[OpenMP] 옵션 가장 많이 쓰이는 두 가지 (0) | 2020.10.02 |
OpenMP 멀티 쓰레드 구현, 시작 (0) | 2020.08.28 |
비쥬얼 스튜디오 코드 필수 익스텐션 10개 추천 (0) | 2020.06.23 |
리눅스 세마포어 사용 예제 (0) | 2020.05.19 |