性能分析 cublas 应用程序

4
我试图使用Nvidia Visual Profiler在Windows上对仅使用cuBLAS的应用程序进行性能分析,但它显示我的应用程序根本没有使用GPU!也就是说,时间轴完全为空,除了性能分析开销之外。为了确保没有人更改了我的安全设置或其他设置,我分析了一个包含内核和cudaMemcpy调用的应用程序,并成功进行了分析。出现了什么情况?我是否缺少某些设置?链接到错误版本的cuBLAS库?还是它实际上没有调用GPU(虽然这对我来说似乎完全不可能...)?如果有64位支持,则使用英特尔编译器。谢谢!

3
你在启动内核后是否调用了cudaDeviceSynchronize或cudaDeviceReset?分析器需要调用其中一个函数才能知道何时转储GPU记录。 - Greg Smith
1个回答

5

如果将来有人遇到这个问题:我不得不在我的cuBLAS函数周围使用cudaProfilerStart()cudaProfilerStop()。仅仅添加cudaDeviceSynchronize()不能解决这个问题。


我不确定你所说的是否正确。我一直能够对cuBLAS进行分析,而无需调用cudaProfilerStart()cudaProfilerStop()。通常情况下,调用cudaDeviceReset()就足够了,正如@GregSmith所指出的那样。 - Vitality
@JackOLantern,你可能是对的,这可能是我设置的特殊情况。但是,如果其他人遇到了同样的问题,这个解决方法可以解决它。 - Andrew

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接