Reproducibility strategies for parallel Preconditioned Conjugate Gradient

Roman Iakymchuk*, Maria Barreda, Matthias Wiesenberger, José I. Aliaga, Enrique S. Quintana-Ortí

*Corresponding author for this work

Research output: Contribution to journalJournal articleResearchpeer-review


The Preconditioned Conjugate Gradient method is often used in numerical simulations. While being widely used, the solver is also known for its lack of accuracy while computing the residual. In this article, we aim at a twofold goal: enhance the accuracy of the solver but also ensure its reproducibility in a message-passing implementation. We design and employ various strategies starting from the ExBLAS approach (through preserving every bit of information until final rounding) to its more lightweight performance-oriented variant (through expanding the intermediate precision). These algorithmic strategies are reinforced with programmability suggestions to assure deterministic executions. Finally, we verify these strategies on modern HPC systems: both versions deliver reproducible number of iterations, residuals, direct errors, and vector-solutions for the overhead of only 29% (ExBLAS) and 4% (lightweight) on 768 processes.
Original languageEnglish
Article number112697
JournalJournal of Computational and Applied Mathematics
Number of pages13
Publication statusPublished - 2020


  • Reproducibility
  • Accuracy
  • Floating-point expansion
  • Long accumulator
  • Preconditioned Conjugate Gradient
  • High-Performance Computing


Dive into the research topics of 'Reproducibility strategies for parallel Preconditioned Conjugate Gradient'. Together they form a unique fingerprint.

Cite this