Improving the Numerical Accuracy of High Performance Computing Programs by Process Specialization
Résumé
In high performance computing, nearly all the implementations and published experiments
use
oating-point arithmetic. However, since
oating-point numbers are nite approximations
of real numbers, it may result in hazards because of the accumulated errors.
These round-o errors may cause damages whose gravity varies depending on the critical
level of the application. To deal with this issue, we have developed a tool which improves
the numerical accuracy of computations by automatically transforming programs
in a source-to-source manner. Our transformation, relies on static analysis by abstract
interpretation and operates on pieces of code with assignments, conditionals, loops, functions
and arrays. In this article, we apply our techniques to optimize a parallel program
representative of the high performance computing domain. Parallelism introduces new numerical
accuracy problems due to the order of operations in this kind of systems. We are
also interested in studying the compromise between execution time and numerical accuracy.
Origine | Fichiers produits par l'(les) auteur(s) |
---|