The included source code implements Strassen’s Algorithm for matrix-matrix multiplication in parallel, as described in the included problem description text file. The parallel algorithm uses OpenMP to implement the standard recursive algorithm. However, to better load balance the work assigned to threads, the code has been written to handle non-square matrix instances by detecting small matrix dimensions and not subdividing such matrices. The code was intended for Linux OS and includes a makefile to build the application.
DISCLAIMER: This code is provided by the author as a submitted contest entry, and is intended for educational use only. The code is not guaranteed to solve all instances of the input data sets and may require modifications to work in your own specific environment.