Numerical reproducibility for the parallel reduction on multi- and many-core architectures

•A parallel algorithm to compute correctly-rounded floating-point sums•Highly-optimized implementations for modern CPUs, GPUs and Xeon Phi•As fast as memory bandwidth allows for large sums with moderate dynamic range•Scales well with the problem size and resources used on a cluster of compute nodes...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Parallel computing 2015-11, Vol.49, p.83-97
Hauptverfasser: Collange, Caroline, Defour, David, Graillat, Stef, Iakymchuk, Roman
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:•A parallel algorithm to compute correctly-rounded floating-point sums•Highly-optimized implementations for modern CPUs, GPUs and Xeon Phi•As fast as memory bandwidth allows for large sums with moderate dynamic range•Scales well with the problem size and resources used on a cluster of compute nodes On modern multi-core, many-core, and heterogeneous architectures, floating-point computations, especially reductions, may become non-deterministic and, therefore, non-reproducible mainly due to the non-associativity of floating-point operations. We introduce an approach to compute the correctly rounded sums of large floating-point vectors accurately and efficiently, achieving deterministic results by construction. Our multi-level algorithm consists of two main stages: first, a filtering stage that relies on fast vectorized floating-point expansion; second, an accumulation stage based on superaccumulators in a high-radix carry-save representation. We present implementations on recent Intel desktop and server processors, Intel Xeon Phi co-processors, and both AMD and NVIDIA GPUs. We show that numerical reproducibility and bit-perfect accuracy can be achieved at no additional cost for large sums that have dynamic ranges of up to 90 orders of magnitude by leveraging arithmetic units that are left underused by standard reduction algorithms.
ISSN:0167-8191
1872-7336
DOI:10.1016/j.parco.2015.09.001