Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2017
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.98 KB | None | 0 0
  1. #include <iostream>
  2. #include <omp.h>
  3. #include <ctime>
  4. #include <fstream>
  5. #include <time.h>
  6. #include <cstdlib>
  7.  
  8. using namespace std;
  9.  
  10. int main()
  11. {
  12.  
  13. omp_set_num_threads(8);
  14. srand (time(NULL));
  15. ofstream zapis("wynik.txt");
  16. int x = 750;
  17. int A[x][x];
  18. int B[x][x];
  19. int C[x][x];
  20. int c = 0;
  21. int i, j, k;
  22.  
  23. int alpha = 3;
  24. int beta = 2;
  25.  
  26. for(int i = 0 ; i < x ; i++) {
  27.     for(int j = 0 ; j < x ; j++) {
  28.         A[i][j] = rand() % 100; //liczby z zakresu 0-99
  29.         B[i][j] = rand() % 100;
  30.         C[i][j] = rand() % 100;
  31.     }
  32. }
  33.  
  34. double pocz = omp_get_wtime();
  35.  
  36. #pragma omp parallel for shared(x,A,B,C) private(i,j,k,c)
  37. for(i = 0 ; i < x ; i++) {
  38.     for(j = 0 ; j < x ; j++) {
  39.         c = 0;
  40.         for(k = 0 ; k < x ; k++) {
  41.             c = c + A[k][i]*B[j][k];
  42.         }
  43.         C[j][i] = alpha*c + beta*C[j][i];
  44.     }
  45. }
  46.  
  47. double koniec = omp_get_wtime();
  48.  
  49. cout<<"Time: "<<koniec-pocz<<endl;
  50. zapis<<"Time: "<<koniec-pocz<<endl;
  51.  
  52. return 0;
  53.  
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement