CERN Computing Seminar

Computing with Floating Point: - It's not Dark Magic, it's Science

by Florent de Dinechin (ENS Lyon)

Europe/Zurich
IT Auditorium (CERN)

IT Auditorium

CERN

Description
<link rel="stylesheet" type="text/css" href="http://cern.ch/cseminar/CDS/style.css" />

Too many programmers and scientists would define floating-point numbers as 'some kind of fuzzy approximation to the reals in computers, which is usually accurate enough - and when it's not, bad luck'. Unfortunately, this was a fairly accurate description until 1985.

The situation then changed with the IEEE-754 standard for floating-point arithmetic. This standard defines three floating-point formats, four rounding modes, and the complete behaviour of the operators +, -, x, / and square root. In principle, a program involving only these operations is deterministic, portable to any IEEE-754 system, and it becomes possible to prove properties of its numerical behaviour: In short, Science shall prevail. And it is fortunate, as floating-point is increasingly used in airliner flight computers and, it seems, high-energy scientific equipment.

The purpose of this seminar is therefore to convince real-world scientists to approach floating-point with a scientific view. We will first show you that portability is good, but does not guarantee accuracy: in some cases, floating-point will eat all your precision without warning. We will show you how to avoid, or at least detect these traps. We will give examples of floating-point based numerical proofs, and if this frightens you, there will be more experimental approaches to improving the confidence in your floating-point code.

In 2004, however, IEEE-754 compliance still required a tight and harmonious cooperation between a language, a compiler, an operating system and a processor, which is far from being automatic. We will survey these questions. Among the responsibilities of the operating system, the elementary functions (exp, log, the trigonometric functions, etc) were left out of the standard. Our current research goal is to bring them in, and we will explain why it is difficult, and how it is possible.

About the speaker:

Florent de Dinechin received his DEA from the École Normale Supérieure de Lyon (ENS-Lyon) in 1993, and his PhD from Université de Rennes 1 in 1997. After a postdoctoral position at Imperial College, London, he is now a permanent lecturer at ENS-Lyon in the Arénaire team of the Laboratoire de l'Informatique du Parallélisme (LIP). His research interests include computer arithmetic, software and hardware evaluation of functions, computer architecture and FPGAs.


Organiser(s): Julian Blake
Computing Seminars / IT Department
© CERN 2005 - Miguel Angel Marquina / IT Department
more information
transparencies