以下基于“WIN7(64位)+Visual Studio 2010+CUDA7.5”。
系统:WIN7,64位
开发平台:Visual Studio 2010
显卡:NVIDIA GeForce GTX 850M
CUDA版本:7.5
一、安装CUDA7.5
Step.1:
略
Step.2:
略
Step.3:
略
Step.4:
略
Step.5:
略
Step.6:
略
二、配置
Step.7:
安装完成后,配置环境变量。
注意,在安装CUDA Toolkit的过程中,已经自动设置了两个系统变量:CUDA_PATH、CUDA_PATH_V7_5,这可以通过开始 > 计算机 > 右键“属性” > 高级系统设置 > 高级 > 环境变量 > 系统变量(S)来查看。除此之外,我们还需要手动添加如下几个变量(添加到“系统变量(S)”里):
- CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v7.5
- CUDA_LIB_PATH = %CUDA_PATH%\lib\x64
- CUDA_BIN_PATH = %CUDA_PATH%\bin
- CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\x64
- CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64
最后,在系统变量PATH的末尾添加:
;%CUDA_LIB_PATH%;%CUDA_BIN_PATH%;%CUDA_SDK_LIB_PATH%;%CUDA_SDK_BIN_PATH%;
注意别漏了“;”号!
Step.8:
重启计算机,使环境变量生效。
Step.9:
打开Visual Studio 2010,新建一个Win32 Console Application:
在“Application Settings”的“Additional options”中,将“Empty project”勾选上:
Step.10:
进入刚新建的项目里,右键Source Files > Add > New Item...
选择“CUDA C/C++ File”,自定义源文件名,然后点击Add:
Step.11:
右键项目 > Build Customizations...
在弹出的对话框中选择“CUDA 7.5(.targets, .props)”:
Step.12:
右键项目 > Properties > Configuration Properties > VC++ Directories
在“Include Directories”中,添加以下两个目录:
- C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\include
- C:\ProgramData\NVIDIA Corporation\CUDA Samples\v7.5\common\inc
在“Library Directories”中,添加以下两个目录:
- C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\lib\x64
- C:\ProgramData\NVIDIA Corporation\CUDA Samples\v7.5\common\lib\x64
Step.13:
右键项目 > Properties > Configuration Properties > Linker > General > Additional Library Directories
添加以下目录:
- $(CUDA_PATH_V7_5)\lib\$(Platform)
Step.14:
右键项目 > Properties > Configuration Properties > Linker > Input> Additional Dependencies
添加以下库:
cublas.lib
cublas_device.lib
cuda.lib
cudadevrt.lib
cudart.lib
cudart_static.lib
cufft.lib
cufftw.lib
curand.lib
cusparse.lib
nppc.lib
nppi.lib
npps.lib
nvblas.lib(32位系统请勿附加此库!)
nvcuvenc.lib(这个库存在一些问题,如果编译出错直接删掉即可。在我的实测中的确出现了编译报错,删掉后就成功了)
nvcuvid.lib
OpenCL.lib
Step.15:
右键源文件cuda0_FirstCUDAProgram > Properties
设置“Item Type”为“CUDA C/C++”:
Step.16:
打开“Configuration Manager...”
在“Platform”处选择“<New...>”
选择“X64”
最后,选择Solution Platforms为“x64”:
至此,平台搭建完毕,可以运行代码进行测试了!
三、测试
Step.17:
测试代码如下:
#include <stdio.h>
#include <cuda_runtime.h> bool InitCUDA()
{
int count;
cudaGetDeviceCount(&count);
if(count == )
{
fprintf(stderr, "There is no device.\n");
return false;
} int i;
for(i = ; i < count; ++i)
{
cudaDeviceProp prop;
if(cudaGetDeviceProperties(&prop, i) == cudaSuccess)
{
if(prop.major >= )
{
break;
}
}
} if(i == count)
{
fprintf(stderr, "There is no device supporting CUDA 1.x.\n");
return false;
} cudaSetDevice(i); return true;
} int main()
{
if(!InitCUDA())
{
return ;
} printf("CUDA initialized.\n"); return ;
}
将以上代码复制粘贴到源文件cuda0_FirstCUDAProgram.cu里进行编译。
正如前文所言,“nvcuvenc.lib”这个库存在一些问题,在我的实测中,的确出现了编译报错:
当把“nvcuvenc.lib”从Linker > Input > Additional Dependencies中删除之后,就OK了!
References