1

以下代码片段要包含哪个头文件以使用 cuda 事件方法测量时间?

cudaEvent_t start,stop;
cudaEventCreate(&start);
cudaEventCreate(&stop);
float Elapsed=0,Cycle;

for (int p=1; p<=MSG_NUM; p++)
{ 
    cudaEventRecord(start,0);

    add<<<R, (M+R), (M+R)* sizeof(int)>>>( d_msg, d_checkSumArray ); 

    cudaEventRecord(stop,0);
    cudaEventSynchronize(stop);
    cudaElapsedTime(&Cycle,start,stop);
    Elapsed += Cycle;
}

printf("Time = %f",Elapsed);

我的程序显示以下错误,因为没有包含头文件。

错误:标识符“cudaElapsedTime”未定义

有人可以提供解决方案吗?

4

1 回答 1

6

正确的 API 调用是cudaEventElapsedTime(...)

除此之外,您的参数看起来正确。

如果您使用 nvcc 进行编译,则不需要任何特殊的包含头文件。

于 2012-11-21T15:20:57.983 回答