# HG changeset patch # User Yuhi TOMARI # Date 1359916997 -32400 # Node ID 8df0d312867204ce14f3688eaa4c6cbab5010f69 # Parent f3cfea46e585fe2c6534b62f4f631cbe4b64037d add time measurement function diff -r f3cfea46e585 -r 8df0d3128672 fft_fixstart/main.cc --- a/fft_fixstart/main.cc Mon Feb 04 02:59:58 2013 +0900 +++ b/fft_fixstart/main.cc Mon Feb 04 03:43:17 2013 +0900 @@ -3,6 +3,7 @@ #include #include #include +#include #ifdef __APPLE__ #include @@ -18,6 +19,9 @@ #define AMP(a, b) (sqrt((a)*(a)+(b)*(b))) +static double st_time; +static double ed_time; + cl_device_id device_id = NULL; cl_context context = NULL; cl_command_queue queue = NULL; @@ -29,6 +33,14 @@ inverse = 1 }; +static double +getTime() +{ + struct timeval tv; + gettimeofday(&tv, NULL); + return tv.tv_sec + (double)tv.tv_usec*1e-6; +} + int setWorkSize(size_t* gws, size_t* lws, cl_int x, cl_int y) { switch(y) { @@ -210,6 +222,7 @@ } } + st_time = getTime(); /* Get platform/device */ ret = clGetPlatformIDs(1, &platform_id, &ret_num_platforms); ret = clGetDeviceIDs( platform_id, CL_DEVICE_TYPE_DEFAULT, 1, &device_id, &ret_num_devices); @@ -313,6 +326,7 @@ /* Finalizations*/ ret = clFlush(queue); ret = clFinish(queue); + ed_time = getTime(); ret = clReleaseKernel(hpfl); ret = clReleaseKernel(trns); ret = clReleaseKernel(sfac); @@ -330,6 +344,7 @@ free(rm); free(xm); - fprintf(stdout, "image out put succeeded.\n"); + fprintf(stdout, "image out put succeeded.\n"); + printf("Time: %0.6f\n",ed_time-st_time); return 0; }