CS 267 Applications of Parallel Computers Lecture 13: Floating Point ArithmeticOutlineHistoryIEEE Floating Point FormatsError AnalysisExample: polynomial evaluationSimulating extra precisionCray ArithmeticException HandlingUsing Exception Handling to Design Faster AlgorithmsHazards of Heterogeneous ComputingCS267 L13 Floating Point.1Demmel Sp 1999CS 267 Applications of Parallel ComputersLecture 13: Floating Point ArithmeticJames Demmelhttp://www.cs.berkeley.edu/~demmel/cs267_Spr99CS267 L13 Floating Point.2Demmel Sp 1999Outline°History°IEEE Floating point formats°Error analysis°Ex: Polynomial evaluation°Extra precision°Cray arithmetic - a pathological example°Exception Handling°Using Exception Handling to go faster°Heterogeneous computingCS267 L13 Floating Point.3Demmel Sp 1999History°In the beginning was darkness…°ACM Turing Award 1989 to W. Kahan for design of the IEEE Floating Point StandardCS267 L13 Floating Point.4Demmel Sp 1999IEEE Floating Point Formats°Scientific notation in decimal or binary°List of formats, sizes ranges°Definitions (macheps)°What is an exception?CS267 L13 Floating Point.5Demmel Sp 1999Error Analysis°Basic error formula°Example: adding n numbers°Def of Numerical stability•Ex: log(1-x)/x? (too complicated)CS267 L13 Floating Point.6Demmel Sp 1999Example: polynomial evaluation°Picture from ma221 text, error boundsCS267 L13 Floating Point.7Demmel Sp 1999Simulating extra precision°Priest/ShewchukCS267 L13 Floating Point.8Demmel Sp 1999Cray Arithmetic°History°Impact: D&C code?°Impact: x/sqrt(x^2+y^2)CS267 L13 Floating Point.9Demmel Sp 1999Exception Handling°List 5 cases, responsesCS267 L13 Floating Point.10Demmel Sp 1999Using Exception Handling to Design Faster Algorithms°Sturm Sequence loops°comparison of triangular solveCS267 L13 Floating Point.11Demmel Sp 1999Hazards of Heterogeneous Computing°Subnormals°Multiply-accumulate°Cray/IEEE°Compiler
View Full Document