Implementation of Strassen's algorithm for matrix multiplication

  • Authors:
  • Steven Huss-Lederman;Elaine M. Jacobson;Anna Tsao;Thomas Turnbull;Jeremy R. Johnson

  • Affiliations:
  • Computer Sciences Department, University of Wisconsin-Madison, 1210 W. Dayton St., Madison, WI;Center for Computing Sciences, 17100 Science Dr., Bowie, MD;Center for Computing Sciences, 17100 Science Dr., Bowie, MD;Center for Computing Sciences, 17100 Science Dr., Bowie, MD;Department of Mathematics and Computer Science, Drexel University, Philadelphia, PA

  • Venue:
  • Supercomputing '96 Proceedings of the 1996 ACM/IEEE conference on Supercomputing
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

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.