使用Visual Studio 2010编译CUDA

5
我以前使用Visual Studio 2008编译和运行CUDA应用程序。我现在换成了Visual Studio 2010和Windows 7。我一整个上午都在尝试设置集成环境,但没有完全成功。我已经下载了工具包,安装了Nsight,确保库/包含/二进制路径设置正确,勾选了使用CUDA 3.2的构建自定义选项,并将单独的.cu文件属性设置为CUDA C/C++类型而不是C/C++类型。我收到一个关于不支持编译器v100的错误,所以我将项目平台设置为v90并正在下载Visual Studio 2008。我希望不必安装两个版本的Visual Studio,但没办法。无论如何,大多数语法高亮都已启用,一些关键字如“int”是蓝色的,注释是绿色的,字符串是红色的。然而,CUDA特定的关键字如__global__不是。此外,我检查了包含目录,找不到cutil.h,所以我想知道是否还有其他东西未包含在3.2 SDK的安装中(我已经包括了cuda_runtime.h,但我不知道这是否能解决我的问题)。有人知道如何解决这个问题吗?
编辑:我已经安装了Visual Studio 2008。当我尝试编译时,我得到了一个巨大的错误列表,从1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\crtdefs.h(490): error : invalid redeclaration of type name "size_t"开始,而其余大部分错误都与size_t类型有关。所有的错误都在包含的文件中,其中大部分我从未见过。有人知道发生了什么吗?或者是否有一个简单的、逐步的指南来让VS2010使用CUDA?
编辑2:显然我当前的设置中有一个是64位的,其他的是32位的。将活动配置、Cuda C/C++目标机器平台和链接器|高级目标机器全部设置为32位或64位后,我可以编译和运行。我仍然不知道如何修复__global__等语法高亮,但这不是很大的问题。

嗨,这可能会有所帮助:https://dev59.com/c1HTa4cB1Zd3GeqPVNtc - worbel
请参考此答案的逐步操作。 - Tom
2个回答

1

0

您可以检查包含内核的源文件是否为CUDA/C文件,而不是C/C++文件。(解决方案资源管理器 -> 文件属性)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接