ABSTRACT
In the realm of computer science and optimization, matrices are fundamental components with a significant role across diverse applications. Matrix multiplication stands as a pivotal operation, and enhancing the efficiency of serial matrix multiplication algorithms holds key importance. This project focuses on optimizing matrix multiplication on a single computing device by exploring algorithmic approaches and optimization techniques. Matrices provide structured data representation, serving purposes ranging from dataset representation, data transformation in computer graphics, image processing, physical system modeling, to mathematical equation solving. This project concentrates specifically on algorithms for matrix multiplication. The standard algorithm computes matrix entries by directly multiplying corresponding input entries, though its efficiency degrades for larger matrices due to its high time complexity. Other algorithms like Strassen's algorithm reduce multiplications or exploit parallelism for efficiency. They employ techniques like divide-and-conquer, fast matrix multiplication, and parallel processing. In this work, these algorithms are analyzed in terms of their concepts, time complexities, and advantages. Practical performance factors like matrix size, hardware architecture, memory needs, cache efficiency, and arithmetic complexity are also explored. Through benchmarking and evaluation on standard platforms, insights into their strengths and weaknesses regarding speed and resource utilization are sought. The ultimate goal is to elevate the efficiency of serial matrix multiplication algorithms in computer science and optimization. By studying and implementing a spectrum of algorithms, the project contributes to optimizing computations and enhancing matrix operation performance across scientific and engineering domains.
- Fengguang Song and Jack Dongarra. 2014. Scaling up matrix computations on shared-memory manycore systems. Retrieved Jul. 11, 2023. From https://cs.iupui.edu/∼fgsong/publication/ics14.pdfGoogle Scholar
- Grey Ballard, James Demmel, and Olga Holtz. 2012. Communication-optimal parallel algorithm for Strassen's matrix. Retrieved Jun. 24 2023. From Communication-optimal parallel algorithm for Strassen's matrixGoogle Scholar
- Chou Chungchiang, Yuefan Deng, G. Li, and Y. Wang. 1995. Parallelizing Strassen's method for matrix multiplication on distributed-memory mimd architectures. Retrieved Jun. 28, 2023. From https://www.sciencedirect.com/science/article/pii/089812219500077CGoogle Scholar
- Ballard, G., & Demmel, J.. 2012. Communication-optimal parallel algorithm for Strassen's matrix. Retrieved Jul. 1, 2023. From https://www.semanticscholar.org/paper/Communication-optimal-parallel-algorithm-for-matrix-Ballard-Demmel/b552e263ca2e1a27149fd847aac971e2749e8bdeGoogle Scholar
- Duc Kien Nguyen, Ivan Lavallee, and Marc Bui. 2010. Generalizing of a High Performance Parallel Strassen Implementation on Distributed Memory MIMD Architectures. Retrieved Jun. 20, 2023. From https://subs.emis.de/LNI/Proceedings/Proceedings165/359.pdfGoogle Scholar
Index Terms
- Large Matrix Multiplication Algorithms: Analysis and Comparison
Recommendations
Error Complexity Analysis of Algorithms for Matrix Multiplication and Matrix Chain Product
The error complexity analysis of three algorithms for matrix multiplication and matrix chain product has been given. It is shown that the usual inner product type algorithm is by far the best algorithm for simple matrix multiplication or matrix chain ...
Strassen's Matrix Multiplication on GPUs
ICPADS '11: Proceedings of the 2011 IEEE 17th International Conference on Parallel and Distributed SystemsWe provide efficient single-precision and integer GPU implementations of Strassen's algorithm as well as of Winograd's variant. On an NVIDIA C1060 GPU, a speedup of 32% (35%) is obtained for Strassen's 4-level implementation and 33% (36%) for Winograd's ...
Implementation of Strassen's algorithm for matrix multiplication
Supercomputing '96: Proceedings of the 1996 ACM/IEEE conference on SupercomputingIn this paper we report on the development of an efficient and portable implementation of Strassen's matrix multiplication algorithm for matrices of arbitrary size. Our technique for defining the criterion which stops the recursions is more detailed ...
Comments