Parallel algorithm implementing Strassen’s Algorithm for matrix-matrix multiplication ( Akshay Singh)

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 Pthreads to implement a thread pool and the standard recursive algorithm to create smaller instances of the matrix multiplication. The smaller instances become tasks that can be assigned to threads within the thread pool. The code was intended for Linux OS and includes a makefile to build the application.

Recommended Audience:
Programmers experienced in C/C++ and Pthreads; students of linear algebra with C/C++ and parallel programming skill

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.

There are downloads available under the Creative Commons License license. Download Now
For more complete information about compiler optimizations, see our Optimization Notice.

Comments

Sorry for that the question

Sorry for that the question is not related to your matrix multiplication. I have not been able to find an appropriate forum for this issue. OpenMP implementation varies as the standard does not specify implementation. Is inel uses workqueue model with LIFO or FIFO ?