Parallel Computing with Strassen’s Matrix-Multiplication Algorithm

  • Tech Stack: OpenMP, Parallel Computing, Parallel Algorithms

Parallel Implementation with OpenMP: Developed a parallelized version of Strassen’s recursive matrix-multiplication algorithm using OpenMP for shared-memory architectures, optimizing performance for matrices of size n = 2ᵏ

Optimized Computational Complexity: Improved upon the standard O(n³) matrix multiplication by reducing the number of multiplications to 7 and achieving an asymptotic complexity of O(n²·⁸), significantly enhancing efficiency

Performance Evaluation & Analysis: Conducted extensive experiments to measure speedup and efficiency across varying matrix sizes and terminal thresholds (k′), analyzing the impact on parallel performance and scalability

Comprehensive Documentation: Included detailed compilation and execution guides along with performance plots, explaining design decisions and insights gained during the parallel optimization process