Facebook
From Ungracious Treeshrew, 6 Years ago, written in C++.
Embed
Download Paste or View Raw
Hits: 263
  1. void multiply_matrices_IKJ()
  2. {
  3.         for (int i = 0; i < ROWS; i++)
  4.                 for (int k = 0; k < COLUMNS; k++)
  5.                         for (int j = 0; j < COLUMNS; j++)
  6.                                 matrix_r[i][j] += matrix_a[i][k] * matrix_b[k][j];
  7.  
  8. }
  9.  
  10. void multiply_matrices_IKJ_ATOMIC()
  11. {
  12. #pragma omp parallel for
  13.         for (int i = 0; i < ROWS; i++)
  14.                 for (int k = 0; k < COLUMNS; k++)
  15.                         for (int j = 0; j < COLUMNS; j++)
  16.                         {
  17. #pragma omp atomic
  18.                                 matrix_r[i][j] += matrix_a[i][k] * matrix_b[k][j];
  19.                         }
  20. }