313     
 Pentru a executa in paralel 2 portiuni de cod (in acest articol se vor aduna 2 matrici) folosind OpenMP, se folosesc 2 blocuri omp section, aceste 2 blocuri fiind cuprinse intr-un bloc omp parallel sections.
 Exemplu:
 Avem 4 matrici, A,B,C,D pe care vrem sa le adunam astfel: X=A+B, Y=C+D si la final Z=X+Y.
 Pentru ca acest program sa se execute intr-un timp cat mai scurt, vom paraleliza cele 2 operatii de adunare: X=A+B si Y=C+D.
Cod sursa:
#pragma omp parallel sections private(i,j) shared(A,B,C,D,X,Y)
{
#pragma omp section
for(i=0; i<n; ++i) 
    for(j=0; j<n; ++j) 
          X[i][j] = A[i][j]+B[i][j];
#pragma omp section
for(i=0; i<n; ++i) 
   for(j=0; j<n; ++j) 
      Y[i][j] = C[i][j]+D[i][j];
} iar la final adunam cele 2 rezultate:
for(i=0; i<n; ++i) 
   for(j=0; j<n; ++j) 
      Z[i][j] = X[i][j]+Y[i][j]; 

 
0 comentarii