Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <omp.h>
- const int n=2000;
- double matrica_rezultat[n][n];
- double t1,t2, t_ukupno_1, t_ukupno_2;
- using namespace std;
- int main(int argc, char* argv[]) {
- t_ukupno_1=omp_get_wtime();
- int br_niti=5;
- double **matrica;
- double **matrica_dva;
- int i,j,k = 0;
- matrica = new double *[n];
- for (int count = 0; count < n; count++)
- matrica[count] = new double [n];
- matrica_dva = new double *[n];
- for (int count = 0; count < n; count++)
- matrica_dva[count] = new double [n];
- for(i=0;i<n;i++){
- for(j=0;j<n;j++){
- matrica[i][j]=i+1.1555333;
- matrica_dva[i][j]=i+1.178245;
- }
- }
- cout<<endl;
- cout << "broj aktivnih niti: "<< omp_get_num_threads() <<endl;
- omp_set_num_threads(br_niti);
- t1=omp_get_wtime();
- #pragma omp parallel shared(matrica, matrica_dva, matrica_rezultat) private(i, j, k)
- {
- #pragma omp for
- for(i=0; i<n; ++i)
- for(j=0; j<n; ++j)
- for(k=0; k<n; ++k) {
- matrica_rezultat[i][j]+=matrica[i][k]*matrica_dva[k][j];
- }
- }
- t2=omp_get_wtime();
- cout<<"paralelno vrijeme: "<<t2-t1<<" s"<<endl;
- t_ukupno_2=omp_get_wtime();
- cout<<"Ukupno vrijeme: "<<t_ukupno_2-t_ukupno_1<<" s"<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement