title: omp parallel doesn't give any performance increase for matrix multiplication
body: <p>I'm using following 2 code blocks to compute matrix multiplication serially and parallel.</p>
  
  <p>Serial - </p>
  
  <pre><code>double** ary1 = new double*[in];
  double** ary2 = new double*[in];
  double** result = new double*[in];
  for (int i=0;i&lt;in;i++){
      for (int j=0;j&lt;in;j++){
          result[i][j] = 0;
          for(int k = 0;k&lt;in; k++){
              result[i][j] += ary1[i][k]*ary2[k][j];
          }
      }
  }
  </code></pre>
  
  <p>Parallel - </p>
  
  <pre><code>double** ary1 = new double*[in];
  double** ary2 = new double*[in];
  double** resultsP = new double*[in];
  #pragma omp parallel for 
  for(int i=0;i&lt;size;i++){
    int raw = i/in;
    int column = i%in;
    double sum =0;
    for(int k = 0; k &lt; in; k++){
         resultsP[raw][column] += ary1[raw][k]*ary2[k][column];
    }
    resultsP[raw][column] = sum;
  }
  </code></pre>
  
  <p>I ran both in quad-core computer, but get same results.
  Why I don't get performance increased by running this parrellely?
  Does accessing ary1, ary2, resultsP shared arrays inside parellel loop cause them to run serially?</p>