目录
- 前言
- 代码
- 计时函数
- 最后
前言
在上一篇的最后, 我提到了一个矩阵乘法, 这次与CPU进行对比, 从中可以很明显GPU在并行计算上的优势.
计时函数
在贴出代码之前, 来看下我常用的计时函数, 可以精确到微秒级. 首先头文件是
#include<sys/time.h>
. 结构体为:
struct timeval{
long tv_sec; /*秒*/
long tv_usec; /*微秒*/
};
来看下使用的小栗子:
struct timeval start, end;
double timeuse;
int sum = 0;
gettimeofday (&start, NULL);
for (int i = 0; i < 10000; i++){
sum += i;
}
gettimeofday (&end, NULL);
timeuse = end.tv_sec - start.tv_sec + (end.tv_usec - start.tv_usec)/1000000.0;
printf("Use Time:%f\n",timeuse);
代码
其实CPU部分的代码就是for循环. 你可能会考虑到用多线程, 但是我实测效果不太好,