skip to main content
10.1145/3337821.3337871acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicppConference Proceedingsconference-collections
research-article

Parallel Algorithms for Evaluating Matrix Polynomials

Published: 05 August 2019 Publication History

Abstract

We develop and evaluate parallel algorithms for a fundamental problem in numerical computing, namely the evaluation of a polynomial of a matrix. The algorithm consists of many building blocks that can be assembled in several ways. We investigate parallelism in individual building blocks, develop parallel implemenations, and assemble them into an overall parallel algorithm. We analyze the effects of both the dimension of the matrix and the degree of the polynomial on both arithmetic complexity and on parallelism, and we consequently propose which variants use in different cases. Our theoretical results indicate that one variant of the algorithm, based on applying the Paterson-Stockmeyer method to the entire matrix, parallelizes very effectively on virtually any matrix dimension and polynomial degree. However, it is not the most efficient from the arithmetic complexity viewpoint. Another algorithm, based on the Davies-Higham block recurrence is much more efficient from the arithmetic complexity viewpoint, but one of its building blocks is serial. Experimental results on a dual-socket 28-core server show that the first algorithm can effectively use all the cores, but that on high-degree polynomials the second algorithm is often faster, in spite of the sequential phase. This indicates that our parallel algorithms for the other phases are indeed effective.

References

[1]
Zhaojun Bai and James W. Demmel. On swapping diagonal blocks in real Schur form. Linear Algebra Appl., 186:73--95, 1993.
[2]
Robert D. Blumofe, Christopher F. Joerg, Bradley C. Kuszmaul, Charles E. Leiserson, Keith H. Randall, and Yuli Zhou. Cilk: An efficient multithreaded runtime system. Journal of Parallel and Distributed Computing, 37(1):55--69, August 25 1996. (An early version appeared in the Proceedings of the Fifth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP '95), pages 207-216, Santa Barbara, California, July 1995.).
[3]
Philip I. Davies and Nicholas J. Higham. A Schur-Parlett algorithm for computing matrix functions. SIAM J. Matrix Anal. Appl., 25(2):464--485, 2003.
[4]
Nicholas J. Higham. Functions of Matrices: Theory and Computation. Society for Industrial and Applied Mathematics, Philadelphia, PA, USA, 2008.
[5]
Niv Hoffman, Oded Schwartz, and Sivan Toledo. Efficient evaluation of matrix polynomials. In Proceedings of the 12th International Conference on Parallel Processing and Applied Mathematics (PPAM), pages 1-12, Lublin, Poland, September 2017.
[6]
Isak Jonsson and Bo Kågström. Recursive blocked algorithms for solving triangular systems, part i: One-sided and coupled Sylvester-type matrix equations. ACM Transactions on Mathematical Software, 28(4):392--415, 2002.
[7]
Charles E. Leiserson. The cilk++ concurrency platform. The Journal of Supercomputing, 51(3):244--257, 2010.
[8]
Charles F. Van Loan. A note on the evaluation of matrix polynomials. IEEE Trans. Automat. Control, AC-24(2):320--321, 1979.
[9]
Beresford N. Parlett. Computation of functions of triangular matrices. Memorandum ERL-M481, Electronics Research Laboratory, College of Engineering, University of California, Berkeley, November 1974.
[10]
Michael S. Paterson and Larry J. Stockmeyer. On the number of nonscalar multiplications necessary to evaluate polynomials. SIAM J. Comput., 2(1):60--66, 1973.
[11]
Volker Strassen. Gaussian elimination is not optimal. Numerische Mathematik, 13:354--356, 1969.
[12]
Amit Waisel. Parallell algorithms for evaluating matrix polynomials. Master's thesis, School of Computer Science, Tel-Aviv University, 2019.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ICPP '19: Proceedings of the 48th International Conference on Parallel Processing
August 2019
1107 pages
ISBN:9781450362955
DOI:10.1145/3337821
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

In-Cooperation

  • University of Tsukuba: University of Tsukuba

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 August 2019

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Matrix Polynomials
  2. Parallel Algorithms
  3. Polynomial Evaluation

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

  • Israel Science Foundation

Conference

ICPP 2019

Acceptance Rates

Overall Acceptance Rate 91 of 313 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 112
    Total Downloads
  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)1
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media