A Synchronization-Free Algorithm for Parallel Sparse Triangular Solves

Weifeng Liu, A. Li, J. Hogg, IS Duff, Brian Vinter

39 Citations (Scopus)

Abstract

The sparse triangular solve kernel, SpTRSV, is an important building block for a number of numerical linear algebra routines. Parallelizing SpTRSV on today’s manycore platforms, such as GPUs, is not an easy task since computing a component of the solution may depend on previously computed components, enforcing a degree of sequential processing. As a consequence, most existing work introduces a preprocessing stage to partition the components into a group of level-sets or colour-sets so that components within a set are independent and can be processed simultaneously during the subsequent solution stage. However, this class of methods requires a long preprocessing time as well as significant runtime synchronization overhead between the sets. To address this, we propose in this paper a novel approach for SpTRSV in which the ordering between components is naturally enforced within the solution stage. In this way, the cost for preprocessing can be greatly reduced, and the synchronizations between sets are completely eliminated. A comparison with the state-of-the-art library supplied by the GPU vendor, using 11 sparse matrices on the latest GPU device, show that our approach obtains an average speedup of 2.3 times in single precision and 2.14 times in double precision. The maximum speedups are 5.95 and 3.65, respectively. In addition, our method is an order of magnitude faster for the preprocessing stage than existing methods.

Original languageEnglish
Book seriesLecture notes in computer science
Volume9833
Pages (from-to)617-630
ISSN0302-9743
DOIs
Publication statusPublished - 24 Aug 2016

Fingerprint

Dive into the research topics of 'A Synchronization-Free Algorithm for Parallel Sparse Triangular Solves'. Together they form a unique fingerprint.

Cite this