2 Replies Latest reply on Nov 5, 2014 4:12 AM by pinform

    BenchMarking CLFFT

    karthik_hegde

      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]