Computational & Technology Resources
an online resource for computational,
engineering & technology publications
PROCEEDINGS OF THE THIRD INTERNATIONAL CONFERENCE ON PARALLEL, DISTRIBUTED, GRID AND CLOUD COMPUTING FOR ENGINEERING
Edited by: B.H.V. Topping and P. Iványi
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
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 . 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  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  to multiple precision arithmetic libraries (MPFR , MPFI , XBLAS ). 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.
purchase the full-text of this paper (price £20)