一开始,将cu文件,加载到项目里面时候,全是统一的白色字体,看起来感觉很糟糕。
在官网下载了cuda toolkit 后,安装完, 界面舒服一些了, 注释变成绿色,关键字变成蓝色
注意:
1、安装时候关掉 visual studio 、360安全卫士等。
2、安装完后,cuda toolkit 会自动给vs安装 NSIGHT插件。
CUDA Toolkit安装过程中会自动在Visual Studio安装NSIGHT插件。如果之前安装过较老版本的CUDA Toolkit,则会被自动卸载掉,并用7.5版本将其代替。安装程序也会自动在系统环境变量内修改“PATH”,添加“CUDA_INC_PATH”、“CUDA_LIB_PATH”、“CUDA_PATH”等值,所以我们不必过多担心CUDA的环境配置。
如果想验证CUDA是否配置正确,可以尝试编译任意一个CUDA自带的样例程序或者新建一个项目进行编译运行。
这里两个都尝试一下,默认的项目编译,和以deviceQuery为例的编译。
首先,清楚cuda 安装完成后的两个主要默认路径:
默认都在C盘下面,
一个是:C:\Program Files 另一个路径是:C:\ProgramData (samples 在这个里面)
其次,可以新建一个项目,测试默认的函数是否能编译通过:
可以直接新建一个cuda 项目,进行测试:
这是一个将两个一维数组相加的例子。
其中addKernel是内核函数,它的计算过程是在GPU上实现的,用函数类型限定符__global__限制,且函数类型为void型。
cuda_runtime.h头文件包括了运行时API和其参数的定义。(如果使用驱动API则使用cuda.h头文件)。
device_launch_parameters.h头文件包含了内核函数的5个变量threadIdx、blockDim、blockIdx、gridDim和wrapSize。
对其中CUDA运行时API函数的解释:
·cudaSetDevice():选择设备(GPU)。(可以不使用,不使用的情况下,默认选择设备0)
·cudaMalloc():动态分配显存。
·cudaMemcpy():设备与主机之内的数据拷贝。
·cudaThreadSynchronize():同步所有设备上的线程,等待所有线程结束。
·cudaFree():释放由cudaMalloc分配的显存。
·cudaThreadExit():结束CUDA上下文环境,释放其中的资源。
默认自带的kernel 核函数, 是对两个数组进行求和运算,编译后运行,运算结果如下,表明已经安装ok。
测试cuda 自带函数 是否能编译通过:
找到如下的路径案例项目, 通过vs打开sln解决方案,进行编译。
可以直接将deviceQuery_2013.sln 文件直接拖拽到vs2013窗口里面,进行编译。
测试通过
/* This sample queries the properties of the CUDA devices present in the system via CUDA Runtime API. */
这个案例请求的cuda设备的属性参数,通过cuda运行时API进行展示。
cuda在visual studio2013环境中的配置
.打开VS2013并建立一个空的win32控制台项目
需要注意的是: 在win32的编译环境中,cuda 抛弃掉了很多库文件,只剩下了如下库文件,参考文章配置cublas
因此,如果在属性资源管理器进行配置的时候,一定要区分开添加库文件, 否则会导致 win32平台的项目链接的时候报错,跟cuda完全无关的项目也一样报错,因为添加到win32编译环境中的cuda库文件是找不到的。
报错如下:
cuda测试完成后,对OpenCV进行配置。
opencv 官网下载后, 解压直接可以用而来,
两方面信息注意:
1、查看版本, 可以在lib库看里面的文件名称,30(opencv3.0) 或者32(opencv3.2版),
2、build下面的子目录有文件夹VC10 VC11 VC12 分别对应的visual studio 版本是:VS2010 2012 2013。
X64环境下的 visual studio对应版本如下图:
lib库中对应文件名的编号,可以确定是opencv的3.0版本。
lib库中对应文件名的编号,可以确定是opencv的3.2版本。