본문 바로가기

OMP2

OpenMP(2) - 입문자용 주요 사용법 간단한 설명/정리(omp single, master, task, taskwait, barrier) 저번 글에 이어서 몇 가지 더 사용법 정리. 사용법 1. omp single #pragma omp single // 하나의 thread만 실행한다. 다른 thread는 기다린다. #pragma omp single nowait // 하나의 thread만 실행한다. 다른 thread는 기다리지 않는다. 하나의 쓰레드만 동작하게 한다. 초기화나 출력부처럼 병렬 처리가 필요 없는 부분에서 용이하다. 2. omp master #pragma omp master // master thread만 실행한다. 다른 thread는 기다리지 않고 넘어간다. single과 매우 유사하지만 master thread 하나만 동작한다. 또한, 다른 쓰레드는 기다리지 않고 다음 부분을 실행한다. 3. omp task #pragma o.. 2020. 7. 31.
OpenMP(1) - 입문자용 주요 사용법 간단한 설명/정리(omp parallel, for, atomic,critical) 매일 GPU나 분산 컴퓨팅으로 병렬 처리만 하다가, 오랜만에 단일 cpu환경에서 thread로 병렬 처리를 해야 할 일이 생겼다. 학습하는 김에 주요 사용법을 정리해보고자 한다. 개발 환경 C/C++ OpenMP 5.0 API 사용법 1. omp parallel 기본 사용법 #pragma omp parallel //병렬 처리 할 한줄 #pragma omp parallel { /* 병렬 처리 할 여러줄 */ } 다음 한 줄이나 다음에 오는 중괄호에 묶인 구문을 병렬로 실행한다. thread 수만큼 실행된다. 옵션 #pragma omp parallel if(condition) #pragma omp parallel num_threads(n) #pragma omp parallel private(a) #pragm.. 2020. 7. 24.