找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 261|回复: 4

为什么使用NVVP测量的cudamalloc占用时间和实际占用时间不一样??

[复制链接]
发表于 2018-2-21 16:05:01 | 显示全部楼层 |阅读模式
ESC4000G3
本帖最后由 zuakestralzz 于 2018-2-24 18:48 编辑

本人使用c++把cudamalloc封装进矩阵类的构造函数,cudafree封装进矩阵类的析构函数。
使用windowsperformancecounter测量cudamalloc时间大该几毫秒,但是nvvp测量的时间是几百毫秒
大佬们看看是为什么两个测试相差比较大?



回复

使用道具 举报

 楼主| 发表于 2018-2-22 22:40:19 | 显示全部楼层
Jetson TX2
我把图片上传了
捕获.JPG
捕获.JPG
捕获.JPG
回复 支持 反对

使用道具 举报

发表于 2018-2-25 16:34:45 | 显示全部楼层
Tesla P100

不好意思,过年期间,回贴不及时,开始工作了,就会正常些。

这个问题咨询了一下大神,回复如下:
1.你的windowsperformancecounter是你用windows的测时函数自己封装的测时方法
2.对于cudamalloc,有可能并不是一个即时的函数。也就是这个函数可能先返回,触发你的下一步测时函数,而该函数实际用时可能更长。(具体并没有研究过这个函数,因为cudamalloc这种一次性函数,在并行中不会被反复使用,一般不会是程序耗时部分)
3.所以,具体cuda相关函数的测时,应该以nvvp为准,毕竟这些是由gpu驱动原生封装的

回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-25 19:04:03 | 显示全部楼层
谢谢大佬解答!!
我感觉我确实不能频繁调用cudamalloc和cudafree。需要重构了,程序写的太简单哈:'(
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-25 19:04:06 | 显示全部楼层
谢谢大佬解答!!
我感觉我确实不能频繁调用cudamalloc和cudafree。需要重构了,程序写的太简单哈:'(
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

快速回复 返回顶部 返回列表