CUDA 6.0 安装及配置( WIN7 64位 / 英伟达G卡 / VS2010 )
前言本文讲解如何在VS 2010开发平台中搭建CUDA开发环境
当前配置:
系统:WIN7 64位
开发平台:VS 2010
显卡:英伟达G卡
CUDA版本:6.0
若配置不一样,请勿参阅本文。
第一步
点击这里下载 cuda最新版,目前最高版本是6.0。下载完毕后得到 cuda_6.0.37_winvista_win7_win8.1_general_64.exe 文件。
第二步
运行安装程序,弹出安装过程中转文件路径设定框:
这个路径随便填无所谓,安装完后就会自动删除的,我就直接设置为默认的。
第三步
等待系统帮你检测当前平台是否适合搭建CUDA:
第四步
检测完毕后,正式进入CUDA安装界面:
同意并继续
第五步
然后选择安装模式:
为了完全安装所有功能,选择自定义模式安装。
第六步
接下来勾选要安装的组件:
全部勾上
第七步
接下来要设置三个安装路径:
这三个路径安装的是什么在日后的文章中将会解释,目前先不理会,直接安装到默认路径。点击下一步之后开始正式安装。
第八步
安装完毕后,可以看到系统中多了CUDA_PATH和CUDA_PATH_V6_0两个环境变量,接下来,还要在系统中添加以下几个环境变量:
CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v6.0
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%;
第九步
重新启动计算机以使环境变量生效
第十步
打开VS2010并建立一个空的win32控制台项目:
附加选项那里请把“空项目”打钩:
第十一步
右键源文件 -> 添加 -> 新建项 如下图所示:
在打开的对话框中选择新建一个CUDA格式的源文件 (如果你只是要调用 CUDA 库编写程序而不需要自行调用核函数分配块,线程的话也可以就建立 .cpp 的源文件):
第十二步
右键工程 -> 生成自定义 如下图所示:
在弹出的对话框中勾选“CUDA 6.0 *****"选项:
第十三步
右键项目 -> 属性 -> 配置属性 -> VC++目录,添加以下两个包含目录:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.0\include
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v6.0\common\inc
再添加以下两个库目录:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.0\lib\x64
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v6.0\common\lib\x64
第十四步
右键项目 -> 属性 -> 配置属性 ->连接器 -> 常规 -> 附加库目录,添加以下目录:
$(CUDA_PATH_V6_0)\lib\$(Platform)
如下图所示:
第十五步
右键项目 -> 属性 -> 配置属性 ->连接器 -> 输入 -> 附加依赖项,添加以下库:
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
如下图所示:
第十六步
右键项目 -> 属性,如下图所示:
将项类型设置为 CUDA C/C++:
第十七步
打开配置管理器,如下图所示:
点击 新建,如下图所示:
选择 X64 平台:
好了,至此平台已经完全搭建完毕,可用以下代码进行测试:
1 // CUDA runtime 库 + CUBLAS 库
2 #include "cuda_runtime.h"
3 #include "cublas_v2.h"
4
5 #include
6 #include
7
8 using namespace std;
9
10 // 定义测试矩阵的维度
11 int const M = 5;
12 int const N = 10;
13
14 int main()
15 {
16 // 定义状态变量
17 cublasStatus_t status;
18
19 // 在 内存 中为将要计算的矩阵开辟空间
20 float *h_A = (float*)malloc (N*M*sizeof(float));
21 float *h_B = (float*)malloc (N*M*sizeof(float));
22
23 // 在 内存 中为将要存放运算结果的矩阵开辟空间
24 float *h_C = (float*)malloc (M*M*sizeof(float));
25
26 // 为待运算矩阵的元素赋予 0-10 范围内的随机数
27 for (int i=0; i
页:
[1]