GPUで計算を実行するcudaコードがあります。私は clock(); を使用しています。タイミングを知るために
私のコード構造は
__global__ static void sum(){
// calculates sum
}
extern "C"
int run_kernel(int array[],int nelements){
clock_t start, end;
start = clock();
//perform operation on gpu - call sum
end = clock();
double elapsed_time = ((double) (end - start)) / CLOCKS_PER_SEC;
printf("time required : %lf", elapsed_time);
}
しかし、時刻は常に 0.0000 印刷の開始時刻と終了時刻を確認しました。開始にはある程度の値がありますが、終了時間は常にゼロです。
何が原因でしょうか?時間を測定するための代替手段。
どんな助けでも大歓迎です。
ありがとう