Next: Architectural details Up: Motivation: an example Previous: Motivation: an example

Initial version

/* 
 * mm: Multiply A by B leaving the 
 *     result in C.
 *     The result matrix is assumed 
 *     to be initialised to zero.
 */
void mm1(A,B,C)
     double A[512][512], 
            B[512][512], 
            C[512][512];
{
  int i, j, k;

  for (i = 0; i < 512; i++)
    for (j = 0; j < 512; j++)
      for (k = 0; k < 512; k++)
        C[i][j] += A[i][k] * B[k][j];
}