title: I am trying to improve my run times with Chapel for matrix multiplication
body: <p>I am trying to improve my matrix multiplication speed. 
  Is there other implementations I can do that would speed it up
  Here are my results so far, I tried doing 8192 but it took over 2 hours and my ssh connection timed out. 
  <a href="https://i.stack.imgur.com/FJL4J.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/FJL4J.png" alt="enter image description here"></a></p>
  
  <p>here is my implementation:</p>
  
  <pre><code>use Random, Time;
  var t : Timer;
  t.start();
  
  config const size = 10;
  var grid : [1..size, 1..size] real;
  var grid2 : [1..size, 1..size] real;
  var grid3 : [1..size, 1..size] real;
  
  fillRandom(grid);
  fillRandom(grid2);
  
  //t.start();
  forall i in 1..size {
      forall j in 1..size {
          forall k in 1..size {
              grid3[i,j] += grid[i,k] * grid2[k,j];
          }
      }
  }
  t.stop();
  writeln("Done!:");
  writeln(t.elapsed(),"seconds");
  writeln("Size of matrix was:", size);
  t.clear();
  </code></pre>
  
  <p>I am comparing times to an MPI implementation in c++. I am wondering if there is a way to distribute my matrix to my two locales similar to MPI?</p>