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 に答える