2

我正在使用 Cudafy.net 进行 GPU 计算。除非我尝试使用 NSight 调试内核,否则一切正常。NSight->“启动CUDA调试”后出现这个错误:

“错误反编译 System.Void Network.ActivationFunction(Cudafy.GThread, System.Single[])”

错误后应用程序崩溃。我什至尝试了我能想到的最简单的内核(与错误匹配):

        [Cudafy]
        public static void ActivationFunction(GThread t, float[] x)
        {
            // Synapse idx
            int i = t.blockDim.x * t.blockIdx.y * t.gridDim.x           //rows preceeding current row in grid
                   + t.blockDim.x * t.blockIdx.x                        //blocks preceeding current block
                   + t.threadIdx.x;

            x[i] = 1;
        }

我已经搜索了解决方案并发现了这个: cudafy.net with NSight, debugger not working 但是,即使在对所有步骤进行多次检查后,我仍然无法使调试器运行。我什至无法在应用程序崩溃之前设置断点。也许 nvcc 或 cl 有问题?我错过了什么吗?

谢谢。

4

1 回答 1

1

我收到此错误是因为 NSight 的工作目录设置不正确。您需要将其设置在应用程序的可执行文件实际运行的位置——调试时通常是调试目录(即 C:\somepath\yourproject\bin\Debug)。

您可以通过解决方案资源管理器中的“NSight 用户属性”按钮设置此值。

于 2016-09-30T02:44:52.647 回答