본문 바로가기

소수찾기

(2)
OpenMP 병렬 처리 : 공유변수 문제 (레이스 컨디션) 2020/10/13 - [Computer & Parallel Processing] - OpenMP를 이용한 병렬 처리 (parallel for) OpenMP를 이용한 병렬처리 (parallel for) OpenMP를 이용한 병렬 처리 기법은 다양한 방법이 있습니다. 그중 반복문의 병렬화 방법에 대하여 글을 쓰려합니다. 다른 기법들은 간단히 익혔으나, 실제로 OpenMP를 사용하기에 적합한 방법은 para sbinroom.tistory.com 이전 글에서 OpenMP를 이용해서 for loop를 병렬처리 하는 방법에 대하여 설명하였습니다. 이 글의 예제인 소수의 개수를 세는 프로그램에서 패러렐 프로세싱의 결과가 시리얼 프로세싱과 다른 결과를 보였고, 몇 가지 키워드를 이용해 디버그 했죠. 이 글에서는 문제..
OpenMP를 이용한 병렬처리 (parallel for) OpenMP를 이용한 병렬 처리 기법은 다양한 방법이 있습니다. 그중 반복문의 병렬화 방법에 대하여 글을 쓰려합니다. 다른 기법들은 간단히 익혔으나, 실제로 OpenMP를 사용하기에 적합한 방법은 parallel for이고, 그 외의 방법은 딱히 사용처가 없거나, 일반 thread를 이용한 병렬 처리가 더 효율적이라고 생각하거든요. 그럼 큰 의미 없는 인트로는 여기까지 하고, 바로 예제를 통해 병렬 처리를 설명하겠습니다. 이번 글에서 사용한 예제는 아래 스냅샷과 같습니다. 프로그램의 목적은 입력된 변수보다 작거나 같은 소수(prime number)의 개수를 세는 프로그램입니다. 이 알고리듬은 소수의 정의인 자신보다 작은 두 개의 자연수 곱으로 자신을 만들 수 없다는 특징을 이용한 알고리듬입니다. 이 프로..