Tsz Wo Sze szetszwo at
Wed Aug 25 19:46:22 CEST 2010


First, thanks to the authors of "A GMP-based Implementation of 
Schönhage-Strassen’s Large Integer Multiplication Algorithm".  The paper 
provides many useful information.  Some questions:

- Given n, the number of bits of the operands, what is the best choice of the 
FFT length and the Schönhage-Strassen modulus?

- What is the memory requirement for running Schönhage-Strassen?  Supposed there 
are 16GB memory.  What is the largest n that the machine can support?

- Is there a trade off between running time and memory when choosing the FFT 
length and the modulus?

- I supposed GMP is using Schönhage-Strassen for large integer multiplication.  
However, the author of y-cruncher claims that Hybrid NTT is faster than SSA in 
practice; see the quote below.  Do you agree?
"The difference between the run-time complexities of Hybrid NTT and SSA  is on 
the order of double-logarithms. However, SSA has a much larger  Big-O constant - 
so large that Hybrid NTT is a lot faster for any  attainable size despite having 
a slightly inferior complexity.  (Of course, this could change if there are any 
new ground-breaking optimizations that apply to SSA but not to Hybrid NTT.)"


More information about the gmp-discuss mailing list