Algorithms and Efficient Implementations in Exact Linear Algebra

Algorithms and Efficient Implementations in Exact Linear Algebra

Algorithms and efficient implementations in exact linear algebra Pascal Giorgi soutenance HDR - 28 oct. 2019 1/35 at the end of the talk Linear algebra is a widespread tool Assessing security in cryptography : NFS algo. [Lenstra(s) 93] Coding theory in practice: list decoding [Guruswami, Sudan 98] Weather forecast simulation Numerical linear algebra Exact linear algebra ⇒ approximated solutions : float ⇒ exact solutions: Z, Zp, Q, Z[X] 3 dedicated hardware 7 no dedicated hardware 7 pb of stability 3 no stability issue 3 mature developments 7 slower development 2/35 Linear algebra is a widespread tool Assessing security in cryptography : NFS algo. [Lenstra(s) 93] Coding theory in practice: list decoding [Guruswami, Sudan 98] Weather forecast simulation Numerical linear algebra Exact linear algebra ⇒ approximated solutions : float ⇒ exact solutions: Z, Zp, Q, Z[X] 3 dedicated hardware 7 no dedicated hardware 7 pb of stability 3 no stability issue 3 mature developments 3 improved over past 20 years at the end of the talk 2/35 exact computing numerical computing ▸ reductions to core problems ≠ ▸ adaptative implementations with thresholds Matrix multiplication Polynomial/Integer multiplication 2.81 1.58 O(n ) [Strassen 69] O(d ) [Karatsuba 62] ⋮ ⋮ 2.37 O(n ) [Le Gall 2014] O(d log(d)) [Harvey, Hoeven 2019] finding best algo., reductions and thresholds is rather complicated ⇒ High performance linear algebra numerical computing = O n3 classic algo. with optimized hardware efficient libraries BLAS, LAPACK (top 500 supercomputers) ( ) ⇒ 3/35 finding best algo., reductions and thresholds is rather complicated ⇒ High performance linear algebra numerical computing = O n3 classic algo. with optimized hardware efficient libraries BLAS, LAPACK (top 500 supercomputers) ( ) exact⇒ computing numerical computing ▸ reductions to core problems ≠ ▸ adaptative implementations with thresholds Matrix multiplication Polynomial/Integer multiplication 2.81 1.58 O(n ) [Strassen 69] O(d ) [Karatsuba 62] ⋮ ⋮ 2.37 O(n ) [Le Gall 2014] O(d log(d)) [Harvey, Hoeven 2019] 3/35 High performance linear algebra numerical computing = O n3 classic algo. with optimized hardware efficient libraries BLAS, LAPACK (top 500 supercomputers) ( ) exact⇒ computing numerical computing ▸ reductions to core problems ≠ ▸ adaptative implementations with thresholds Matrix multiplication Polynomial/Integer multiplication 2.81 1.58 O(n ) [Strassen 69] O(d ) [Karatsuba 62] ⋮ ⋮ 2.37 O(n ) [Le Gall 2014] O(d log(d)) [Harvey, Hoeven 2019] finding best algo., reductions and thresholds is rather complicated ⇒ 3/35 algebraic vs bit (or word) complexity different algo. reductions vs sparse dense approach → Exact linear algebra versatility 648 98 16 ⎧⎡648 839 305⎤ over 997 ⎪⎢ ⎥ Z −1 ⎪⎢ ⎥ ⎪⎢ ⎥ 993 512 509 ⎪⎢ 31 193 516⎥ ⎪⎢ ⎥ ⎪⎢ ⎥ ⎡106 978 690⎤ ⎪⎢ ⎥ ⎢ ⎥ ⎪⎣ ⎦ ⎢946 442 832⎥ ⎪ 14131 11167 8029 ⎢ ⎥ = ⎨ 9642515 19285030 19285030 ⎢ ⎥ ⎪ ⎢ ⎥ ⎪⎡ 141137 172331 157804 ⎤ over Q ⎢ ⎥ ⎪⎢ 86782635 −173565270 − 86782635 ⎥ ⎣ ⎦ ⎪⎢ ⎥ ⎪⎢ 219584 22723 458441 ⎥ ⎪⎢ 86782635 173565270 173565270 ⎥ ⎪⎢ − ⎥ ⎪⎢ ⎥ ⎪⎢− ⎥ expression swell op. on⎩⎣ entries can be more than O(1) ⎦ → 4/35 Exact linear algebra versatility 648 98 16 ⎧⎡648 839 305⎤ over 997 ⎪⎢ ⎥ Z −1 ⎪⎢ ⎥ ⎪⎢ ⎥ 993 512 509 ⎪⎢ 31 193 516⎥ ⎪⎢ ⎥ ⎪⎢ ⎥ ⎡106 978 690⎤ ⎪⎢ ⎥ ⎢ ⎥ ⎪⎣ ⎦ ⎢946 442 832⎥ ⎪ 14131 11167 8029 ⎢ ⎥ = ⎨ 9642515 19285030 19285030 ⎢ ⎥ ⎪ ⎢ ⎥ ⎪⎡ 141137 172331 157804 ⎤ over Q ⎢ ⎥ ⎪⎢ 86782635 −173565270 − 86782635 ⎥ ⎣ ⎦ ⎪⎢ ⎥ ⎪⎢ 219584 22723 458441 ⎥ ⎪⎢ 86782635 173565270 173565270 ⎥ ⎪⎢ − ⎥ ⎪⎢ ⎥ ⎪⎢− ⎥ expression swell op. on⎩⎣ entries can be more than O(1) ⎦ algebraic vs→bit (or word) complexity different algo. reductions vs sparse dense approach → 4/35 Our work in Exact Linear Algebra design ”faster” algorithms provide their efficient implementation into libraries 3 major libraries: Givaro [BCD+16]; FFLAS-FFPACK [DGP04; DGP08; DGLS18]; LinBox [DGG+02; BDG10; BDG+14] ⇒ High performance libraries Main goal: implement fast algorithms but take care of constants, memory, parallelism 5/35 High performance libraries Main goal: implement fast algorithms but take care of constants, memory, parallelism Our work in Exact Linear Algebra design ”faster” algorithms provide their efficient implementation into libraries 3 major libraries: Givaro [BCD+16]; FFLAS-FFPACK [DGP04; DGP08; DGLS18]; LinBox [DGG+02; BDG10; BDG+14] ⇒ 5/35 Important dates in exact linear algebra Major algorithmic breaktrough ω Gaussian Elimation in O n with ω 3 [Strassen 69] influence algebraic complexity: reduction to matrix mult. ( ) < 2 Sparse⇒ linear algebra in O n [Wiedemann 86, Coppersmith 90] provide iterative methods to finite fields ( ) ω Polynomial⇒ linear algebra in O˜ n d [Storjohann 02] influence bit complexity: reduction to matrix mult. ( ) ⇒ 6/35 Outline Dense linear algebra (post Strassen) Sparse linear algebra - Polynomial linear algebra (a short round trip) Beyond time: space and confidence 7/35 Outline Dense linear algebra (post Strassen) Sparse linear algebra - Polynomial linear algebra (a short round trip) Beyond time: space and confidence 8/35 FFLAS-FFPACK reductions effective in practice [DGP08; DGP04; DGLS18] which matrix→ mult./reductions and how? fgemm subcubic algo., architecture optim. (BLAS) × Ð→ ftrsm= −1 PLUQ minimize modp optimized= × half wordsize× prime× p× =larger Ð→p throught CRT ⇒ Dense linear algebra modp ω Problems reduces to matrix mult. : O n op. in Zp, ω < 2.3728 [Le Gall14] ⇒ linsys, det, inv [Strassen 69], rank [Ibarra et al. 82], minpoly, charpoly [Pernet et. al 07] ( ) 9/35 optimized half wordsize prime p larger p throught CRT ⇒ Dense linear algebra modp ω Problems reduces to matrix mult. : O n op. in Zp, ω < 2.3728 [Le Gall14] ⇒ linsys, det, inv [Strassen 69], rank [Ibarra et al. 82], minpoly, charpoly [Pernet et. al 07] ( ) FFLAS-FFPACK reductions effective in practice [DGP08; DGP04; DGLS18] which matrix→ mult./reductions and how? fgemm subcubic algo., architecture optim. (BLAS) × Ð→ ftrsm= −1 PLUQ minimize modp = × × × × = Ð→ 9/35 Dense linear algebra modp ω Problems reduces to matrix mult. : O n op. in Zp, ω < 2.3728 [Le Gall14] ⇒ linsys, det, inv [Strassen 69], rank [Ibarra et al. 82], minpoly, charpoly [Pernet et. al 07] ( ) FFLAS-FFPACK reductions effective in practice [DGP08; DGP04; DGLS18] which matrix→ mult./reductions and how? fgemm subcubic algo., architecture optim. (BLAS) × Ð→ ftrsm= −1 PLUQ minimize modp optimized= × half wordsize× prime× p× =larger Ð→p throught CRT ⇒ 9/35 Matrix multiplication modp (< 26bits) FFLAS fgemm rely on numerical computation [Dumas et. al 02],[DGP08] 2 delayed reductions⇒ mod p 3 O(n ) adaptative multiplication over Z ↪ t levels of Strassen-Winograd if 9t ⌊ n ⌋(p − 1)2 < 253 3 ω < 3 2t ↪ use BLAS as base case 3 cache+simd 60 OpenBlas 50 mod p - Classic mod p - Winograd 40 30 GFLOPS 20 10 0 32 64 128 256 512 1024 2048 4096 8192 Matrix dimensions benchmark on Intel i7-4960HQ (2014), p < 20 bits 10/35 Most efficient solutions reduction to smaller prime(s) matrix mult. convert problem to⇒ polynomial matrix mult. modq (Kronecker) Z Zm Zq X <d Z Zp → → [ ] → → convert problem to many matrix multiplication modpi (CRT) Z Zm Zp1×⋅⋅⋅×pd Zp1 Zpd Z Zp RNS conversions AB→mod (→p × ⋅ ⋅ ⋅ × p )→←→ (AB× ⋅ ⋅mod ⋅ × p ,...,→ AB→ mod p ) 1´¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¶d 1 d How to improve the reduction ? especially RNS Matrix multiplication modp (≥ 64bits) No more native op. (e.g. Z1267650600228229401496703205653) GMP library too costly ⇒ → 11/35 How to improve the reduction ? especially RNS Matrix multiplication modp (≥ 64bits) No more native op. (e.g. Z1267650600228229401496703205653) GMP library too costly ⇒ → Most efficient solutions reduction to smaller prime(s) matrix mult. convert problem to⇒ polynomial matrix mult. modq (Kronecker) Z Zm Zq X <d Z Zp → → [ ] → → convert problem to many matrix multiplication modpi (CRT) Z Zm Zp1×⋅⋅⋅×pd Zp1 Zpd Z Zp RNS conversions AB→mod (→p × ⋅ ⋅ ⋅ × p )→←→ (AB× ⋅ ⋅mod ⋅ × p ,...,→ AB→ mod p ) 1´¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¶d 1 d 11/35 Matrix multiplication modp (≥ 64bits) No more native op. (e.g. Z1267650600228229401496703205653) GMP library too costly ⇒ → Most efficient solutions reduction to smaller prime(s) matrix mult. convert problem to⇒ polynomial matrix mult. modq (Kronecker) Z Zm Zq X <d Z Zp → → [ ] → → convert problem to many matrix multiplication modpi (CRT) Z Zm Zp1×⋅⋅⋅×pd Zp1 Zpd Z Zp RNS conversions AB→mod (→p × ⋅ ⋅ ⋅ × p )→←→ (AB× ⋅ ⋅mod ⋅ × p ,...,→ AB→ mod p ) 1´¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¶d 1 d How to improve the reduction ? especially RNS 11/35 Naive RNS conversions O d 2 word op. can be reduced to matrix mult. for many conversion [DGLS18] ( ) ⇒ pseudo-reduction: d−1 i A0 A1β Ad−1β A0 ... Ad−1 β mod pj i,j + + ⋯ O d Ð→ O log d × ( ) r RNS conversions: O rd( ω)−Ð→1 O( d 2 )word op. (practical ω ≃ 2.81) ( ) + ( ) RNS conversions in practice Fast RNS conversions O d log d log log d word op. [Borodin, Moenck 74] hard to optimize in practice ( ( ) ( )) ⇒ 12/35 can be reduced to matrix mult. for many conversion [DGLS18] ⇒ pseudo-reduction: d−1 i A0 A1β Ad−1β A0 ... Ad−1 β mod pj i,j + + ⋯ O d Ð→ O log d × ( ) r RNS conversions:

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    79 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us