0

使用 Cudafy 1.29 版,可以从这里下载

我正在执行安装文件夹 CudafyV1.29\CudafyByExample\ 中的示例

具体来说,从 program.cs 的第 42 行开始的“第 3 章”示例调用以下内容:

simple_kernel.Execute();

这是:

public static void Execute()
{
    CudafyModule km = CudafyTranslator.Cudafy(); // <--exception thrown!

    GPGPU gpu = CudafyHost.GetDevice(CudafyModes.Target, CudafyModes.DeviceId);
    gpu.LoadModule(km);
    gpu.Launch().thekernel(); // or gpu.Launch(1, 1, "kernel"); 
    Console.WriteLine("Hello, World!");
}

指示的行引发此异常:

编译错误:CUDAFYSOURCETEMP.cu

'C:\Program' 不是内部或外部命令、可运行程序或批处理文件。.

很明显,路径有空格,程序员没有使用双引号或使用 ~ 来使其可操作。

所以,我没有写这段代码。而且我无法单步执行其中包含的密封代码CudafyModule km = CudafyTranslator.Cudafy();事实上我什至不知道导致异常的完整路径,它在异常消息中被切断。

有人对如何解决此问题有建议吗?

更新 #1:我发现 CUDAFYSOURCETEMP.cu 在我的计算机上的位置,这里是:

C:\Users\humphrt\Desktop\Active Projects\Visual Studio Projects\CudafyV1.29\CudafyByExample\bin\Debug

...我仍在尝试确定程序在“C:\Program~”的路径上寻找什么。

4

1 回答 1

0

我能够应用解决方法来绕过此问题。解决方法是将 cudafy 的所有组件重新安装到路径不带“”(空格)的文件夹中。我的设置如下图所示。请注意,我还在同一个文件夹中安装了来自 NVIDIA 的 CUDA TOOLKIT - 文件夹名称中也没有空格。

我创建了一个名为“C:\CUDA”的文件夹并在其中安装了所有组件,这是文件夹结构:

在此处输入图像描述

于 2016-01-25T19:22:19.860 回答