OpenMP - pomoc.

0

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.. :(

0

Zasada nr 1 w programowaniu: formatuj kod. Wtedy nagle kod staje się zrozumiały ;]

0

taaak, wszyscy programiści są uczuleni na tym punkcie. ale mnie nie chodzi o zrozumienie kodu, bo wiem, co tu się dzieje, tylko o obliczenie złożoności czasowej tego zrównoleglonego programu. ;)

0

I myslisz, ze ktos na to spojrzy tylko z tego, ze znalazles sobie jakis wykret od formatowania? gl.

0

jeżeli masz z tym taki problem, to naprawde nikt Ci nie każe..

1 użytkowników online, w tym zalogowanych: 0, gości: 1