Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 Nsight调试启动和正常操作系统启动之间的差异_Visual Studio 2010_Debugging_Cuda_Driver_Nsight - Fatal编程技术网

Visual studio 2010 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

我想知道除了通过VisualStudio或操作系统的命令行执行二进制文件外,是什么设置了“使用Nsight调试”选项


我问这个问题的原因是,如果我通过“使用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,程序现在按预期运行。谢谢