์คํ์ ํผ ๊ณต์ ์ฌ์ดํธ
The OpenMP API specification for parallel programming http://openmp.org/wp/
์คํ์ ํผ ์ ์ ๋ฆฌ๋ ์ฌ์ดํธ
C์ธ์ด: OpenMP๋ฅผ ์ด์ฉํ ๋ฉํฐ ์ฐ๋ ๋ ํ๋ก๊ทธ๋๋ฐ HOWTO #1 http://sunyzero.egloos.com/4227785
C์ธ์ด: OpenMP๋ฅผ ์ด์ฉํ ๋ฉํฐ ์ฐ๋ ๋ ํ๋ก๊ทธ๋๋ฐ HOWTO #2 http://sunyzero.egloos.com/4229235
C์ธ์ด: OpenMP๋ฅผ ์ด์ฉํ ๋ฉํฐ ์ฐ๋ ๋ ํ๋ก๊ทธ๋๋ฐ HOWTO #3 http://sunyzero.egloos.com/4234766
C์ธ์ด: OpenMP๋ฅผ ์ด์ฉํ ๋ฉํฐ ์ฐ๋ ๋ ํ๋ก๊ทธ๋๋ฐ HOWTO #4 http://sunyzero.egloos.com/4258873
์ธ์ ๋ ๋ฐ๋ผํ๊ธฐ๊ฐ ์๋ค๋ ๊ฒ์ ํ๋ณตํ ์ผ์ด๋ค.
ํนํ ์ด๊ณต๊ณ์ชฝ์ ์์ ์ด ์ฒ์ฌ์ ์ธ ๋ฆฌ๋๋ ํ๋ก ํฐ์ด๊ฐ ์๋๋ผ๋ฉด ๊ทธ๋ฅ ๊ตฌ๊ธ ๊ฒ์ํ๋ฉด ์์ ์ด ํ๋ ค๊ณ ํ๋ ๊ฒ๋ค์ ๋๊ตฐ๊ฐ ์ด๋ฏธ ํด๋์ ๊ฒ์ ๋ฐ๊ฒฌํ ์ ์๋ค. ์ด ๋ฉํฐํ๋ก์ธ์ ํ๋ก๊ทธ๋๋ฐ ๊ฐ์ ๊ฒ๋ 1970๋ ์ธ๊ฐ 1960๋ ์ธ๊ฐ? ์ํผ ๋ช ์ญ๋ ์ ์ ์ด๋ก ๊ณผ ๊ธฐ์ ์ด ๊ธฐ๋ฐ์ด๋ค.
๊ทธ๋์ ํ๋ณตํ๋ฉด์ ์ฌํ ์ผ์ด๊ธฐ๋ ํ๋ค.
์ํผ openMP ์ฒซ ์ฝ์ ๋ ๋ณด๋ ค๊ณ ํ๋๋ฐ...
gcc ๋ฒ์ ์ด 3.4.5๋ค.
๊ทธ๋์ ์ด์ฉ์ ์์ด "omp 2.0"์ ์ง์ํ๋ Visual studio 2008 c++์์ ์ด์ ์ธ๋ฏธ๋์์ ๋ค์๋ ๋ด์ฉ์ ๋ฐ๋ผ ์ ์ฌ์ดํธ๋ฅผ ์ฐธ๊ณ ํ๋ฉฐ ๊ณต๋ถํ๋ค.
๋ง๋์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง ์๋ ๊ฒ ํ๋ฉด ๊ฐ๋จํ๊ฒ for ๋ฃจํ ๋ถ๋ถ์ ๋ฉํฐ์ฝ์ด๋ฅผ ํ์ฉํ ์ ์๋ค.
// openMP.cpp : ์ฝ์ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ํ ์ง์
์ ์ ์ ์ํฉ๋๋ค.
//
#include "stdafx.h"
int num_steps=100000000;
int _tmain(int argc, _TCHAR* argv[])
{
int i;
double x, step, sum = 0.0;
step = 1.0/(double) num_steps;
int j;
unsigned int sum2= 0;
#pragma omp parallel
{
printf("Hello from thread %d / %d\n",
omp_get_thread_num(),
omp_get_num_threads());
#pragma omp single nowait
for(j=0;j<num_steps;j++)
sum2 += j;
#pragma omp for private(x) reduction(+:sum) schedule(dynamic,10000)
for(i=0;i<num_steps;i++)
{
x = (i+0.5) * step;
sum += 4.0/(1.0 + x*x);
}
}
printf("sum2 %u\n", sum2);
printf("PI = %.8f (sum = %.8f)\n", step*sum, sum);
return 0;
}
์์ฐธ, ์ต์ ์์ openMP ์ง์ ์ต์ ์ ๋ฃ์ด์ผ ํจ. (/openmp)
์ถ๋ ฅ์ ๋ญ ์์ํ๋ ๋๋ก ...
"OpenMP ์ง์:์๋์ค"์ผ ๊ฒฝ์ฐ์๋ ์ฑ๊ธ ์ฝ์ด๋ก ๋์ํ๊ณ ...
"OpenMP ์ง์:์"์ผ ๊ฒฝ์ฐ์๋ ์์คํ ์ฝ์ด ๋งํผ ์ฐ๋ ๋๋ฅผ ์์์ ๋ง๋ค์ด์ ๋์ํจ.
๊ดํ ๋จธ๋ฆฌ ์ํ๊ฒ ๊ณ ๋ฏผํ ํ์์์ด ์ปดํ์ผ ํ ๋ ์ต์ ๋ง ๋ฐ๊ฟ์ ์คํํ์ผ 2๊ฐ ๋ง๋ค๋ฉด ๋จ.
์ฐ์ ํธํ๋ค~!
'๊ฒ์ ํ๋ก๊ทธ๋๋ฐ > ๋ณ๋ ฌ ํ๋ก๊ทธ๋๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฉํฐ ํ๋ก์ธ์ ํ๋ก๊ทธ๋๋ฐ? ๋ณ๋ ฌํ ํ๋ก๊ทธ๋๋ฐ? (0) | 2021.02.14 |
---|---|
OpenMP 3.0์์ 5.1๋ก 10๋ ์ ์๊ฐ ๋ฐ์ด๋๊ธฐ (0) | 2021.02.13 |
C++ ๊ฐ๋ฐ์๋ฅผ ์ํ ๋ณ๋ ฌํ ํ๋ก๊ทธ๋๋ฐ ์ธ๋ฏธ๋ (0) | 2021.02.13 |
OpenMP๋? (0) | 2021.02.13 |