我写下我的第一个CUDA代码如下:
#include<iostream>
__global__ void kernel ()
{
}
int main()
{
kernel<<<1, 1>>> ();
std::cout<<"hello world"<<std:endl;
system("pause");
return 0;
}
我按照这两页的说明设置了Visual Studio 2008:
但是在编译之后,它会产生错误。我不知道问题是什么,或者我哪里出错了。以下是在32位Windows 7系统上运行时构建输出窗口包含的内容:
1>------ Build started: Project: CUDA, Configuration: Debug Win32 ------
1>Compiling with CUDA Build Rule...
1>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v3.2\\bin\nvcc.exe" -gencode=arch=compute_10,code=\"sm_10,compute_10\" -gencode=arch=compute_20,code=\"sm_20,compute_20\" --machine 32 -ccbin "d:\Program Files\Microsoft Visual Studio 9.0\VC\bin" -Xcompiler "/EHsc /W3 /nologo /O2 /Zi /MT " -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v3.2\\include" -maxrregcount=32 --compile -o "Debug/main.cu.obj" main.cu
1>main.cu
1>Catastrophic error: cannot open source file "C:/Users/露隆/AppData/Local/Temp/tmpxft_000011e4_00000000-8_main.compute_10.cpp1.ii"
1>1 catastrophic error detected in the compilation of "C:/Users/露隆/AppData/Local/Temp/tmpxft_000011e4_00000000-8_main.compute_10.cpp1.ii".
1>Compilation terminated.
1>Project : error PRJ0019: A tool returned an error code from "Compiling with CUDA Build Rule..."
1>Build log was saved at "file://c:\Users\丁\AppData\Local\NVIDIA Corporation\NVIDIA GPU Computing SDK 3.2\C\src\CUDA\Debug\BuildLog.htm"
1>CUDA - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
你能帮我解决这个问题吗?我在SDK src
目录中运行了一些示例,我可以成功编译并运行示例deveicQuery
,但是当我尝试编译BandWithTest
时,我得到了同样的错误。
答案 0 :(得分:2)
您的目录名称中似乎有一些非拉丁字符,这可能会导致问题。您可以尝试将工具包和项目放入没有这些字符的目录中吗?您可能还需要将TMPDIR和TEMPDIR环境变量(我认为我记得正确)指向仅拉丁路径。
如果这是问题所以请回复此处并考虑提交错误(如果您还没有,则需要成为注册开发人员)。