Computational & Technology Resources
an online resource for computational,
engineering & technology publications
Civil-Comp Proceedings
ISSN 1759-3433
CCP: 101
Edited by: B.H.V. Topping and P. Iványi
Paper 23

Using Compensated Algorithms to Improve the Accuracy of a Parallel Hydrodynamic Software Suite

S. Montan1, C. Denis1, D.R. Emerson2 and C. Moulinec2

1EDF R&D, Clamart, France
2STFC Daresbury Laboratory - Scientific Computing Department, Warrington, United Kingdom

Full Bibliographic Reference for this paper
S. Montan, C. Denis, D.R. Emerson, C. Moulinec, "Using Compensated Algorithms to Improve the Accuracy of a Parallel Hydrodynamic Software Suite", in B.H.V. Topping, P. Iványi, (Editors), "Proceedings of the Third International Conference on Parallel, Distributed, Grid and Cloud Computing for Engineering", Civil-Comp Press, Stirlingshire, UK, Paper 23, 2013. doi:10.4203/ccp.101.23
Keywords: hydrodynamics, high-performance computing, discrete stochastic arithmetic, numerical validation, compensated algorithms, accurate dot product.

Numerical verification of codes is crucial, especially for industry. It is required to estimate the precision and the quality of the computed results. It is actually even more important nowadays that most codes are run in high performance computing environments where billions of instructions are performed per second. This paper focuses on the numerical quality of results computed using a two-dimensional shallow water equation code. Our main goal is to identify potential sources of numerical instabilities of the code, and to present ways to correct these problems. The code used in this work is TELEMAC-2D [1]. This code is contained in the TELEMAC system which is developed by the EDF National Hydraulics and Environment Laboratory. Written in Fortran 90, it has been designed to simulate flows with free surface hydrodynamics, sediment transport, water quality, wave propagation and also underground flows. We used the CADNA software [2] to study the numerical quality of TELEMAC-2D computed results. We noticed three main points: i) depending on the convection scheme used, we do not detect the same type of instability; ii) the main instabilities are cancelations, unstable multiplications and branching instabilities; iii) 30% of instabilities come from dot product functions. The dot product is one of the most basic tasks in numerical analysis. Consequently, accurate dot products are required by a lot of applications. For instance, the dot product algorithm is used in TELEMAC-2D to iteratively solve sparse linear systems and to compute the residual in iterative methods. To improve the accuracy of the dot product, we compared compensated algorithms [3] to multiple precision arithmetic libraries (MPFR [4], MPFI [5], XBLAS [6]). We show that the Dot2 algorithm is the best compromise for TELEMAC-2D. Finally, we have implemented the compensated algorithm DOT2. We show that the implementation of this algorithm in TELEMAC-2D impacts only slightly the performance of code.

In summary, we show in this paper that it is possible to compute more accurately without degrading the parallel performance of industrial codes. Based on our current results, it is difficult to estimate the real impact of compensated algorithms on the results, even if we strongly believe that we improve the computed results accuracy.

J. Hervouet, "Hydrodynamics of Free Surface Flows: Modelling with the finite element method", Wiley, 2007.
F. Jézéquel, J. Chesneaux, J. Lamotte, "A new version of the CADNA library for estimating round-off error propagation in Fortran programs", Computer Physics Communications, 181(11): 1927-1928, 2010.
T. Ogita, S. Rump, S. Oishi, "Accurate sum and dot product", SIAM J. on Scient. Comput., 26(6):1955-1988, 2005.
L. Fousse, G. Hanrot, V. Lefèvre, P. Pélissier, P. Zimmermann, "MPFR: A multiple-precision binary floating-point library with correct rounding", ACM Transactions on Mathematical Software (TOMS), 33(2): 13, 2007.
N. Revol, F. Rouillier, "Motivations for an arbitrary precision interval arithmetic and the MPFI library", Reliable Computing, 11(4): 275-290, 2005.
X. Li, J. Demmel, D. Bailey, G. Henry, Y. Hida, J. Iskandar, W. Kahan, S. Kang, A. Kapur, M. Martin, et al., "Design, implementation and testing of extended and mixed precision BLAS", ACM Transactions on Mathematical Software (TOMS), 28(2): 152-205, 2002.

purchase the full-text of this paper (price £20)

go to the previous paper
go to the next paper
return to the table of contents
return to the book description