Tutorial: Multiple Double and Multiword Arithmetic

Jan Verschelde, University of Illinois at Chicago

A multiple double is an unevaluated sum of nonoverlapping doubles, which represents a multiprecision floating-point number, where a double is typically a 64-bit floating-point number. Multiple double arithmetic benefits directly from hardware floating-point operations, which causes less cost overhead from true multiprecision arithmetic. Postponing renormalizations of multiple doubles leads to multiword arithmetic, leading to more efficient vectorizations.

Presentation topics

  • Definitions and basic concepts of multiple double arithmetic.
  • Description of Ada packages implementing multiple double arithmetic.
  • Examples of applications to linear algebra and polynomial root finders.
  • Reduction of the cost overhead by multithreading with Ada tasks.
  • Quality up: if we can afford to spend the same time on one processor, then how much more accurate can the results become with p processors? Quality up factors are often more meaningful than speedup.
  • Extension to multiword arithmetic and vectorization.

Duration: half-day

Intended target audience: Developers of applications where hardware arithmetic is insufficient to guarantee accurate results.

Level of contents: Intermediate

Basic familiarity with programming and some numerical analysis, although the lectures will be made as self-contained as possible. All demonstration code will be made available via github.

Reason for attending

Once upon a time, the switch was made from 32-bit floats to 64-bit doubles as the standard precision for numerical computations. Thanks to faster computers, it is time to consider using higher precisions

Presenter

Jan Verschelde obtained his PhD in Computer Science in 1996 at the Katholieke Universiteit Leuven (KUL). After postdoctoral fellowships at the KUL, Michigan State University, and the Mathematical Sciences Research Institute, he became a professor in the department of Mathematics, Statistics and Computer Science at the University of Illinois at Chicago (UIC) in 2000. The focus of his research is on algorithms and software to solve systems of polynomial equations, a problem in computational algebraic geometry. He is the main developer of PHCpack, a free and open source software package. The source code is at https://github.com/janverschelde/PHCpack. For more info, visit http://www.math.uic.edu/~jan.