首先请允许我无耻的假设你安装的显卡完美支持CUDA。。。【是否支持去Nvidia官网一查便知】
第一步:安装下列三个应用应用程序文件:
1、devdriver_3.2_winvista-win7_32_260.99_notebook.exe【Developer Drivers for WinVista and Win7 】
2、gpucomputingsdk_3.2.16_win_32.exe【GPU Computing SDK code samples】
3、cudatoolkit_3.2.16_win_32.msi【CUDA Toolkit】
以上文件下载猛叩我。
然后依次安装即可。注意在安装完毕Toolkit【内含头文件和库,nvcc编译器,以及帮助文档】后请前往检查自己的环境变量,不出意外的话,系统变量里应该增加以下三项:
CUDA_BIN_PATH contains the compiler executables and runtime libraries.
CUDA_INC_PATH contains the include files needed to compile CUDA programs.
CUDA_LIB_PATH contains the libraries needed for linking CUDA codes.
第二步:设置VS2008
1> 文本关联
由于CUDA使用的源文件是.cu文件,因此默认情况下VS不会识别它里面的语法,会把它当成普通的txt文件。
Tools->options,左侧树形图展开Text Editor,在File Extension子项中:
Extension:cu Editor:Microsoft Visual C++
点击Add,这样cu文件就会被当做cpp文件显示了。由于VS不会立即更新,需要重新启动VS。
2> 路径包含
Tools->options,左侧树形图展开Projects and Solutions,选VC++ Directories子项,
Platform: 默认是win32,假如你是x64,改成x64即可。
Show directories for:【以我的为例】
Include files添加:
a) C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v3.2/include
b) C:/ProgramData/NVIDIA Corporation/NVIDIA GPU Computing SDK 3.2/C/common/inc
Library files添加:
a) C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v3.2/lib
b) C:/ProgramData/NVIDIA Corporation/NVIDIA GPU Computing SDK 3.2/C/common/lib
3> 编译配置
Build->Configuration Manager,
Active Solution Configuration:Release(or Debug)
Active Solution Platform: win32或者x64(如果没有需要new一个)
工程设置
Project->Custom Build Rules,Find existing,找到【以我的为例】
C:/ProgramData/NVIDIA Corporation/NVIDIA GPU Computing SDK 3.2/common/cuda.rules,打开,名称任意,在左侧勾选上,这样就可以调用nvcc来编译cu文件了。
在工程上点右键->Properties,左侧树形控件Configuration Properties->Linker->Input,在右侧Additional Dependencies里添加:
"C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v3.2/lib/Win32"/cudart.lib "C:/ProgramData/NVIDIA Corporation/NVIDIA GPU Computing SDK 3.2/C/common/lib"/cutil32.lib "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v3.2/lib/Win32"/cuda.lib
注意:格式是"绝对路径" + 文件名,绝对路径包括引号,文件名没有引号,三个库文件都添加,基本上编译就不会出问题了。
头文件为
#include <cuda.h>,
#include <cuda_runtime.h>
以上所有完成后别忘重启VS!
4> 运行
此时编译或者运行假如出现错误:error RC2135 : file not found:XXX【XXX为第一个函数的返回值类型,void int等】
这个很囧,我不记得自己是怎么修改好的。应该是文件路径配置错误,假如严格按照上述的步骤,应该不会出现这个错误。
假如出现错误:LNK1104: 无法打开文件“C:/Program.obj”,也应该是上面配置错误,参照自己实际情况进行更改。然后为了保证成功率,在源文件上右键选择编译,不出意外就会编译成功,然后运行之即可。下面截个运行成功的图以示得瑟【程序是网上的数组拷贝】:
源码:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~姐是性感的分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
以下针对Virtualbox + XP + VS2005的配置:
首先请再次允许我无耻的假设你安装的显卡完美支持CUDA。。。【是否支持去Nvidia官网一查便知】
第一步:安装下列二个应用应用程序文件:
1、gpucomputingsdk_3.2.16_win_32.exe【GPU Computing SDK code samples】
2、cudatoolkit_3.2.16_win_32.msi【CUDA Toolkit】
驱动我这里装不上,说是我的windows版本不够和谐。于是没装,事实证明不装没问题。同样,安装完sdk后跑去环境变量里去侦察
下是不是多了该多的东西【同上】。
第二步:设置VS2005
以上文件下载猛叩我。
1> 文本关联同上
2> 路径包含同上,只是文件位置变成了下面这样:
Include files添加:
a) C:/Documents and Settings/All Users/Application Data/NVIDIA Corporation/NVIDIA GPU Computing SDK 3.2/C
/common/inc
b) C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v3.2/include
Library files添加:
a) C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v3.2/lib
b) C:/Documents and Settings/All Users/Application Data/NVIDIA Corporation/NVIDIA GPU Computing SDK 3.2/C
/common/lib
3> 编译配置
Build->Configuration Manager,
Active Solution Configuration:Release(or Debug)
Active Solution Platform: win32或者x64(如果没有需要new一个)
工程设置
Project->Custom Build Rules,Find existing,找到【以我的虚拟XP为例】
C:/Documents and Settings/All Users/Application Data/NVIDIA Corporation/NVIDIA GPU Computing SDK 3.2/C/common
/cuda.rules,打开,名称任意,在左侧勾选上,这样就可以调用nvcc来编译cu文件了。事实上,我刚开始并没有看到cuda.rules
文件,Google了一下网上也有好多人碰到同类问题,有人说版本不同这个文件的位置改了,果断全盘搜依然无果。后跑去win7下跟
相应的文件夹对比下,只是缺了个cuda.rules的差别,果断从win7借一个过去,于是屡试不爽。
在工程上点右键->Properties,左侧树形控件Configuration Properties->Linker->Input,在右侧Additional Dependencies里添
加:
"C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v3.2/lib/Win32"/cudart.lib "C:/Program Files/NVIDIA GPU
Computing Toolkit/CUDA/v3.2/lib/Win32"/cuda.lib "C:/Documents and Settings/All Users/Application Data/NVIDIA
Corporation/NVIDIA GPU Computing SDK 3.2/C/common/lib"/cUtil32.lib
注意:格式是"绝对路径" + 文件名,绝对路径包括引号,文件名没有引号,三个库文件都添加,基本上编译就不会出问题了。
余下同上,偶了。