implemented cannon's algorithm for omp