正如主题所述,我无法让调试器工作。以下是我完成的步骤顺序。
注意:我安装了 Cuda 5.0 和 NSight visual studio edition 3.0。我听说现在可以使用单个 GPU 进行调试。我假设 5.0 还可以,我不需要 5.5 候选版本?
1)根据网站上的说明更改代码以包含以下内容:
CudafyModes.Target = eGPUType.Cuda;
CudafyModes.DeviceId = 0;
CudafyTranslator.Language = eLanguage.Cuda;
CudafyModule km = CudafyTranslator.Cudafy(eArchitecture.sm_20);
//Included this line.
CudafyTranslator.GenerateDebug = true;
_gpu = CudafyHost.GetDevice(eGPUType.Cuda);
_gpu.LoadModule(km);
2)在此之后设置一个断点。
3) 一旦遇到断点就停止调试。
4)解决方案资源管理器,选择“显示所有文件”并找到“CUDAFYSOURCTEMP.cu”文件。
5)右键单击并选择“添加到项目”。
6) 打开 NSIGHT HUD 启动器 3.0。
7) 设置如下:
8) 点击确定。
9) 双击 CUDAFYSOURCETEMP.cu 并在代码中设置断点。
10) 转到 NSight Monitor 并单击“NSight Monitor Ooption”-> CUDA 并设置以下内容:
11)回到VS2010并选择NSight-> Start Cuda Debugging。
一旦完成,我将光标悬停在变量上,一旦断点被击中,但没有任何显示。只有blockDim、blockIdx 和threadIdx 显示了一些东西。
我还打开了 CUDA WarpWatch1 窗口,输入了一个变量,但出现以下错误“无法解析名称“num2”。
我错过了一步还是什么?
编辑这是编译期间输出窗口的输出。
线程“vshost.LoadReference”(0x1f78)已退出,代码为 0(0x0)。'FrazerMann.Profiler.UserInterface.vshost.exe'(托管 (v4.0.30319)):已加载 'C:\Users\FrazMann\Desktop\Market Adj 条目 CUDA - MK2\FrazerMann.Profiler.UserInterface\bin\x64\Debug\ FrazerMann.Profiler.UserInterface.exe',已加载符号。'FrazerMann.Profiler.UserInterface.vshost.exe'(托管 (v4.0.30319)):已加载 'C:\Users\FrazMann\Desktop\Market Adj 条目 CUDA - MK2\FrazerMann.Profiler.UserInterface\bin\x64\Debug\ Cudafy.NET.dll''FrazerMann.Profiler.UserInterface.vshost.exe'(托管(v4.0.30319)):加载'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Numerics\v4.0_4.0.0 .0__b77a5c561934e089\System.Numerics.dll',跳过加载符号。模块已优化且调试器选项 ' 启用了“仅我的代码”。'FrazerMann.Profiler.UserInterface.vshost.exe'(托管 (v4.0.30319)):加载 'C:\Windows\Microsoft.Net\assembly\GAC_64\System.Data.OracleClient\v4.0_4.0.0.0__b77a5c561934e089\System .Data.OracleClient.dll',跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。'FrazerMann.Profiler.UserInterface.vshost.exe'(托管 (v4.0.30319)):加载 'C:\Windows\Microsoft.Net\assembly\GAC_64\System.Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web .dll''FrazerMann.Profiler.UserInterface.vshost.exe'(托管 (v4.0.30319)):加载 'C:\Windows\Microsoft.Net\assembly\GAC_64\System.Transactions\v4.0_4.0.0.0__b77a5c561934e089\ System.Transactions.dll',跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。'FrazerMann.Profiler.UserInterface.vshost.exe'(托管 (v4.0.30319)):加载 'C:\Windows\Microsoft.Net\assembly\GAC_64\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices .dll',跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。'FrazerMann.Profiler.UserInterface.vshost.exe'(托管 (v4.0.30319)):已加载 'C:\Windows\Microsoft.Net\assembly\GAC_64\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices .Wrapper.dll',跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。'FrazerMann.Profiler.UserInterface.vshost.exe'(托管(v4.0.30319)):已加载“匿名托管的 DynamicMethods 程序集”“FrazerMann.Profiler.UserInterface.vshost.exe”(托管 (v4.0.30319)):已加载“C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Accessibility\v4.0_4.0.0。 0__b03f5f7f11d50a3a\Accessibility.dll''FrazerMann.Profiler.UserInterface.vshost.exe'(托管(v4.0.30319)):加载'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Data.SqlXml\v4.0_4 .0.0.0__b77a5c561934e089\System.Data.SqlXml.dll',跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。'FrazerMann.Profiler.UserInterface.vshost.exe'(托管 (v4.0.30319)):加载 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xaml\v4.0_4.0.0.0__b77a5c561934e089\System.Xaml .dll',跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。'FrazerMann.Profiler.UserInterface.vshost.exe'(托管 (v4.0.30319)):已加载 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ComponentModel.Composition\v4.0_4.0.0.0__b77a5c561934e089\System .ComponentModel.Composition.dll',跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。'FrazerMann.Profiler.UserInterface.vshost.exe'(托管 (v4.0.30319)):已加载 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.Build.Framework\v4.0_4.0.0.0__b03f5f7f11d50a3a\Microsoft .Build.Framework.dll',跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。'FrazerMann.Profiler.UserInterface.vshost.exe'(托管(v4.0.30319)):加载 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Caching\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Runtime.Caching.dll',跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。'FrazerMann.Profiler.UserInterface.vshost.exe'(托管 (v4.0.30319)):加载 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.ApplicationServices\v4.0_4.0.0.0__31bf3856ad364e35\System .Web.ApplicationServices.dll''FrazerMann.Profiler.UserInterface.vshost.exe'(托管 (v4.0.30319)):已加载'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.DirectoryServices.Protocols\v4。 0_4.0.0.0__b03f5f7f11d50a3a\System.DirectoryServices.Protocols.dll',跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。'FrazerMann.Profiler.UserInterface.vshost.exe'(托管 (v4.0.30319)):加载 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.DirectoryServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.DirectoryServices .dll',跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。FrazerMann.Profiler.UserInterface.TaskManager x threadIdx x blockIdx x blockDim 长度长度 x threadIdx x blockIdx x blockDim 长度 x threadIdx x blockIdx x blockDim GetLength x threadIdx x blockIdx x blockDim QuickSortOfValues1 x threadIdx x blockIdx x blockDim QuickSortOfValues1 QuickSortOfValues1 FrazerMann.Profiler.UserInterface。 TaskManager/o__SiteContainer0 编译器版本:v5.0 Net\assembly\GAC_MSIL\System.DirectoryServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.DirectoryServices.dll',跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。FrazerMann.Profiler.UserInterface.TaskManager x threadIdx x blockIdx x blockDim 长度长度 x threadIdx x blockIdx x blockDim 长度 x threadIdx x blockIdx x blockDim GetLength x threadIdx x blockIdx x blockDim QuickSortOfValues1 x threadIdx x blockIdx x blockDim QuickSortOfValues1 QuickSortOfValues1 FrazerMann.Profiler.UserInterface。 TaskManager/o__SiteContainer0 编译器版本:v5.0 Net\assembly\GAC_MSIL\System.DirectoryServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.DirectoryServices.dll',跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。FrazerMann.Profiler.UserInterface.TaskManager x threadIdx x blockIdx x blockDim 长度长度 x threadIdx x blockIdx x blockDim 长度 x threadIdx x blockIdx x blockDim GetLength x threadIdx x blockIdx x blockDim QuickSortOfValues1 x threadIdx x blockIdx x blockDim QuickSortOfValues1 QuickSortOfValues1 FrazerMann.Profiler.UserInterface。 TaskManager/o__SiteContainer0 编译器版本:v5.0 C:\Program Files\NVIDIA GPU 计算工具包\CUDA\v5.0\bin\nvcc -I"C:\Program Files\NVIDIA GPU 计算工具包\CUDA\v5.0\include" -m64 -arch=sm_20 "C :\Users\FrazMann\Desktop\Market Adj Entry CUDA - MK2\FrazerMann.Profiler.UserInterface\bin\x64\Debug\CUDAFYSOURCETEMP.cu" -o "C:\Users\FrazMann\Desktop\Market Adj Entry CUDA - MK2\ FrazerMann.Profiler.UserInterface\bin\x64\Debug\CUDAFYSOURCETEMP.ptx" --ptx CUDAFYSOURCETEMP.cu tmpxft_000010d0_00000000-5_CUDAFYSOURCETEMP.cudafe1.gpu tmpxft_000010d0_00000000-10_CUDAFYSOURCETEMP.cudafe2g.
'FrazerMann.Profiler.UserInterface.vshost.exe'(托管 (v4.0.30319)):加载 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Dynamic\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Dynamic .dll',跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。