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'。 –