Visual studio 2008 CUDA在64位windows 7中不工作
我在64位windows 7中安装了cuda toolkit 4.0。我试着建立我的cuda代码Visual studio 2008 CUDA在64位windows 7中不工作,visual-studio-2008,cuda,Visual Studio 2008,Cuda,我在64位windows 7中安装了cuda toolkit 4.0。我试着建立我的cuda代码 #include<iostream> #include"cuda_runtime.h" #include"cuda.h" __global__ void kernel(){ } int main(){ kernel<<<1,1>>>(); int c = 0; cudaGetDeviceCount(&c); cudaDeviceProp pr
#include<iostream>
#include"cuda_runtime.h"
#include"cuda.h"
__global__ void kernel(){
}
int main(){
kernel<<<1,1>>>();
int c = 0;
cudaGetDeviceCount(&c);
cudaDeviceProp prop;
cudaGetDeviceProperties(&prop, 0);
std::cout<<"the name is"<<prop.name;
std::cout<<"Hello World!"<<c<<std::endl;
system("pause");
return 0;
}
#包括
#包括“cuda_runtime.h”
#包括“cuda.h”
__全局无效内核(){
}
int main(){
内核();
int c=0;
cudaGetDeviceCount&c;
cudaDeviceProp支柱;
CudaGetDeviceProperty(&prop,0);
std::cout将cudart.lib添加到其他库中
要添加库,请转到
项目属性/配置属性/链接器/输入/其他依赖项
并添加cudart.lib
更新:CUDA be default将只安装本机二进制文件。您在64位系统上。如果您必须编译32位应用程序,那么您可能需要下载并安装32位CUDA工具包才能获得32位二进制文件——我原以为默认情况下它们包含在其中,但我现在不在Win7环境中——我将稍后查看并更新
另一个选项是我强烈推荐的,即切换到构建本机64位二进制文件。为此,您需要编辑配置管理
,并从Win32切换到x64
如果没有x64选项,则需要进入第三个配置管理
选项并为x64添加配置文件
最基本的一点是,由于您试图链接一个32位应用程序,它会忽略您已安装的64位二进制文件。将cudart.lib添加到其他库中
要添加库,请转到
项目属性/配置属性/链接器/输入/其他依赖项
并添加cudart.lib
更新:CUDA be default将只安装本机二进制文件。您在64位系统上。如果您必须编译32位应用程序,那么您可能需要下载并安装32位CUDA工具包才能获得32位二进制文件——我原以为默认情况下它们包含在其中,但我现在不在Win7环境中——我将稍后查看并更新
另一个选项是我强烈推荐的,即切换到构建本机64位二进制文件。为此,您需要编辑配置管理
,并从Win32切换到x64
如果没有x64选项,则需要进入第三个配置管理
选项并为x64添加配置文件
最基本的一点是,由于您试图链接一个32位应用程序,它会忽略您已安装的64位二进制文件。我还建议不要添加标题,它们给了我可怕的链接器错误。使用Microsoft DLL(msvrt等…)
我不确定,但是不应该在CUDA代码中,因为它不受支持
有人能证实这一点吗?我还建议不要添加标题,他们给了我可怕的链接器错误
我不确定,但是不应该在CUDA代码中,因为它不受支持
有人可以确认吗?您应该转到“控制面板”,然后添加/删除软件。然后单击Visual Studio的“删除”,然后单击“下一步”,您将看到“添加或删除功能”,单击它。应该检查组件64x。我以前遇到过与您相同的问题。通过这种方式,您可以解决它。您应该转到“控制面板”,然后添加/删除软件。然后单击Visual Studio的“删除”,然后单击“下一步”,您将看到“添加或删除功能”,单击它。应该检查组件64x。我以前遇到过与您相同的问题。通过这种方式,您可以解决它。看起来您没有链接cuda运行时库。我无法告诉您如何在visual studio中修复该问题,但这是问题的根源。看起来您没有链接cuda运行时库。我无法告诉您如何修复在visual studio中,这是问题的根源。请注意,第三个屏幕截图的第二部分中显示了这一点。您好,我以前已经做过这项工作。我在为Win32编译VS时使用的64位操作系统是否存在问题。另外,我需要哪一个版本的CUDA:32位还是64位。好的。然后我想我知道发生了什么。CUDA默认只安装64个二进制文件。我将更新我的答案。一秒钟。我想我们还需要在其他地方将其设置为64个…有什么想法吗?你说它“跳过构建”是什么意思?当你创建一个x64
配置时,你是否也将必要的项目添加到它中作为“x64”?请注意,它在第三节的第二节中显示屏幕截图。嗨,我以前已经做过。我正在使用的64位操作系统在Win32的VS编译中是否有问题。另外,我需要哪个版本的CUDA:32位还是64位。好的。然后我想我知道发生了什么。CUDA默认只安装64个二进制文件。我将更新我的答案。一秒钟。我想我们需要将其设置为64还有其他地方……有什么想法吗?你说它“跳过构建”是什么意思?当你创建一个x64
配置时,你是否也向它添加了必要的项目作为“x64”?