AnsweredAssumed Answered

clAmdFft inconsistent results for Real to Hermitian Interleaved

Question asked by gouse on Jun 12, 2013
Latest reply on Jun 16, 2013 by gouse

Hi,

 

I ran into some weird behavior with clAmdFft for

  • CLFFT_OUTOFPLACE
  • CLFFT_REAL to CLFFT_HERMITIAN_INTERLEAVED

case (which should be supported according to documentation).

 

I create two buffers cl_mem bufA_in & bufB_in and write there the same input data. Then (after baking FFT plan) perform FFT transform, first on bufA_in, and, second, on bufB_in:

 

     status = clAmdFftEnqueueTransform( plHandle, CLFFT_FORWARD, 1, &queue, 0, NULL, NULL, &bufA_in, &bufA_out, tmp_buf);

     status = clAmdFftEnqueueTransform( plHandle, CLFFT_FORWARD, 1, &queue, 0, NULL, NULL, &bufB_in, &bufB_out, tmp_buf);

 

The results received:

  1. Different for A & B
  2. Inconsistent between different runs.
  3. A_out[1] after reading to host != 0 (which I think should be)

 

Is it something I may be doing wrong? Will be glad to get any comments.

 

Thanks.

Outcomes