AnsweredAssumed Answered

BenchMarking CLFFT

Question asked by karthik_hegde on Oct 27, 2014
Latest reply on Nov 5, 2014 by pinform

Hi,

 

I am trying to benchmark clamdfft on AMD radeon 7470M. Kindly comment on the method of benchmarking.

 

I call the FFT kernel like this, with event as cl_event.

 

err = clAmdFftEnqueueTransform(planHandle, CLFFT_BACKWARD, 1, &queue, 0, NULL, &event,

        buffersIn, buffersOut, tmpBuffer);

 

With profiling enabled I get the time elapsed like this.

 

  clGetEventProfilingInfo(event, CL_PROFILING_COMMAND_START, sizeof(time_start), &time_start, NULL);

  clGetEventProfilingInfo(event, CL_PROFILING_COMMAND_END, sizeof(time_end), &time_end, NULL);

  total_time = time_end - time_start;

  printf("%0.6f \t", (total_time / 1000000.0));

 

 

Is this the right way to benchmark clfft?  My results are as follows,

(time in milli seconds for FFT length in powers of 2 - starting from 2 power 1)

[0.019,0.02224,0.02356,0.02336,0.03184,0.03092,0.03774,0.03100,0.04372,0.05408,0.06496,0.1325,0.1016,0.21128,0.37712,1.865,0.3978,0.5129,1.025,2.0375,3.8271,8.1811,15.377,46.533]

Outcomes