<< Chapter < Page | Chapter >> Page > |
The IEEE 754 floating-point standard does a good job describing how floating- point operations are to be performed. However, we generally don’t write assembly language programs. When we write in a higher-level language such as FORTRAN, it’s sometimes difficult to get the compiler to generate the assembly language you need for your application. The problems fall into two categories:
Z = X + 500
Y = Z - 200
The optimizer may replace it with
Y = X + 300
. However, in the case of a value for
X
that is close to overflow, the two sequences may not produce the same result.Sometimes a user prefers “fast” code that loosely conforms to the IEEE standard, and at other times the user will be writing a numerical library routine and need total control over each floating-point operation. Compilers have a challenge supporting the needs of both of these types of users. Because of the nature of the high performance computing market and benchmarks, often the “fast and loose” approach prevails in many compilers.
Notification Switch
Would you like to follow the 'High performance computing' conversation and receive update notifications?