最近由于需要用GPU加速深度学习,当然首先需要配置下电脑。
我的显卡是入门级的k620,还有vs2013。
1、安装前一定要确认你的显卡是支持CUDA的,然后从英伟达官网下载与你电脑对应的驱动程序和 CUDA7.5安装。
2、VS2013和CUDA的安装顺序没多大关系,在这我先的装的VS2013,这个过程就不说了,实在不会就百度一下。
3、点击CUDA7.5安装程序,会弹出对话框,询问把解压文件放哪,默认就好了安装好会自动删除的,点击OK。
4、等待系统检测你的电脑是否支持CUDA
5、检测完之后会进入安装界面,点击同意并继续。
6、然后选择安装模式,选自定义,之后点击下一步。
7、你可以选择你需要的组件进行安装,这里全部勾上,点击下一步。
8、接下来是安装路径,默认就好了。
9、安装完毕后,可以看到系统中多了CUDA_PATH和CUDA_PATH_V7_5两个环境变量,接下来,还要在系统中添加以下几个环境变量:
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%
10、重新启动计算机以使环境变量生效
11、打开VS2013并建立一个空的win32控制台项目:
12、之后选择“空项目”
13、右键源文件 -> 添加 -> 新建项
14、在打开的对话框中选择新建一个CUDA格式的源文件 (如果你只是要调用 CUDA 库编写程序而不需要自行调用核函数分配块,线程的话也可以就建立 .cpp 的源文件):
15、点击类视图,右键工程 -> 生成自定义
16、在弹出的对话框中勾选"CUDA 7.5*****"选项:
17、右键项目 -> 属性 -> 配置属性 -> VC++目录,添加以下两个包含目录(如果你安装的时候改了目录,这里记得也要对应改):
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\include
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v7.5\common\inc
再添加以下两个库目录:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\lib\x64
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v7.5\common\lib\x64
18、右键项目 -> 属性 -> 配置属性 ->连接器 -> 常规 -> 附加库目录,添加以下目录:
$(CUDA_PATH_V7_5)\lib\$(Platform)
![]()
![]()
19、右键项目 -> 属性 -> 配置属性 ->连接器 -> 输入 -> 附加依赖项,添加以下库:
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
![]()
这里nvcuvenc.lib库有点问题,好像涉及计算机图像卡,运行时需要nvcuvenc.dll,编译时要nvcuvenc.dll。在后面的编译过程若报错则把nvcuvenc.lib删掉
20、右键源文件 -> 属性
![]()
21、将项类型设置为 CUDA C/C++:
![]()
22、打开配置管理器,点击 新建
![]()
23、选择 X64 平台:
![]()
好了,至此平台已经完全搭建完毕。
24、之前看别人的博客都说CUDA装好了直接deviceQuery.exe 和 bandwithTest.exe,我一直没成功,我觉应该把库文件和VS的配置好了,
打开C:\ProgramData\NVIDIACorporation\CUDA Samples\v7.5目录下的Samples_vs2013.sln工程,然后分别把1_Utilities下的四个文件设为启动项目分别在Debug、Release x64下编译工程
![]()
25、然后进入C:\ProgramData\NVIDIA Corporation\CUDA Samples\v7.5\bin\win64\Release,打开cmd,可以直接把deviceQuery.exe 和 bandwithTest.exe拖到cmd中执行。
![]()
![]()
Rsult=PASS及说明,都通过了。如果Rsult=Fail 那不好意思,重新安装吧。
下面测试代码
#include< stdio.h> #include <iostream> #include "cuda_runtime.h" #include "device_launch_parameters.h" bool InitCUDA() { int count; cudaGetDeviceCount(&count); if (count == 0) { fprintf(stderr, "There is no device.\n"); return false; } int i; for (i = 0; i < count; i++) { cudaDeviceProp prop; if (cudaGetDeviceProperties(&prop, i) == cudaSuccess) { if (prop.major >= 1) { 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 0; } printf("HelloWorld, CUDA has been initialized.\n"); system("pause"); return 0; }