Cannon's algorithm for matrix multiplication