Advertisement
Guest User

Untitled

a guest
Mar 31st, 2020
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. //
  2. // Created by otomo on 31.03.20.
  3. //
  4. #include "stdio.h"
  5. #include "omp.h"
  6. #include "stdlib.h"
  7. #include "string.h"
  8.  
  9. int main(int argc, char *argv[]) {
  10.  
  11. if(argc < 3) {
  12. printf("Usage: <matrix_size>");
  13. return EXIT_FAILURE;
  14. }
  15.  
  16. int N = atoi(argv[1]);
  17. int c[N][N];
  18. int d[N][N];
  19.  
  20. int a[N][N], b[N][N], f[N][N], l[N][N];
  21.  
  22. double start, end, actual_time;
  23.  
  24.  
  25. // ========= INIT FIELDS =========
  26. for (size_t i = 0; i < N; ++i) {
  27. for (size_t j = 0; j < N; ++j) {
  28. a[i][j] = rand() % 100 + 1;
  29. b[i][j] = rand() % 100 + 1;
  30. f[i][j] = rand() % 100 + 1;
  31. l[i][j] = rand() % 100 + 1;
  32. }
  33. }
  34.  
  35.  
  36.  
  37.  
  38. // ========= PARALLEL IMPLEMENTATION 2 =========
  39. start = omp_get_wtime();
  40. #pragma omp parallel for
  41. for (size_t j = 0; j < N; ++j) {
  42. #pragma omp parallel for
  43. for (size_t i = 0; i < N; ++i) {
  44. d[i][j] = a[i][j] * b[i][j];
  45. }
  46. }
  47. end = omp_get_wtime();
  48. actual_time = end-start;
  49. printf("Parallel implementation 2: WT Used: %f\n", actual_time);
  50.  
  51. return EXIT_SUCCESS;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement