computer arithmetic
play

Computer Arithmetic Ar enaire project-team LIP Laboratory, CNRS, - PowerPoint PPT Presentation

Focus & Challenges Contributions Future Computer Arithmetic Ar enaire project-team LIP Laboratory, CNRS, ENSL, INRIA, UCBL SymB INRIA Evaluation Seminar Paris, November 14 Ar enaire project-team Computer Arithmetic Focus &


  1. Focus & Challenges Contributions Future Computer Arithmetic Ar´ enaire project-team LIP Laboratory, CNRS, ENSL, INRIA, UCBL SymB INRIA Evaluation Seminar – Paris, November 14 Ar´ enaire project-team Computer Arithmetic

  2. Focus & Challenges Contributions Future The team, facts Created in 1998, former head J.-M. Muller (1998-2004) change 2002 2006 Permanent professors and researchers 7 -2+3 8 Permanent engineer 0 +0.4 0.4 Temporary engineers, postdocs 1 -3+4 2 PhD students 4 -5+9 8 5 PhD awarded: 2 researchers, 1 engineer 1 temporary researcher, 1 industry 144 publications 2002-2006 (50 books/journals) Ar´ enaire project-team Computer Arithmetic

  3. Focus & Challenges Contributions Future Outline Scientific focus and challenges 1 Contributions 2 Hardware arithmetic Software operators and tools Arithmetic and Formal Proofs Algorithms and Arithmetics Objectives 2007-2010 3 Ar´ enaire project-team Computer Arithmetic

  4. Focus & Challenges Contributions Future Outline Scientific focus and challenges 1 Contributions 2 Hardware arithmetic Software operators and tools Arithmetic and Formal Proofs Algorithms and Arithmetics Objectives 2007-2010 3 Ar´ enaire project-team Computer Arithmetic

  5. Focus & Challenges Contributions Future Scientific Focus Improving Knowledge in Computer Arithmetic Improving quality Arithmetic operators Number representation + , − , , × , ÷ , √ , · / cst , . . . Performance Integers, real/complex numbers Accuracy, reliability Intervals, exact computation portability Power consumption Elementary/special functions Code size Specific: DSP , cryptography, . . .  Hardware: ASIC, FPGA (Verilog, VHDL , ...) Implementation  Low-level: dedicated and embedded chips targets Software libraries ( C++ , Coq, Maple, ... )  Ar´ enaire project-team Computer Arithmetic

  6. Focus & Challenges Contributions Future Improving knowledge in Computer Arithmetic Main challenges Increasing machine power/problem dimensions Complex software Various target architectures/constraints Sophisticated operator algorithms ◦ Guaranteeing the reliability of software-intensive systems ◦ Adequacy software/hardware (ex: embedded systems) Ar´ enaire project-team Computer Arithmetic

  7. Focus & Challenges Contributions Future Scientific methodology Algorithmics, specification, automatic tools Algorithmic, specification Arithmetic algorithms and algorithms for arithmetic Specification, normalization actions, properties of operators Trade-off reliability/performance Impact of the arithmetic choices on solving methods Automatic tools Code analysis and error diagnosing tools Automatic tools : algorithm/code synthesis, automatic proof Code optimization for performance Ar´ enaire project-team Computer Arithmetic

  8. Focus & Challenges Contributions Future Algorithmic, specification, automatic tools Ex: Correctly rounded elementary function library Fine−grain Arithmetic Number theory Formal proof arithmetic and algorithms Tools for polynomial TMD Coq proofs Gappa tool Validated infnorm approximation CRLibm Performance Proven correct rounding Perfect double−precision elementary functions LHC@home Normalization Better numerics 36000 heterogeneous machines IEEE−754 R Ar´ enaire project-team Computer Arithmetic

  9. Focus & Challenges Contributions Future Algorithmic, specification, automatic tools Our strengths From algebra and numerical analysis to code development From hardware to software From fixed-point numbers to intervals and exact computation Ar´ enaire project-team Computer Arithmetic

  10. Focus & Challenges Contributions Future Hardware Operators Proofs Algorithms & Arithmetics Outline Scientific focus and challenges 1 Contributions 2 Hardware arithmetic Software operators and tools Arithmetic and Formal Proofs Algorithms and Arithmetics Objectives 2007-2010 3 Ar´ enaire project-team Computer Arithmetic

  11. Focus & Challenges Contributions Future Hardware Operators Proofs Algorithms & Arithmetics Contribution 1 Hardware arithmetic Automatic tools for the generation of arithmetic operators Fixed-point elementary functions Multipartite tables SMSO SmallApprox HOTBM Floating-point operators and elementary functions FPLibrary Algebraic functions : ÷ , √ , 1 / √ , √ , . . . n DivGen Cryptography Modular operators Applications in encryption and signature Ar´ enaire project-team Computer Arithmetic

  12. Focus & Challenges Contributions Future Hardware Operators Proofs Algorithms & Arithmetics Contribution 1 Hardware arithmetic f ( x ) 1 0 . 75 Input function 0 . 5 0 . 25 0 0 0 . 25 0 . 5 0 . 75 1 x Evaluation algorithm Parameters f ( x ) 1 Function approximation Error analysis 0 0 0 0 . 25 0 . 5 0 . 75 1 x Constraints Architectural exploration Target architecture A A 0 w O + g T 0 ( A 0 ) w I A k, 1 X A k K k ( A k, 1 ) A 1 b 1 S k, 1 X O B B 1 T 1 ( A 1 B 1 , ) w O + g X O R B ′ O X B ′ k . R k R k . . A 2 w O f ( X ) ˜ A k, 2 Hardware operator . . . K k ( A k, 2 ) B 2 T 2 ( A 2 B 2 , ) S k, 2 O X w O + g O X R R . . . . . . A 3 A k,m k B n K k ( A k,m k ) · S ′ X T n ( A n B n , ) w O + g S k,m k X k,m k R O O R VHDL generation FPGA implementation Ar´ enaire project-team Computer Arithmetic

  13. Focus & Challenges Contributions Future Hardware Operators Proofs Algorithms & Arithmetics Contribution 2 Software operators and tools Leading position on the correct rounding of elementary functions in double-precision floating-point arithmetic Meplib library , a key point for function evaluation: new methods for generating best polynomial approximations under constraints such as size, accuracy, or evaluation cost constraints Various algorithmic progress: use of fused multiply-add, error representation, range reduction, RN -coding, etc. Ar´ enaire project-team Computer Arithmetic

  14. Focus & Challenges Contributions Future Hardware Operators Proofs Algorithms & Arithmetics Contribution 2 Software operators and tools FLIP: A floating-point library for integer processors Basic arithmetic operators ST200 embedded processors ± , × , ÷ , √ , fma , 1 / x , 1 / √ , ... VLIW / No hardware floating-point Multimedia applications Adaptation of algorithms (satellite boxes, TV cables, DVD, ...) to the target architecture Exception 16x32 16x32 Control IPU DPU Reg’s Control Mult Mult ⇓ Reg Pre−Decode File Load D$ I$ 64 Store 4 set 32KB GPR Unit 32KB (32b) Speed-ups from 1.25 to 4 Br RegFile Branch Prefetch 8BR ALU ALU ALU ALU Unit (1bit) buffer Cluster0 Cluster without sacrificing accuracy Impact on technology: Integration of FLIP into the industrial version of the ST200 compiler (2005) Ongoing extension to other targets like Texas Instruments DSPs Ar´ enaire project-team Computer Arithmetic

  15. Focus & Challenges Contributions Future Hardware Operators Proofs Algorithms & Arithmetics Contribution 3 Arithmetic and formal proofs Basic arithmetic blocks Complete function / ∗ Compute approximation to r = 1/ s q r t (m) ∗ / r0 = SQRTPOLYC0 + m * (SQRTPOLYC1 + m * ( SQRTPOLYC2 + m * (SQRTPOLYC3 + m * / ∗ Mul12 : e r r o r − f r e e m u l t i p l i c a t i o n ∗ / SQRTPOLYC4))); double c = 134217729.; ❅ up = u * c; vp = v * c; / ∗ I t e r a t e two times on double ∗ / u1 = (u - up) + up; ❅ r1 = 0.5 * r0 * (3 - m * (r0 * r0)); v1 = (v - vp) + vp; ❅ r2 = 0.5 * r1 * (3 - m * (r1 * r1)); u2 = u - u1; v2 = v - v1; p = u * v; ❘ ❅ / ∗ I t e r a t e two times on double − double ∗ / e = u1 * v1 - p + u1 * v2 + u2 * v1 + Mul12(r2Sqh , r2Sql , r2 , r2); u2 * v2; Add12(r2PHr2h , r2PHr2l , r2 , 0.5 * r2); ✒ � Mul12(mMr2h , mMr2l , m, r2); � Mul22(mMr2Ch , mMr2Cl , mMr2h , mMr2l , r2Sqh , r2Sql); � � MHmMr2Ch = -0.5 * mMr2Ch; MHmMr2Cl = -0.5 * mMr2Cl; � Add22(r3h , r3l , r2PHr2h , r2PHr2l , MHmMr2Ch , MHmMr2Cl); / ∗ Add12 : e r r o r − f r e e a d d i t i o n ∗ / Mul22(r3Sqh , r3Sql , r3h , r3l , r3h , r3l); s = u + v; Mul22(mMr3Sqh , mMr3Sql , m,0, r3Sqh , r3Sql); t = s - u; Mul22(r4h , r4l , r3h , r3l , 1, -0.5* mMr3Sql); e = v - t; / ∗ M u l t i p l y r e c i p r o c a l square root by m ∗ / Mul22(srtmh , srtml , m, 0, r4h , r4l); Hand-written proof in Coq Automatic proof by Gappa Ar´ enaire project-team Computer Arithmetic

  16. Focus & Challenges Contributions Future Hardware Operators Proofs Algorithms & Arithmetics Contribution 3 Floating-point arithmetic and proofs A Coq library of basic properties and algorithms in floating-point arithmetic Motivation: Improve confidence in proofs Accurate yet generic hypotheses A comprehensive basis of formal blocks to build upon Examples: - Argument reduction, Horner’s scheme - Knuth’s error-free addition, use of the FMA operator - Exotic rounding modes, etc. Ar´ enaire project-team Computer Arithmetic

Recommend


More recommend