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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend