CUDA的计时方法
2014-02-25 16:42
337 查看
本博客已迁往http://coredumper.cn
CUDA Runtime API提供了用于计时的接口,可以用如下代码对在GPU上运行的CUDA程序进行计时,计时结果以毫秒为单位:cudaEvent_t start, stop; cudaEventCreate(&start); cudaEventCreate(&stop); cudaEventRecord(start, 0); //需要计时的在GPU上运行的程序 cudaEventRecord(stop, 0); cudaEventSynchronize(stop); float kernelTime; cudaEventElapsedTime(&kernelTime, start, stop); cudaEventDestroy(start); cudaEventDestroy(stop); printf("Kernel time: %.2f ms\n", kernelTime);
需要注意的是函数cudaEventSynchronize() 不可或缺,因为CUDA的kernel函数是以异步方式执行的,调用后立刻返回,这会导致计时不准确。cudaEventSynchronize(stop)会使得直到GPU执行完cudaEventRecord(stop, 0)之前的所有语句时,事件stop才会被记录下来,即起到同步的作用。
相关文章推荐
- 用python做GPU计算(1)——安装以及配置
- GPU(CUDA)学习日记(三)------ CUDA基本架构介绍以及编程入门!
- vs2008--CUDA环境配置
- CUDA技术帖: 3D texture linear data VS 3D cudaArray
- 一个你可能不知道的cuda细节
- NVIDIA CUDA统一计算设备架构编程手册(1)
- CUDA中文教程01之心得体会
- CUDA中文教程03之心得体会
- 【GPU开发笔记】二:CUDA初探——查询设备
- cuda一些小问题(不断更新)
- 一种简单的GPU三维图像分割算法
- CUDA --1 基础知识
- 联想(Lenovo) IdeaPad Y550A-TSI 15.6英寸笔记本电脑
- 让vs2005支持NVDIA CUDA的cu文件语法高亮显示
- CUDA vc2005环境配置方法总结
- cuda 开发环境搭建
- 在AS5上安装CUDA的方法及安装NV显卡驱动后分辨率降低的处理方法
- Linux Ubuntu下面安装CUDA3.1攻略
- 【CUDA编程】 CUDA编程初始
- 最近做了个并行的计算各项异性地震波的有限元程序(cuda+mpi),可以计算超大规模问题,网格点个数可以几百亿都没有问题.