Hello I am testing my implemented "large" c2c floating point FFT (2^34 point). I have to generate not only input vector using program written on C++, but the golden output too. Could anyone suggest how can i generate input and golden output for the FFT which will cover the corner cases ? Thanks
FFT input and golden output generator
Started by ●October 21, 2008
Reply by ●October 21, 20082008-10-21
On 21 Okt, 14:26, "george86" <goga...@yahoo.com> wrote:> Hello > > I am testing my implemented "large" c2c floating point FFT (2^34 point). I > have to generate not only input vector using program written on C++, but > the golden output too.Don't know what a 'golden output' is, but are those numbers right? 2^31 is 2 Billion, so 2^24 ought to be 16 Billions. Assume eight bytes per numbers, and you need 120 GByte just to store the input (assuming real-valued data). Add space for complex-valued output (260 GByte) and multiply by 2 to allow for for internal variables, and we are talking about something like 500-700 GByte of RAM. I must have misunderstood something? Rune
Reply by ●October 21, 20082008-10-21
On 21 Okt, 14:26, "george86" <goga...@yahoo.com> wrote:> Hello > > I am testing my implemented "large" c2c floating point FFT (2^34 point). I > have to generate not only input vector using program written on C++, but > the golden output too.Don't know what a 'golden output' is, but are those numbers right? 2^31 is 2 Billion, so 2^24 ought to be 16 Billions. Assume eight bytes per numbers, and you need 120 GByte just to store the input (assuming real-valued data). Add space for complex-valued output (260 GByte) and multiply by 2 to allow for for internal variables, and we are talking about something like 500-700 GByte of RAM. I must have misunderstood something? Rune
Reply by ●October 21, 20082008-10-21
On 21 Okt, 14:26, "george86" <goga...@yahoo.com> wrote:> Hello > > I am testing my implemented "large" c2c floating point FFT (2^34 point). I > have to generate not only input vector using program written on C++, but > the golden output too.Don't know what a 'golden output' is, but are those numbers right? 2^31 is 2 Billion, so 2^24 ought to be 16 Billions. Assume eight bytes per numbers, and you need 120 GByte just to store the input (assuming real-valued data). Add space for complex-valued output (260 GByte) and multiply by 2 to allow for for internal variables, and we are talking about something like 500-700 GByte of RAM. I must have misunderstood something? Rune
Reply by ●October 21, 20082008-10-21
On 21 Okt, 14:26, "george86" <goga...@yahoo.com> wrote:> Hello > > I am testing my implemented "large" c2c floating point FFT (2^34 point). I > have to generate not only input vector using program written on C++, but > the golden output too.Don't know what a 'golden output' is, but are those numbers right? 2^31 is 2 Billion, so 2^24 ought to be 16 Billions. Assume eight bytes per numbers, and you need 120 GByte just to store the input (assuming real-valued data). Add space for complex-valued output (260 GByte) and multiply by 2 to allow for for internal variables, and we are talking about something like 500-700 GByte of RAM. I must have misunderstood something? Rune
Reply by ●October 21, 20082008-10-21
On 21 Okt, 14:26, "george86" <goga...@yahoo.com> wrote:> Hello > > I am testing my implemented "large" c2c floating point FFT (2^34 point). I > have to generate not only input vector using program written on C++, but > the golden output too.Don't know what a 'golden output' is, but are those numbers right? 2^31 is 2 Billion, so 2^24 ought to be 16 Billions. Assume eight bytes per numbers, and you need 120 GByte just to store the input (assuming real-valued data). Add space for complex-valued output (260 GByte) and multiply by 2 to allow for for internal variables, and we are talking about something like 500-700 GByte of RAM. I must have misunderstood something? Rune
Reply by ●October 21, 20082008-10-21
>On 21 Okt, 14:26, "george86" <goga...@yahoo.com> wrote: >> Hello >> >> I am testing my implemented "large" c2c floating point FFT (2^34point). I>> have to generate not only input vector using program written on C++,but>> the golden output too. > >Don't know what a 'golden output' is, but are those numbers right? > >2^31 is 2 Billion, so 2^24 ought to be 16 Billions. Assume eight >bytes per numbers, and you need 120 GByte just to store the input >(assuming real-valued data). Add space for complex-valued output >(260 GByte) and multiply by 2 to allow for for internal variables, >and we are talking about something like 500-700 GByte of RAM. > >I must have misunderstood something? > >Rune >The 2^34 samples of complex data, each complex data consist of 2 floating point numbers, each floating point data size is 4 bytes. So the input data size is ~120Gbytes which will be stored on the HDD. The FFT algorithm implemented already and tested with simple data sets. I need more complex data sets to cover the more.
Reply by ●October 21, 20082008-10-21
On Oct 21, 10:01�am, "george86" <goga...@yahoo.com> wrote:> >On 21 Okt, 14:26, "george86" <goga...@yahoo.com> wrote: > >> Hello > > >> I am testing my implemented "large" c2c floating point FFT (2^34 > point). I > >> have to generate not only input vector using program written on C++, > but > >> the golden output too. > > >Don't know what a 'golden output' is, but are those numbers right? > > >2^31 is 2 Billion, so 2^24 ought to be 16 Billions. Assume eight > >bytes per numbers, and you need 120 GByte just to store the input > >(assuming real-valued data). Add space for complex-valued output > >(260 GByte) and multiply by 2 to allow for for internal variables, > >and we are talking about something like 500-700 GByte of RAM. > > >I must have misunderstood something? > > >Rune > > The 2^34 samples of complex data, each complex data consist of 2 floating > point numbers, each floating point data size is 4 bytes. So the input data > size is ~120Gbytes which will be stored on the HDD. The FFT algorithm > implemented already and tested with simple data sets. I need more complex > data sets to cover the more.- Hide quoted text - > > - Show quoted text -Have you tried defining your "golden output" first, then creating the input that should produce it (for example a limited number of user- defined complex frequencies that correspond to bin frequencies with user-defined amplitudes and random (known) phases), then processing the input and comparing the processed results to the "golden output"? Out of curiousity are you really interested in the entire 2^34 point spectrum or are there only sections of the spectrum you are interested in, but with the resolution corresonding to 2^34 point spectrum? What is driving the large size? Dirk
Reply by ●October 21, 20082008-10-21
george86 wrote:> Hello > > I am testing my implemented "large" c2c floating point FFT (2^34 point). I > have to generate not only input vector using program written on C++, but > the golden output too.Fie. Your golden FFT is ~40 times smaller then the $700bln plan.> Could anyone suggest how can i generate input and golden output for the > FFT which will cover the corner cases ?Whatever the input is, there will be no output. It will take the eternity to compute. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Reply by ●October 21, 20082008-10-21
Rune Allnor wrote:> On 21 Okt, 14:26, "george86" <goga...@yahoo.com> wrote: >> Hello >> >> I am testing my implemented "large" c2c floating point FFT (2^34 point). I >> have to generate not only input vector using program written on C++, but >> the golden output too. > > Don't know what a 'golden output' is, but are those numbers right? > > 2^31 is 2 Billion, so 2^24 ought to be 16 Billions. Assume eight > bytes per numbers, and you need 120 GByte just to store the input > (assuming real-valued data). Add space for complex-valued output > (260 GByte) and multiply by 2 to allow for for internal variables, > and we are talking about something like 500-700 GByte of RAM. > > I must have misunderstood something?2^34 = 17,179,869,184. Assuming the loss of .5 bit per pass 17 bits in all), 8 bytes per number may be a little low. He must be joking. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������






