Fast Strassen-based A^t A Parallel Multiplication
Matrix multiplication A^t A appears as intermediate operation during the solution of a wide set of problems. In this paper, we propose a new cache-oblivious algorithm for the A^t A multiplication. Our algorithm, A𝖳A, calls classical Strassen's algorithm as sub-routine, decreasing the computational cost performed products) of the conventional A^t A multiplication to 2/7n^log_2 7. It works for generic rectangular matrices and exploits the peculiar symmetry of the resulting product matrix for sparing memory. We used the MPI paradigm to implement A𝖳A in parallel, and we tested its performances on a small subset of nodes of the Galileo cluster. Experiments highlight good scalability and speed-up, also thanks to minimal number of exchanged messages in the designed communication system. Parallel overhead and inherently sequential time fraction are negligible in the tested configurations.
READ FULL TEXT