Programare paralelă
 
  
Exemple de cod
reduction(<op> : <var>)
 

#include <omp.h>
#include <iostream>
#include <conio.h>

using namespace std ;

#define n 100

void main()
{
    int i;
    float a[n], b[n];
    float sum = 0;

    for(i=0; i<n; i )  // Initializarea valorilor
    {
   a[i] = i;
   b[i] = 2*i;
    }

    // Iteratiile instructiunii for ce urmeaza dupa #pragma sunt repartizate intre procesoare
    #pragma omp parallel for private(i) shared(a, b) reduction( :sum) // Suma ( ) se va acumula in sum
    for(i=0; i<n; i )       // Ciclul este paralelizat automat, 
     sum = a[i]*b[i];    // iar rezultatul de la toate procesoarele se acumuleaza in sum

    cout << "sum = " << sum << endl;
    getch();
}
  </> 21.06.2009
arr_d Limba / Language


 


arr_r Login

Flag Counter