我有一个在 GPU 上执行计算的 cuda 代码。我正在使用时钟();找出时间
我的代码结构是
__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 我检查了打印开始和结束时间。开始有一些价值,但结束时间总是零。
知道可能是什么原因吗?测量时间的任何替代方法。
任何帮助,将不胜感激。
谢谢