title: FFTW - Fail to create a FFT plan when input is very large
body: <p>I want to compute autocorrelation using the FFTW library. I cannot create a plan when my input has more than ~1800mln elements. E.g.:</p>
  
  <pre><code>// my input 
  size_t size = 1024UL * 1024 * 1024 * 2;
  float * in = (float *) malloc(sizeof(float) * (size + 2));
  assert(in);
  
  // insert values in input... in[0] to in[size -1]
  
  // I want to perform an inplace FFT (this should explains the "+2" in prev malloc)
  fftwf_complex * out = (fftwf_complex *) in;
  
  // create a real to complex FFT plan
  p = fftwf_plan_dft_r2c_1d(size, in, out, FFTW_ESTIMATE);
  
  // this assertion fails...
  assert(p); 
  </code></pre>
  
  <p>Some info:</p>
  
  <ul>
  <li>Linux 64bit with 64GB physical ram + 64GB swap</li>
  <li>FFTW 3.3.3 --enable-float </li>
  <li>with ~1800mln elements the previous code works and around 10-12GB of RAM are used during the computation (input + some FFTW temp data???)</li>
  <li>I tried also working out of place or complex to complex FFT</li>
  <li>sizeof(size_t) == 8, sizeof(float) == 4, sizeof(fftwf_complex) == 8</li>
  </ul>
  
  <p>What is wrong with my code? Is there any upper bound on the input size when using FFTW?</p>