티스토리 뷰
#include <stdio.h>
#include <omp.h>
#define N 20
int main(int argc, char** argv)
{
int i, j;
int a[N];
if(argc < 2)
return 0;
int nn = atoi(argv[1]);
if(nn == 0)
{
#pragma omp parallel for shared(j)
for(i = 0; i < N ; i++)
{
int sum = 0;
for(j = 0; j < i ; j++)
{
a[i] += j;
}
}
}
else if (nn == 1)
{
#pragma omp parallel for private(j)
for(i = 0; i < N ; i++)
{
int sum = 0;
for(j = 0; j < i ; j++)
a[i] += j;
}
}
else if (nn == 2)
{
#pragma omp parallel for
for(i = 0 ; i < N ; i++ )
{
int j = 0;
for(j = 0; j < i ; j++)
a[i] += j;
}
}
for(i = 0; i < N ; i++)
{
printf("%d\n",a[i]);
}
return 0;
}
' la fermata, 개발 > OpenMP' 카테고리의 다른 글
행렬 곱셈 nest loop 2가지 사용해보기 (0) | 2019.02.19 |
---|---|
병렬 합 / shared, atomic, reduction 사용해보기 (0) | 2019.02.19 |
스케쥴 사용하기 (static, dynamic, guided) (0) | 2019.02.19 |
행렬 곱셈 parallel / parallel for (0) | 2019.02.19 |
Reduction 간단 예제 (0) | 2019.02.19 |