parallel processing in algebraic number theory
play

Parallel Processing in Algebraic Number Theory Bill Hart February - PowerPoint PPT Presentation

Outline Introduction to FLINT Parallel Processing in Algebraic Number Theory Bill Hart February 1, 2007 Bill Hart Parallel Processing in Algebraic Number Theory Outline Introduction to FLINT Introduction to FLINT Fast Library for Number


  1. Outline Introduction to FLINT Parallel Processing in Algebraic Number Theory Bill Hart February 1, 2007 Bill Hart Parallel Processing in Algebraic Number Theory

  2. Outline Introduction to FLINT Introduction to FLINT Fast Library for Number Theory Bill Hart Parallel Processing in Algebraic Number Theory

  3. Outline Fast Library for Number Theory Introduction to FLINT FLINT: Fast Library for Number Theory ◮ Jointly Maintained by David Harvey (Harvard) and Bill Hart (Warwick) Bill Hart Parallel Processing in Algebraic Number Theory

  4. Outline Fast Library for Number Theory Introduction to FLINT FLINT Design Philosophy ◮ Faster than all available alternatives. Bill Hart Parallel Processing in Algebraic Number Theory

  5. Outline Fast Library for Number Theory Introduction to FLINT FLINT Design Philosophy ◮ Faster than all available alternatives. ◮ Asymptotically Fast Algorithms. Bill Hart Parallel Processing in Algebraic Number Theory

  6. Outline Fast Library for Number Theory Introduction to FLINT FLINT Design Philosophy ◮ Faster than all available alternatives. ◮ Asymptotically Fast Algorithms. ◮ Library written in C. Bill Hart Parallel Processing in Algebraic Number Theory

  7. Outline Fast Library for Number Theory Introduction to FLINT FLINT Design Philosophy ◮ Faster than all available alternatives. ◮ Asymptotically Fast Algorithms. ◮ Library written in C. ◮ Based on GMP. Bill Hart Parallel Processing in Algebraic Number Theory

  8. Outline Fast Library for Number Theory Introduction to FLINT FLINT Design Philosophy ◮ Faster than all available alternatives. ◮ Asymptotically Fast Algorithms. ◮ Library written in C. ◮ Based on GMP. ◮ Extensively Tested. Bill Hart Parallel Processing in Algebraic Number Theory

  9. Outline Fast Library for Number Theory Introduction to FLINT FLINT Design Philosophy ◮ Faster than all available alternatives. ◮ Asymptotically Fast Algorithms. ◮ Library written in C. ◮ Based on GMP. ◮ Extensively Tested. ◮ Extensively Profiled. Bill Hart Parallel Processing in Algebraic Number Theory

  10. Outline Fast Library for Number Theory Introduction to FLINT FLINT Design Philosophy ◮ Faster than all available alternatives. ◮ Asymptotically Fast Algorithms. ◮ Library written in C. ◮ Based on GMP. ◮ Extensively Tested. ◮ Extensively Profiled. ◮ Support for Parallel Processing. Bill Hart Parallel Processing in Algebraic Number Theory

  11. Outline Fast Library for Number Theory Introduction to FLINT What does FLINT currently do? ◮ All GMP integer functions (mpz add → Z add). Bill Hart Parallel Processing in Algebraic Number Theory

  12. Outline Fast Library for Number Theory Introduction to FLINT What does FLINT currently do? ◮ All GMP integer functions (mpz add → Z add). ◮ Additional functions for Z and modulo arithmetic. Bill Hart Parallel Processing in Algebraic Number Theory

  13. Outline Fast Library for Number Theory Introduction to FLINT What does FLINT currently do? ◮ All GMP integer functions (mpz add → Z add). ◮ Additional functions for Z and modulo arithmetic. ◮ Integer Factorisation (Multiple Polynomial Quadratic Sieve). Bill Hart Parallel Processing in Algebraic Number Theory

  14. Outline Fast Library for Number Theory Introduction to FLINT What does FLINT currently do? ◮ All GMP integer functions (mpz add → Z add). ◮ Additional functions for Z and modulo arithmetic. ◮ Integer Factorisation (Multiple Polynomial Quadratic Sieve). ◮ Some polynomial arithmetic, including asymptotically fast polynomial multiplication. Bill Hart Parallel Processing in Algebraic Number Theory

  15. Outline Fast Library for Number Theory Introduction to FLINT What does FLINT currently do? ◮ All GMP integer functions (mpz add → Z add). ◮ Additional functions for Z and modulo arithmetic. ◮ Integer Factorisation (Multiple Polynomial Quadratic Sieve). ◮ Some polynomial arithmetic, including asymptotically fast polynomial multiplication. ◮ Approximately 21,000 lines of C code so far (including profiling and test code). Bill Hart Parallel Processing in Algebraic Number Theory

  16. Outline Fast Library for Number Theory Introduction to FLINT What FLINT will eventually do ◮ Z - Integer Arithmetic. Bill Hart Parallel Processing in Algebraic Number Theory

  17. Outline Fast Library for Number Theory Introduction to FLINT What FLINT will eventually do ◮ Z - Integer Arithmetic. ◮ Zmod - Arithmetic in Z / n Z . Bill Hart Parallel Processing in Algebraic Number Theory

  18. Outline Fast Library for Number Theory Introduction to FLINT What FLINT will eventually do ◮ Z - Integer Arithmetic. ◮ Zmod - Arithmetic in Z / n Z . ◮ Zpoly - Polynomials over Z . Bill Hart Parallel Processing in Algebraic Number Theory

  19. Outline Fast Library for Number Theory Introduction to FLINT What FLINT will eventually do ◮ Z - Integer Arithmetic. ◮ Zmod - Arithmetic in Z / n Z . ◮ Zpoly - Polynomials over Z . ◮ Zvec - Vectors over Z . Bill Hart Parallel Processing in Algebraic Number Theory

  20. Outline Fast Library for Number Theory Introduction to FLINT What FLINT will eventually do ◮ Z - Integer Arithmetic. ◮ Zmod - Arithmetic in Z / n Z . ◮ Zpoly - Polynomials over Z . ◮ Zvec - Vectors over Z . ◮ Zmat - Linear algebra over Z . Bill Hart Parallel Processing in Algebraic Number Theory

  21. Outline Fast Library for Number Theory Introduction to FLINT What FLINT will eventually do ◮ Z - Integer Arithmetic. ◮ Zmod - Arithmetic in Z / n Z . ◮ Zpoly - Polynomials over Z . ◮ Zvec - Vectors over Z . ◮ Zmat - Linear algebra over Z . ◮ Z p - p-adics. Bill Hart Parallel Processing in Algebraic Number Theory

  22. Outline Fast Library for Number Theory Introduction to FLINT What FLINT will eventually do ◮ Z - Integer Arithmetic. ◮ Zmod - Arithmetic in Z / n Z . ◮ Zpoly - Polynomials over Z . ◮ Zvec - Vectors over Z . ◮ Zmat - Linear algebra over Z . ◮ Z p - p-adics. ◮ GF2 - Sparse and dense matrices over GF2. Bill Hart Parallel Processing in Algebraic Number Theory

  23. Outline Fast Library for Number Theory Introduction to FLINT What FLINT will eventually do ◮ Z - Integer Arithmetic. ◮ Zmod - Arithmetic in Z / n Z . ◮ Zpoly - Polynomials over Z . ◮ Zvec - Vectors over Z . ◮ Zmat - Linear algebra over Z . ◮ Z p - p-adics. ◮ GF2 - Sparse and dense matrices over GF2. ◮ QNF - Quadratic number fields. Bill Hart Parallel Processing in Algebraic Number Theory

  24. Outline Fast Library for Number Theory Introduction to FLINT What FLINT will eventually do ◮ Z - Integer Arithmetic. ◮ Zmod - Arithmetic in Z / n Z . ◮ Zpoly - Polynomials over Z . ◮ Zvec - Vectors over Z . ◮ Zmat - Linear algebra over Z . ◮ Z p - p-adics. ◮ GF2 - Sparse and dense matrices over GF2. ◮ QNF - Quadratic number fields. ◮ NF - General number fields. Bill Hart Parallel Processing in Algebraic Number Theory

  25. Outline Fast Library for Number Theory Introduction to FLINT What FLINT will eventually do ◮ Z - Integer Arithmetic. ◮ Zmod - Arithmetic in Z / n Z . ◮ Zpoly - Polynomials over Z . ◮ Zvec - Vectors over Z . ◮ Zmat - Linear algebra over Z . ◮ Z p - p-adics. ◮ GF2 - Sparse and dense matrices over GF2. ◮ QNF - Quadratic number fields. ◮ NF - General number fields. ◮ ?? - Whatever people contribute. Bill Hart Parallel Processing in Algebraic Number Theory

  26. Outline Fast Library for Number Theory Introduction to FLINT Additional Functions Available in FLINT ◮ Exponentiation. Bill Hart Parallel Processing in Algebraic Number Theory

  27. Outline Fast Library for Number Theory Introduction to FLINT Additional Functions Available in FLINT ◮ Exponentiation. ◮ Modular multiplication, modular inversion, modular square root (mod p or mod p k ), CRT, modular exponentiation. Bill Hart Parallel Processing in Algebraic Number Theory

  28. Outline Fast Library for Number Theory Introduction to FLINT Additional Functions Available in FLINT ◮ Exponentiation. ◮ Modular multiplication, modular inversion, modular square root (mod p or mod p k ), CRT, modular exponentiation. ◮ Next prime, random prime, extended GCD, GCD. Bill Hart Parallel Processing in Algebraic Number Theory

  29. Outline Fast Library for Number Theory Introduction to FLINT Additional Functions Available in FLINT ◮ Exponentiation. ◮ Modular multiplication, modular inversion, modular square root (mod p or mod p k ), CRT, modular exponentiation. ◮ Next prime, random prime, extended GCD, GCD. ◮ Integer multiplication (faster than GMP 4.2.1 with Pierrick Gaudry’s AMD64 patches for more than 164000 bit operands). Bill Hart Parallel Processing in Algebraic Number Theory

  30. Outline Fast Library for Number Theory Introduction to FLINT Additional Functions Available in FLINT ◮ Exponentiation. ◮ Modular multiplication, modular inversion, modular square root (mod p or mod p k ), CRT, modular exponentiation. ◮ Next prime, random prime, extended GCD, GCD. ◮ Integer multiplication (faster than GMP 4.2.1 with Pierrick Gaudry’s AMD64 patches for more than 164000 bit operands). ◮ Block Lanczos code (Jason Papadopoulous). Bill Hart Parallel Processing in Algebraic Number Theory

Recommend


More recommend