Methods of Matrix Multiplication: An Overview of Several Methods and their Implementation
Ivo Hedtke

TL;DR
This paper reviews various matrix multiplication methods, their C implementations, and compares their performance and stability, providing a foundational overview for further optimization and testing.
Contribution
It presents multiple matrix multiplication algorithms, implements them in C, and offers initial performance and stability comparisons, serving as a basis for future research.
Findings
Naive, Kahan trick, loop unrolling, Winograd, Strassen, and Strassen-Winograd methods compared
Performance differences observed among methods in initial tests
Implementation is unoptimized and preliminary
Abstract
In this overview article we present several methods for multiplying matrices and the implementation of these methods in C. Also a little test program is given to compare their running time and the numerical stability. The methods are: naive method, naive method working on arrays, naive method with the \textsc{Kahan} trick, three methods with loop unrolling, winograd method and the scaled variant, original \textsc{Strassen} method and the \textsc{Strassen}-\textsc{Winograd} variant. Please note, that this is the FIRST version. The algorithms are not well tested and the implementation is not optimized. If you like to join the project, please contact me.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsMatrix Theory and Algorithms · Parallel Computing and Optimization Techniques · Interconnection Networks and Systems
