0
我在GPU上运行图像过滤器,我需要测量程序的每个部分进行比较的时间。首先,我尝试了time.h库,但它总是返回零。然后我读this postcudaEventRecord返回零
并在调用内核之前和之后在我的程序中使用了相同的代码,但仍然返回零。谁能告诉我问题可能是什么?
这是我的代码:
cudaEvent_t start,stop;
cudaEventCreate(&start);
cudaEventCreate(&stop);
float Elapsed=0,Cycle;
while(count)
{
cudaEventRecord(start,0);
ImgFilter<<<dimGrid,dimBlock>>>...
cudaEventRecord(stop,0);
cudaElapsedTime(&Cycle,statr,stop);
Elapsed += Cycle;
}
printf("Time = %f",Elapsed);
我也尝试打印的“周期”,但它始终为零。
非常感谢你,我会试试看。 –
请注意,它是'cudaEventElapsedTime',你已经写了'statr'而不是'start'。 –