Mam, jak dla mnie, bardzo duży problem.. a mianowicie potrzebuję by ktoś wytłumaczył mi, jak obliczyć złożoność czasową, przyśpieszenie, efektywność oraz koszt na podstawie tego oto programu:
#include <stdio.h>
#include <stdlib.h>
#define N 10
int main() {
int a[N][N],b[N],s;
int j,i,m;
for (i=0;i<N;i++)
for (j=0;j<N;j++) a[i][j]=i+j;
#pragma omp parallel private(i, j, s) num_threads(4)
{
#pragma omp for
for (i=0;i<N;i++) {
s=0;
for (j=0;j<N;j++) s=s+a[i][j];
b[i]=s;
}
m=b[0];
#pragma omp for
for (j=0;i<N;j++) if (m>b[j]) m=b[j];
}
for (i=0;i<N;i++) printf("a=%d\n", b[i]);
printf("m=%d\n", m);
return 0;
}
czy ktoś byłby w stanie wytłumaczyć mi to w dość proty i zrozumiały sposób?
chwytam się już naprawdę ostatniej deski ratunku.. :(