Team Arénaire

Overall Objectives
Scientific Foundations
Application Domains
New Results
Contracts and Grants with Industry
Other Grants and Activities

Section: Overall Objectives

Keywords : Computer arithmetic, integer computation, approximated computation, floating-point representation, elementary function, reliability of numerical software, multiple-precision arithmetic, interval arithmetic, computer algebra, finite field, linear algebra, VLSI circuit, FPGA circuit, low-power operator.

Overall Objectives

The Arénaire project aims at elaborating and consolidating knowledge in the field of Computer Arithmetic . Reliability, accuracy, and performance are the major goals that drive our studies.

We contribute to the improvement of the available arithmetic, at the hardware level as well as at the software level, on computers, processors, dedicated or embedded chips, etc. Improving computing does not necessarily mean getting more accurate results or getting them more quickly: we also take into account other constraints such as power consumption, or the reliability of numerical software.

Whatever the target (hardware or software), the choice of the number system (and, more generally, of the data representation) is of uttermost importance. Typical examples are the redundant number systems (e.g., carry-save, borrow-save). Such systems are used inside multipliers, dividers, etc. The input and output operands of these operators are represented in a conventional number system: only their internal calculations are performed in redundant arithmetic. For a general purpose microprocessor, floating-point arithmetic seems an unavoidable choice (even if current implementations can certainly be improved), but for special purpose systems, other ways of representing numbers might prove more useful (fixed-point format, some special redundant systems). The ways of representing the elements of a finite field are not standardized, and have strong impact on the performance of a special purpose circuit. On a higher level, the performance of an interval arithmetic depends on the underlying real arithmetic.

The conception of a hardwired operator is not only assembling small parts. The designer must also take into account numerous technological constraints and data. Due to the quick evolution of technologies, it is for instance necessary to master the placement and routing tools, if one wishes to design efficient chips. The power consumption of an integrated circuit depends, among other parameters, on its activity, which in turn depends on the value of the inputs: this makes the choice of the number system crucial. Some encodings are used specially in fast algorithms, some others minimize energy consumption.

Computer designers have always needed to implement the basic arithmetic functions (with software or hardware), for a medium-size precision (say, on words from 8 to 128 bits). Of course, addition and multiplication have been much studied, but their performance is still critical concerning silicon area (for multiplication) or speed (for both operations). Division and square-root are less critical, but with these operations there certainly remains more room for possible improvement. When elementary functions are at stake (cosine, sine, exponential, logarithm, etc.), algorithm designers have mainly focused on speed or savings of physical resources. Research on algorithms and architectures for multiplication, division and elementary or special functions is still very active. Implemented solutions are still evolving fast. The members of Arénaire have a strong reputation in these domains and they intend to continue to work on them.

Thanks to past and recent efforts, the semantics of the floating-point operations is well defined. Indeed, the adoption of the IEEE-754 standard for floating-point arithmetic in 1985 was a major step forward in computer arithmetic. The standard specifies the various formats and the behavior of the floating-point operations, this represents a key point for improving numerical reliability. Standardization is also related to properties of floating-point arithmetic—we mean invariants that operators or sequences of operators may satisfy. We work on establishing new properties such as exact rounding or the representation of roundoff errors. An important objective is further to have these results progressively integrated into the future standards of floating-point arithmetic.

For certifying the properties that we identify, and the compliance of the numerical programs we develop with their specifications, we rely on formal proving. Proofs are checked using Coq [58] as well as PVS [63] proof assistants. In particular, this is made possible by a careful specification of the arithmetic operators that are involved.

An increasingly growing demand exists for certified numerical results, we mean for computing with known or controlled errors. Our answer is the conception of modern and efficient error-measurement tools. We first concentrate on two types of errors: roundoff errors, polynomial and power series approximation errors. Our objective here is the conception and the implementation of automatic tools for computing certified (exact) error bounds.

When conventional floating-point arithmetic does not suffice, we use other kinds of arithmetics. Especially in the matter of error bounds, we work on interval arithmetic libraries, including arbitrary precision intervals. Intervals give an ``exact'' answer when the problem is to bound the result of a computation. Here a main domain of application is global optimization. Original algorithms dedicated to this type of arithmetic must be designed in order to get accurate solutions or sometimes simply to avoid divergence, i.e. infinite intervals. We also investigate exact arithmetics in computer algebra, for computing in algebraic domains such as finite fields, unlimited precision integers, and polynomials (linear algebra in mathematical computing).

To conclude we emphasize that the research directions mentioned above are supported by the development and diffusion of corresponding libraries, either in hardware or in software. The features of our libraries are the quality of the implemented algorithms, and code optimization for performance. See § 5 for details about each of these libraries.


Logo Inria