DSPRelated.com
Forums

FFT input and golden output generator

Started by george86 October 21, 2008
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


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
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
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
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
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
>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.
On Oct 21, 10:01&#4294967295;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

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
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. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;