[attach]3378[/attach]
上图是我一段程序的profiler,请问大家,在timeline 中1-2s那一段没有被占用,GPU在做什么?
[attach]3378[/attach]
上图是我一段程序的profiler,请问大家,在timeline 中1-2s那一段没有被占用,GPU在做什么?
楼主您好,
在这段时间内,您的host code中,未能给GPU发来有效的工作任务,从而导致它空闲。
您不应该询问为何GPU要故意空闲1-2s, 而是应该反问自己,我这段时间为何没有及时的给GPU发布任务(例如启动kernel?),我在做什么?
(例如您在读取文件初始化数据之类的,还没来得及启动kernel)。请自我考虑下。
感谢深夜来访。
我要问问我自己,为什么要让GPU等待,装作默默在思考,却无能为力,任你消失在世界的尽头……
谢谢您的回答,我去检讨
LZ您好:
您不妨将空白处以及前后的相关代码贴一下,这样有助于分析问题原因。
祝您好运~
我的程序使用了CULA库。
空白在一下两语句之间:
culaDeviceTranspose( );
culaDeviceSgesvd( );
两语句之间就有那1s的空白
[
LZ您好
建议您查一下CULA的手册,看看这两个函数是否有CPU端的后处理或者初始化工作,如有,可能是这些工作占用了时间,而导致GPU无事可做。
以及有些库也是支持指定stream的,这样可以多个依赖链之间相互掩盖,您也可以看下CULA是否可以。
我对CULA不熟,暂且建议如上,欢迎讨论,欢迎指正。
楼主您好,
CULA是第三方开发、销售的商业版软件,
您应该去联系销售商,而本论坛无法为CULA这个商业产品提供技术支持。
感谢来访。
明白的,谢谢您
谢谢您,我自己看看吧