关于 Profiler 的timeline

[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这个商业产品提供技术支持。

感谢来访。

明白的,谢谢您

谢谢您,我自己看看吧