La multiplication de la matrice OpenMP C ++ s'exécute plus lentement en parallèle

Je suis en train d'apprendre les bases de la parallèle de l'exécution de la boucle for en utilisant OpenMP.

Malheureusement, mon paralel programme s'exécute 10x plus lent que la version de série.
Ce que je fais mal? Je suis pas certains obstacles?

double **basicMultiply(double **A, double **B, int size) {
   int i, j, k;
   double **res = createMatrix(size);
   omp_set_num_threads(4);
   #pragma omp parallel for private(k)
   for (i = 0; i < size; i++) {
      for (j = 0; j < size; j++) {
         for (k = 0; k < size; k++) {
            res[i][j] += A[i][k] * B[k][j];
         }
      }
   }
   return res;
}

Merci beaucoup!

source d'informationauteur Hynek Blaha