记录运行时间

记录一个在device上运行的函数的运行时间时需要用到 事件 (event):

cudaEvent_t timeStartEvent, timeEndEvent;  //声明两个cudaEvent_t变量

cudaEventCreate( &timeStartEvent, 0 );  //第二个参数忘了干吗用的了**************
cudaEventCreate( &timeEndEvent );    //第二个参数可以不用

cudaEventRecord( cudaStartEvent, 0 );    //第二个参数具体查看这个网址http://developer.download.nvidia.com/compute/cuda/4_2/rel/toolkit/docs/online/group__CUDART__EVENT_ga324d5ce3fbf46899b15e5e42ff9cfa5.html

kernel<<<block, grid>>>(...);    //要在device上运行的函数

float elapsedTime;

cudaEventRecord( cudaEndEvent, 0 );
cudaEventSynchronize( cudaEndEvent );
cudaEventElapsedTime(
&elapseTime, timeStartEvent, timeEndEvent ); //这个函数具体看上面那个网站
printf("%f\n", elapsedtime); cudaEventDestroy( timeStartEvent ); cudaEventDestroy( timeEndEvent );

 

posted @ 2013-01-06 14:12  gabo  阅读(191)  评论(0编辑  收藏  举报