CUDA计时

来源:互联网 发布:ddos软件 编辑:程序博客网 时间:2024/06/07 05:32

cudaEvent_t start, stop; 

float time; 

cudaEventCreate(&start); 

cudaEventCreate(&stop); 

cudaEventRecord( start, 0 ); 

kernel<<<grid,threads>>> ( d_odata, d_idata, size_x, size_y, NUM_REPS); 

cudaEventRecord( stop, 0 ); 

cudaEventSynchronize( stop ); 

cudaEventElapsedTime( &time, start, stop ); 

cudaEventDestroy( start ); 

cudaEventDestroy( stop );


//Read more at: http://docs.nvidia.com/cuda/cuda-c-best-practices-guide/index.html#ixzz4lAXUksFd 

//Follow us: @GPUComputing on Twitter | NVIDIA on Facebook


以上为CUDA中为kernel函数计时的方法,来自Best Practices Guide : http://docs.nvidia.com/cuda/cuda-c-best-practices-guide/index.html#axzz4l4hTHXLu


但是要注意在使用该方法时,若kernel函数总计耗时很小(如微妙级),则需要在计时之前添加几个kernel函数进行warm up才能测量准确。

若kernel函数总计耗时较大(如毫秒级),则影响很小,可以考虑忽略不计。

原创粉丝点击