A survey of recent developments in parallel implementations of Gaussian elimination

Simplice Donfack, Jack Dongarra, Mathieu Faverge, Mark Gates, Jakub Kurzak, Piotr Luszczek, Ichitaro Yamazaki

Research output: Contribution to journalArticlepeer-review

25 Scopus citations

Abstract

SummaryGaussian elimination is a canonical linear algebra procedure for solving linear systems of equations. In the last few years, the algorithm has received a lot of attention in an attempt to improve its parallel performance. This article surveys recent developments in parallel implementations of Gaussian elimination for shared memory architecture. Five different flavors are investigated. Three of them are based on different strategies for pivoting: partial pivoting, incremental pivoting, and tournament pivoting. The fourth one replaces pivoting with the Partial Random Butterfly Transformation, and finally, an implementation without pivoting is used as a performance baseline. The technique of iterative refinement is applied to recover numerical accuracy when necessary. All parallel implementations are produced using dynamic, superscalar, runtime scheduling and tile matrix layout. Results on two multisocket multicore systems are presented. Performance and numerical accuracy is analyzed.

Original languageEnglish
Pages (from-to)1292-1309
Number of pages18
JournalConcurrency and Computation: Practice and Experience
Volume27
Issue number5
DOIs
StatePublished - Apr 10 2015
Externally publishedYes

Funding

FundersFunder number
National Science Foundation

    Keywords

    • Gaussian elimination
    • LU factorization
    • multicore
    • parallel
    • shared memory

    Fingerprint

    Dive into the research topics of 'A survey of recent developments in parallel implementations of Gaussian elimination'. Together they form a unique fingerprint.

    Cite this