Visual studio 2010 Nsight调试启动和正常操作系统启动之间的差异
我想知道除了通过VisualStudio或操作系统的命令行执行二进制文件外,是什么设置了“使用Nsight调试”选项Visual studio 2010 Nsight调试启动和正常操作系统启动之间的差异,visual-studio-2010,debugging,cuda,driver,nsight,Visual Studio 2010,Debugging,Cuda,Driver,Nsight,我想知道除了通过VisualStudio或操作系统的命令行执行二进制文件外,是什么设置了“使用Nsight调试”选项 我问这个问题的原因是,如果我通过“使用Nsight调试”来运行程序,那么我的程序运行得很好,但在使用Visual Studio的启动按钮启动程序(或简单地启动可执行文件)时,在驱动程序崩溃之后,我会遇到一些未指明的CUDAEMCPY错误,这让我相信Nsight必须有某种特定的启动参数,程序才能正确运行。CUDA Nsight调试器允许您逐行调试CUDA内核,但使用标准的Visua
我问这个问题的原因是,如果我通过“使用Nsight调试”来运行程序,那么我的程序运行得很好,但在使用Visual Studio的启动按钮启动程序(或简单地启动可执行文件)时,在驱动程序崩溃之后,我会遇到一些未指明的CUDAEMCPY错误,这让我相信Nsight必须有某种特定的启动参数,程序才能正确运行。CUDA Nsight调试器允许您逐行调试CUDA内核,但使用标准的Visual Studio调试器无法做到这一点 nSight可能会执行一些代码注入,以使其能够检测内核的运行时,在您的设置中,使用nSight进行调试时,您的内核可能不会在GPU上执行。这些可能是调试器之间出现错误的原因。我知道当我使用它们时,我也有类似的矛盾
如果您通过nSight profiler运行程序,它应该能够为您清楚地记录memCpy错误。CUDA nSight调试器允许您逐行调试CUDA内核,但无法使用标准Visual Studio调试器进行此操作 nSight可能会执行一些代码注入,以使其能够检测内核的运行时,在您的设置中,使用nSight进行调试时,您的内核可能不会在GPU上执行。这些可能是调试器之间出现错误的原因。我知道当我使用它们时,我也有类似的矛盾
如果您通过nSight profiler运行程序,它应该能够为您清楚地记录memCpy错误。由于内核执行时间过长,当您的应用程序遇到错误时,会发生驱动程序崩溃,随后出现API错误。您可以通过以下方式解决此问题:安装Quadro或Tesla GPU,或者减少内核的运行时间
使用nsight进行调试时,内核执行可能会因各种原因(单步、断点和其他原因)而停止,然后重新启动,具体取决于您在调试会话中的具体操作。停止内核执行可以让windows watchdog在没有TDR事件的情况下得到满足。当应用程序因内核执行时间过长而点击时,会发生驱动程序崩溃和API错误。您可以通过以下方式解决此问题:安装Quadro或Tesla GPU,或者减少内核的运行时间
使用nsight进行调试时,内核执行可能会因各种原因(单步、断点和其他原因)而停止,然后重新启动,具体取决于您在调试会话中的具体操作。停止内核执行可以让windows watchdog在没有TDR事件的情况下感到满意。驱动程序崩溃后出现API错误最有可能是您的应用程序遇到了windows TDR事件(google that或search SO-关于它有很多问题和答案)。使用nsight进行调试时,内核执行可能会因各种原因(单步、断点和其他原因)而停止,然后重新启动,具体取决于您在调试会话中的具体操作。内核执行的停止允许windows看门狗在没有TDR事件的情况下满意。这正是发生的事情。cudaMemcpys失败,因为Windows在默认2秒超时后使驱动程序崩溃。我完全禁用了TDR,程序现在按预期运行。谢谢驱动程序崩溃和API错误最有可能是你的应用程序撞上了windows TDR事件(google that或search SO-有很多关于它的问题和答案)。使用nsight进行调试时,内核执行可能会因各种原因(单步、断点和其他原因)而停止,然后重新启动,具体取决于您在调试会话中的具体操作。内核执行的停止允许windows看门狗在没有TDR事件的情况下满意。这正是发生的事情。cudaMemcpys失败,因为Windows在默认2秒超时后使驱动程序崩溃。我完全禁用了TDR,程序现在按预期运行。谢谢