首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NVIDIA CUDA Toolkit 5.0 Visual Profiler“启用并发内核分析”应用程序要求

NVIDIA CUDA Toolkit 5.0 Visual Profiler“启用并发内核分析”应用程序要求
EN

Stack Overflow用户
提问于 2012-10-03 17:04:44
回答 1查看 1K关注 0票数 0

操作系统: Windows 7 64位编译器: Visual Studio2010专业驱动程序: 306.23设备: GeForce GTX680或GeForce GT 650M我使用CUDA Toolkit5.0是因为我需要使用此工具包的NVIDIA的新功能,该新功能允许在时间线中查看异步执行的并发内核(这在CUDA Toolkit4.2中是不可能的)。出于这个原因,我(成功地)在我的pc上安装了这个工具包(5.0)构建了CUDA2.4.2的源代码(这是我在OpenCV博客上向我提出的建议),并且我能够使用并发内核正确地编译和执行我的应用程序:其中一些是由模块OpenCV_GPU的函数调用的,另一些是我直接用CUDA语言编写的内核。不幸的是,如果我启用“启用并发内核分析”功能,CUDA5.0NVIDIA Visual Profiler无法跟踪我的应用程序的时间线。对于仅使用OpenCV函数编写的代码和仅使用CUDA函数编写的代码,它都可以正确地创建时间线。事实上,当我在同一个应用程序中混合这两个应用程序时,它就停止工作了。我认为这可能是因为OpenCV调用应该使用与CUDA代码的其余部分相同的CUDA上下文。如何管理CUDA上下文以允许Profiler跟踪时间线?

感谢您的关注。

EN

回答 1

Stack Overflow用户

发布于 2012-10-07 00:31:35

好吧,为了解决我的问题,我实验表明这不是CUDA上下文的问题:使用CUDA和OpenCV编写的应用程序都可以被分析器很好地跟踪。相反,这是一个内存问题:简单地说,在包含CUDA版本和OpenCV版本的算法的应用程序中,我使用的流的大小是只有一个算法版本的应用程序中的两倍,这超出了分析器的内存容量。我认为这是Profiler的问题,因为使用这两种方法的应用程序可以正确运行,只有当我在Profiler中以“启用并发内核执行”的方式运行它以跟踪时间线时,它才会停止。这必须通过以下事实来解释:分析器使用更多的内存来跟踪此模式中的时间线,因此流的数量限制低于同步模式。但是,我是一个初学者,所以我最好不要冒险提出假设。我用更少的流解决了这个问题。我为这个误导性的问题道歉。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12705153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档