Re: [mpir-devel] A new FFT for the New Year

2010-01-03 Thread Bill Hart
4. The strategy used. I'll now describe the strategy I ended up settling on. But first some notation to make this simpler. Suppose I have a convolution length 2*n where n is a power of 2. A standard Fermat transform with coefficients mod p = 2^{w*n}+1 can support such a transform length. Here 2^w

Re: [mpir-devel] A new FFT for the New Year

2010-01-02 Thread Bill Hart
3. Why a new FFT? The timings I just posted probably justify writing a new FFT. However that is not what concretely motivated me to write one. I began thinking about writing a new FFT about the end of September this year. At the time I skimmed through a huge number of papers on the FFT for someth

Re: [mpir-devel] A new FFT for the New Year

2010-01-02 Thread Bill Hart
I've done some more timings. This time I turned off MPIR's sqrt2 trick which I don't have yet. For some multiplications this causes MPIR to take way too long due to tuning issues. For example, there are points where larger numbers take less time to multiply. I made a comparison showing how much f

Re: [mpir-devel] A new FFT for the New Year

2010-01-01 Thread Bill Hart
2. FFT's for nitwits (like me) I will explain why I am a nitwit in a later section. But to understand that, you need to understand some FFT basics first. So I describe them here. 2a. Description of the FFT === An FFT is not an integer multiplication routine p

Re: [mpir-devel] A new FFT for the New Year

2010-01-01 Thread Bill Hart
1. Formal release of code. I have included two new files in the top source directory of mpir in svn. The first is new_fft_with_flint.c, the second new_fft.c. They are isomorphic except that the second does not need to be linked against FLINT to run. There will be no difference in timings or result

Re: [mpir-devel] A new FFT for the New Year

2009-12-31 Thread William Stein
On Thu, Dec 31, 2009 at 9:04 PM, Bill Hart wrote: > As the code for this FFT is quite involved, I plan to incrementally > release a set of notes about it, starting tomorrow morning (today > already), which may take hours to days for me to complete. I got the > code working for the first time this

Re: [mpir-devel] A new FFT for the New Year

2009-12-31 Thread Bill Hart
As the code for this FFT is quite involved, I plan to incrementally release a set of notes about it, starting tomorrow morning (today already), which may take hours to days for me to complete. I got the code working for the first time this afternoon, so please be patient with me. Here is the rough

Re: [mpir-devel] A new FFT for the New Year

2009-12-31 Thread Bill Hart
Ha! I forgot to mention, those numbers represent the size of the integers in bits. I multiply two different integers with the same number of bits, though that is not a limitation of the code. It will accept integers of different lengths and adjust accordingly. Bill. 2010/1/1 Bill Hart : > I re-ti

Re: [mpir-devel] A new FFT for the New Year

2009-12-31 Thread Bill Hart
I re-timed that point and I believe I may have just mistranscribed it. Here it is with the corrected time. Thanks for pointing it out! I've also included some times from the FLINT FFT, though only non-truncated ones (i.e. where FLINT uses a convolution which is an exact power of 2 length - not a l

Re: [mpir-devel] A new FFT for the New Year

2009-12-31 Thread Bill Hart
It's either a tuning issue or timing instability on the machine. Bill. On 31/12/2009, Robert Gerbicz wrote: > Hi! > > How is it possible that to multiple longer numbers takes less time, for > example: > > 12546048: 14.7s / 15.3s > 13591552: 14.0s / 14.2s > > -- > > You received this message beca

Re: [mpir-devel] A new FFT for the New Year

2009-12-31 Thread Robert Gerbicz
Hi! How is it possible that to multiple longer numbers takes less time, for example: 12546048: 14.7s / 15.3s 13591552: 14.0s / 14.2s -- You received this message because you are subscribed to the Google Groups "mpir-devel" group. To post to this group, send email to mpir-de...@googlegroups.com

[mpir-devel] A new FFT for the New Year

2009-12-31 Thread Bill Hart
Happy New Year! I've written a new FFT for integer multiplication for MPIR. I'll write a series of posts over the next couple of days describing the strategy, what remains to be done, etc. To whet your appetite, I include some timings for multiplying various sized integers. There is a trick call