ACM Home Page
Please provide us with feedback. Feedback
Implementation of Strassen's algorithm for matrix multiplication
Full text PdfPdf (391 KB)
Source Conference on High Performance Networking and Computing archive
Proceedings of the 1996 ACM/IEEE conference on Supercomputing (CDROM) table of contents
Pittsburgh, Pennsylvania, United States
Article No. 32  
Year of Publication: 1996
ISBN:0-89791-854-1
Authors
Steven Huss-Lederman  Computer Sciences Department, University of Wisconsin-Madison, 1210 W. Dayton St., Madison, WI
Elaine M. Jacobson  Center for Computing Sciences, 17100 Science Dr., Bowie, MD
Anna Tsao  Center for Computing Sciences, 17100 Science Dr., Bowie, MD
Thomas Turnbull  Center for Computing Sciences, 17100 Science Dr., Bowie, MD
Jeremy R. Johnson  Department of Mathematics and Computer Science, Drexel University, Philadelphia, PA
Sponsor
SIGARCH: ACM Special Interest Group on Computer Architecture
Publisher
IEEE Computer Society  Washington, DC, USA
Bibliometrics
Downloads (6 Weeks): 58,   Downloads (12 Months): 515,   Citation Count: 10
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/369028.369096
What is a DOI?

ABSTRACT

In 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 than those generally used, thus allowing enhanced performance for a larger set of input sizes. In addition, we deal with odd matrix dimensions using a method whose usefulness had previously been in question and had not so far been demonstrated. Our memory requirements have also been reduced, in certain cases by 40 to more than 70 percent over other similar implementations. We measure performance of our code on the IBM RS/6000, CRAY YMP C90, and CRAY T3D single processor, and offer comparisons to other codes. Finally, we demonstrate the usefulness of our implementation by using it to perform the matrix multiplications in a large application code.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
 
3
 
4
 
5
J. Cohen and M. Roth. On the implementation of Strassen's fast multiplication algorithm. Acta Informatica, 6:341-355, 1976.
 
6
7
 
8
 
9
 
10
11
12
 
13
J. E. Hopcroft and L. R. Kerr. Some techniques for proving certain simple programs optimal. In Proceedings, Tenth Annual Symposium on Switching and Automata Theory, pages 36-45, 1969.
 
14
S. Huss-Lederman, E. M. Jacobson, J. R. Johnson, A. Tsao, and T. Turnbull. Strassen's algorithm for matrix multiplication: Modeling, analysis, and implementation. Technical report, Center for Computing Sciences, 1996. Technical Report CCS-TR-96-147.
 
15
 
16
IBM Engineering and Scientific Subroutine Library Guide and Reference, 1992. Order No. SC23-0526.
 
17
P. A. Knight. Fast rectangular matrix multiplication and QR decomposition. Linear Algebra Appl., 221:69-81, 1995.
 
18
R. L. Probert. On the additive complexity of matrix multiplication. SIAM Journal of Computing, 5(6):187-203, 1976.
 
19
V. Strassen. Gaussian elimination is not optimal. Numer. Math., 13:354-356, 1969.

CITED BY  10

Collaborative Colleagues:
Steven Huss-Lederman: colleagues
Elaine M. Jacobson: colleagues
Anna Tsao: colleagues
Thomas Turnbull: colleagues
Jeremy R. Johnson: colleagues