skip to main content
10.1145/1065944.1065965acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
Article

Extracting SMP parallelism for dense linear algebra algorithms from high-level specifications

Published: 15 June 2005 Publication History

Abstract

We show how to exploit high-level information, available as part of the derivation of provably correct algorithms, so that SMP parallelism can be systematically identified. Recent research has shown that loop-based dense linear algebra algorithms can be systematically derived from the mathematical specification of the operation. Fundamental to the methodology is the determination of loop-invariants (in the sense of Dijkstra and Hoare) from which correct loops can be systematically derived. We show how the high-level specification of the operation together with these loop-invariants can be exploited to detect the independence of loop iterations. This in turn then allows a Workqueuing Model to be used to implement and parallelize the algorithms using a feature proposed for OpenMP 3.0, task queues. Although performance is not the main feature of this paper, performance is reported on a 4 CPU Itanium2 server for a concrete example, the symmetric rank-k update operation.

References

[1]
Bientinesi, P., Gunnels, J. A., Myers, M. E., Quintana-Ortí, E. S., and van de Geijn, R. A. The science of deriving dense linear algebra algorithms. ACM Transactions on Mathematical Software 31, 1 (Mar. 2005).
[2]
Bientinesi, P., Quintana-Ortí, E. S., and van de Geijn, R. A. Representing linear algebra algorithms in code: The FLAME application programming interfaces. ACM Transactions on Mathematical Software 31, 1 (Mar. 2005).
[3]
Dongarra, J. J., DuCroz, J., Hammarling, S., and Duff, I. A set of level 3 basic linear algebra subprograms. ACM Transactions on Mathematical Software 16 (1990), 1--28.
[4]
Goto, K., 2004.
[5]
Gunnels, J. A., Gustavson, F. G., Henry, G. M., and van de Geijn, R. A. Flame: Formal linear algebra methods environment. ACM Transactions on Mathematical Software 27, 4 (2001), 422--455.
[6]
Lim, A. W., and Lam, M. S. Maximizing parallelism and minimizing synchronization with affine partitions. Parallel Comput. 24, 3-4 (1998), 445--475.
[7]
Low, T. M., Milfeld, K., van deGeijn, R., and van Zee, F. Parallelizing--ame code with openmp task queues. Tech. Rep. TR 2004-50, The University of Texas at Austin, Department of Computer Sciences, 2004.
[8]
Moler, C., Little, J., and Bangert, S. Pro-Matlab, User's Guide The Mathworks Inc., 1987.
[9]
Quintana-Ortí, E. S., and van de Geijn, R. A. Formal derivation of algorithms: The triangular sylvester equation. ACM Trans. Math. Softw. 29, 2 (2003), 218--243.
[10]
Shah, S., Haab, G., Petersen, P., and Throop, J. Flexible control structures for parallelism in openmp. In First European Workshop on OpenMP (2002).
[11]
Shah, S., Haab, G., Peterson, P., and Throop, J. Flexible control structures for parallelism in OpenMP. In First European Workshop on OpenMP (1999).
[12]
Singhai, S., and McKinley, K. A parameterized loop fusion algorithm for improving parallelism andcache locality, 1997.
[13]
Snir, M., Otto, S. W., Huss-Lederman, S., Walker, D. W., and Dongarra, J. MPI: The Complete Reference The MIT Press, 1996.
[14]
van de Geijn, R. A. Using PLAPACK: Parallel Linear Algebra Package The MIT Press, 1997.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PPoPP '05: Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming
June 2005
310 pages
ISBN:1595930809
DOI:10.1145/1065944
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 June 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. SMP Parallelism
  2. code generation
  3. formal derivation
  4. linear algebra

Qualifiers

  • Article

Conference

PPoPP05
Sponsor:

Acceptance Rates

Overall Acceptance Rate 230 of 1,014 submissions, 23%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)0
Reflects downloads up to 02 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Applying Dijkstra’s Vision to Numerical SoftwareEdsger Wybe Dijkstra10.1145/3544585.3544597(215-230)Online publication date: 12-Jul-2022
  • (2017)A Family of Provably Correct Algorithms for Exact Triangle CountingProceedings of the First International Workshop on Software Correctness for HPC Applications10.1145/3145344.3145484(14-20)Online publication date: 12-Nov-2017
  • (2008)Anatomy of high-performance matrix multiplicationACM Transactions on Mathematical Software10.1145/1356052.135605334:3(1-25)Online publication date: 16-May-2008
  • (2008)Scalable parallelization of FLAME code via the workqueuing modelACM Transactions on Mathematical Software10.1145/1326548.132655234:2(1-29)Online publication date: 19-Mar-2008

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media