## A Tensor Product Formulation of Strassen's Matrix Multiplication Algorithm with Memory Reduction

## Abstract

In this article, we present a program generation strategy of Strassen's matrix multiplication algorithm using a programming methodology based on tensor product formulas. In this methodology, block recursive programs such as the fast Fourier Transforms and Strassen's matrix multiplication algorithm are expressed as algebraic formulas involving tensor products and other matrix operations. Such formulas can be systematically translated to high-performance parallel/vector codes for various architectures. In this article, we present a nonrecursive implementation of Strassen's algorithm for shared memory vector processors such as the Cray Y-MP. A previous implementation of Strassen's algorithm synthesized from tensor product formulas required working storage of size O(7 ^{n} ) for multiplying 2 ^{n} × 2 ^{n} matrices. We present a modified formulation in which the working storage requirement is reduced to O(4 ^{n} ). The modified formulation exhibits sufficient parallelism for efficient implementation on a shared memory multiprocessor. Performance results on a Cray Y-MP8/64 are presented.

- Authors:

- Department of Computer and Information Science, The Ohio State University, Columbus, OH 43210-1277, USA
- Department of Computer Science, St. Cloud State University, St. Cloud, MN 56301, USA

- Publication Date:

- Sponsoring Org.:
- USDOE Advanced Research Projects Agency - Energy (ARPA-E)

- OSTI Identifier:
- 1198030

- Resource Type:
- Published Article

- Journal Name:
- Scientific Programming

- Additional Journal Information:
- Journal Name: Scientific Programming Journal Volume: 4 Journal Issue: 4; Journal ID: ISSN 1058-9244

- Publisher:
- Hindawi Publishing Corporation

- Country of Publication:
- Egypt

- Language:
- English

### Citation Formats

```
Kumar, B., Huang, C. -H., Sadayappan, P., and Johnson, R. W. A Tensor Product Formulation of Strassen's Matrix Multiplication Algorithm with Memory Reduction. Egypt: N. p., 1995.
Web. doi:10.1155/1995/636457.
```

```
Kumar, B., Huang, C. -H., Sadayappan, P., & Johnson, R. W. A Tensor Product Formulation of Strassen's Matrix Multiplication Algorithm with Memory Reduction. Egypt. doi:10.1155/1995/636457.
```

```
Kumar, B., Huang, C. -H., Sadayappan, P., and Johnson, R. W. Sun .
"A Tensor Product Formulation of Strassen's Matrix Multiplication Algorithm with Memory Reduction". Egypt. doi:10.1155/1995/636457.
```

```
@article{osti_1198030,
```

title = {A Tensor Product Formulation of Strassen's Matrix Multiplication Algorithm with Memory Reduction},

author = {Kumar, B. and Huang, C. -H. and Sadayappan, P. and Johnson, R. W.},

abstractNote = {In this article, we present a program generation strategy of Strassen's matrix multiplication algorithm using a programming methodology based on tensor product formulas. In this methodology, block recursive programs such as the fast Fourier Transforms and Strassen's matrix multiplication algorithm are expressed as algebraic formulas involving tensor products and other matrix operations. Such formulas can be systematically translated to high-performance parallel/vector codes for various architectures. In this article, we present a nonrecursive implementation of Strassen's algorithm for shared memory vector processors such as the Cray Y-MP. A previous implementation of Strassen's algorithm synthesized from tensor product formulas required working storage of size O(7 n ) for multiplying 2 n × 2 n matrices. We present a modified formulation in which the working storage requirement is reduced to O(4 n ). The modified formulation exhibits sufficient parallelism for efficient implementation on a shared memory multiprocessor. Performance results on a Cray Y-MP8/64 are presented.},

doi = {10.1155/1995/636457},

journal = {Scientific Programming},

number = 4,

volume = 4,

place = {Egypt},

year = {1995},

month = {1}

}

DOI: 10.1155/1995/636457