GPU上和CPU上执行函数时间比较

来源:互联网 发布:程序员都在这里接私活 编辑:程序博客网 时间:2024/05/01 21:36
cpu上记录时间,用clock函数或者 QueryPerformanceFrequency(&num);  QueryPerformanceCounter(&num)函数;  
具体使用:QueryPerformanceFrequency(&num);  QueryPerformanceCounter(&num)函数:
 LARGE_INTEGER  num;  
  double start,end,freq;  
   QueryPerformanceFrequency(&num);     
   freq=num.QuadPart;  
   QueryPerformanceCounter(&num);   
   start= num.QuadPart;   
//…calculating… 程序部分 //
  QueryPerformanceCounter(&num);   
  end= num.QuadPart;    
  printf("time(cpu)=%2f ms\n",(end-start)*1000/freq);特别注意 不能写错格式符,不能为%d\n

clock函数:

clock_t starttime,endtime;
    double totaltime;
    starttime=clock();

//程序部分//

endtime=clock();
 totaltime=(double)((endtime-starttime)*1000/(double)CLOCKS_PER_SEC);
 printf("time(CPU): %2f ms\n", totaltime); 

GPU上记录时间最好用cudaEvent_t start,stop;这个精度到毫秒,clock精确到秒

0 0
原创粉丝点击