Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 CUDA在64位windows 7中不工作_Visual Studio 2008_Cuda - Fatal编程技术网

Visual studio 2008 CUDA在64位windows 7中不工作

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

我在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 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”?