Evaluation of IEEE 754 Floating-Point Arithmetic
Compliance Across a Wide Range of Heterogeneous
Computers
Guillermo A. Lopez
The University of Texas at El Paso
Department of Computer Science
galopez1@miners.utep.edu
Michela Taufer
University of Delaware
Computer & Inf. Sciences Dept.
taufer@acm.org
Patricia J. Teller
The University of Texas at El Paso
Department of Computer Science
pteller@utep.edu
ABSTRACT
Scientific applications rely heavily on floating-
point arithmetic and, therefore, are affected by
the precision and implementation of floating-
point operations. Although the computers we use
are IEEE compliant, this only assures the same
representation of floating-point numbers; it does
not guarantee that floating-point operations will
be performed in the same way on all computers.
As a result the same program run on different
computers may yield different results. This paper
is a first step in understanding the reason for this,
in particular, different results for the execution of
the application Charmm on different computers.
We report on our use of a well-known test suite,
IeeeCC754, to evaluate IEEE 754 compliance
across a wide range of heterogeneous computers
with different architectures, operating systems,
precisions, and compilers.
Categories and Subject Descriptors
G.1.0 [Numerical Analysis]: General –
Computer arithmetic.
General Terms
Measurement, Performance, Experimentation.
Keywords
Heterogeneous computing, scientific
computation.
1. INTRODUCTION
Scientific applications rely heavily on floating-
point arithmetic [1] and, therefore, are affected
by the precision and implementation of floating-
point operations. Although the computers we use
are IEEE compliant, this only assures the same
representation of floating-point numbers; it does
not guarantee that floating-point operations will
be performed in the same way on all computers
[4]. This may result in divergences in
intermediate results that can be significantly
amplified by the chaotic nature of some
applications [2], where loops are iterated a large
number of times, leading to significantly different
final results when a computation, e.g., a
simulation, is performed on different computers
[6]. Since such behavior can constrain the
employment of multiple computers in scientific
research, this problem is an important one.
Accordingly, this paper reports on our findings of
running a well-known test suite, IeeeCC754, that
is used to evaluate IEEE 754 compliance across a
wide range of heterogeneous computers with
different architectures, operating systems,
precisions, and compilers. The rest of the paper is
organized as follows. In Section 2 we give a short
overview of the IEEE 754 floating-point
arithmetic standard. Sections 3 and 4 describe the
IeeeCC754 test suite and the way we use it to
evaluate IEEE 754 compliance across a set of
heterogeneous computer systems. Our test results
are presented in Section 5. Sections 6 and 7