본문 바로가기

오픈MP

(2)
OpenMP를 이용한 병렬처리 (parallel for) OpenMP를 이용한 병렬 처리 기법은 다양한 방법이 있습니다. 그중 반복문의 병렬화 방법에 대하여 글을 쓰려합니다. 다른 기법들은 간단히 익혔으나, 실제로 OpenMP를 사용하기에 적합한 방법은 parallel for이고, 그 외의 방법은 딱히 사용처가 없거나, 일반 thread를 이용한 병렬 처리가 더 효율적이라고 생각하거든요. 그럼 큰 의미 없는 인트로는 여기까지 하고, 바로 예제를 통해 병렬 처리를 설명하겠습니다. 이번 글에서 사용한 예제는 아래 스냅샷과 같습니다. 프로그램의 목적은 입력된 변수보다 작거나 같은 소수(prime number)의 개수를 세는 프로그램입니다. 이 알고리듬은 소수의 정의인 자신보다 작은 두 개의 자연수 곱으로 자신을 만들 수 없다는 특징을 이용한 알고리듬입니다. 이 프로..
Mac OSX에서 OpenMP 사용하기 (Catalina) 이번 글은 간단하게 포스팅하고 마치겠습니다. 이전의 OSX에서는 OpenMP의 소스를 다운받아 설치하고 이를 활용하는 방식으로 OpenMP를 이용했으나, 최근 추천되는 방식은 다음과 같습니다. 1. homebrew 설치 2020/10/12 - [Mac] - Mac 에 Brew 설치하기 (Catalina) 2. OpenMP 라이브러리 설치 brew install libomp 3. 컴파일시 OpenMP 지정 g++ -Xpreprocessor -fopenmp -lomp -o [target] [source] gcc 여도 파라미터는 같습니다. 관련하여 makefile 만드는 법에 대해서 향후 포스팅하겠습니다. 감사합니다.