Reproducibility of Parallel Preconditioned Conjugate Gradient in Hybrid Programming Environments

05/14/2020
by   Roman Iakymchuk, et al.
0

The Preconditioned Conjugate Gradient method is often employed for the solution of linear systems of equations arising in numerical simulations of physical phenomena. While being widely used, the solver is also known for its lack of accuracy while computing the residual. In this article, we propose two algorithmic solutions that originate from the ExBLAS project to enhance the accuracy of the solver as well as to ensure its reproducibility in a hybrid MPI + OpenMP tasks programming environment. One is based on ExBLAS and preserves every bit of information until the final rounding, while the other relies upon floating-point expansions and, hence, expands the intermediate precision. Instead of converting the entire solver into its ExBLAS-related implementation, we identify those parts that violate reproducibility/non-associativity, secure them, and combine this with the sequential executions. These algorithmic strategies are reinforced with programmability suggestions to assure deterministic executions. Finally, we verify these approaches on two modern HPC systems: both versions deliver reproducible number of iterations, residuals, direct errors, and vector-solutions for the overhead of less than 37.7 cores.

READ FULL TEXT

page 1

page 6

research
02/09/2022

Deep Neural Networks to Correct Sub-Precision Errors in CFD

Loss of information in numerical simulations can arise from various sour...
research
05/11/2022

An Efficient Summation Algorithm for the Accuracy, Convergence and Reproducibility of Parallel Numerical Methods

Nowadays, parallel computing is ubiquitous in several application fields...
research
11/09/2018

Precision of the ENDGame: Mixed-precision arithmetic in the iterative solver of the Unified Model

The Met Office's weather and climate simulation code the Unified Model i...
research
02/08/2023

General framework for re-assuring numerical reliability in parallel Krylov solvers: A case of BiCGStab methods

Parallel implementations of Krylov subspace methods often help to accele...
research
03/15/2022

Reproducibility and Performance: Why Choose?

Research processes often rely on high-performance computing (HPC), but H...
research
11/28/2017

HomotopyContinuation.jl - a package for solving systems of polynomial equations in Julia

This paper is gives a short introduction into HomotopyContinuation.jl, a...
research
03/12/2021

FT-GCR: a fault-tolerant generalized conjugate residual elliptic solver

With the steady advance of high performance computing systems featuring ...

Please sign up or login with your details

Forgot password? Click here to reset