【GPU】基于VS2012 的NVIDA OpenCL安装与配置

本文介绍了如何在VS2012环境下安装和配置NVIDIA OpenCL,包括检测PC的OpenCL支持情况,下载安装NVIDIA驱动,以及在VS2012中设置OpenCL的路径。通过编写测试程序验证了OpenCL环境的正确性,为后续的OpenCL程序设计打下了基础。
摘要由CSDN通过智能技术生成

本博客涉及图像处理任务的加速问题,使用通用图像处理单元GPGPUs(General Purpose Graphics Processing Units),或简而言之,带并行处理的GPU,GPU本质上是一个专门为图形处理或浮点运算而设计的协处理器,目标是改善诸如视频游戏和交互三维图形之类的应用程序性能。当图形在GPU上执行时,CPU可以用来进行其他计算(如游戏中的人工智能部分)。

OPENCV库中包含了对OPENCL和CUDA GPU架构的支持,但是OPENCL得到更多设备的支持,甚至包含在一些NVIDIA图形卡中。

最近在学习OpenCL,想着搭建OpenCL的编码环境,自己编几个程序练习练习。要编程,那第一步就是要搭建编程环境了。

  我的PC上安装过VS2012,配置好了OPENCV,这个节省了不少时间。使用OpenCL编程,不可避免地要使用到图像处理,OpenCV是最佳选择了。

1、 检测PC对OpenCL的支持情况

2008年,苹果公司向Khronos Group提交了一份关于跨平台计算框架的草案,该草案由苹果公司开发,并与AMD、IBM、Intel和NVIDIA公司合作逐步完善。这个跨平台计算框架就是OpenCL(Open Computing Language,开放计算语言)。2008年12月8日,OpenCL 1.0技术规范发布。2010年6月14日,OpenCL 1.1发布。2011年11月19日,OpenCL 1.2发布。2013年11月19日,OpenCL 2.0发布。

从OpenCL技术规范的发布历史看,2008年以前的PC一定是不支持OpenCL的。之后的芯片,也会因为年份不同、厂商不同,对OpenCL的版本支持不同。

  怎么能准确地知道自己PC对OpenCL及OpenGL的支持情况呢?我们可以利用GPU-Z的工具来查看它可以很详细地检测到你的PC的GPU情况,以及对OpenCL/OpenGL/CUDA/Vulkan的支持。这是我主机配置截图:

     可以看到我的主机显卡是NVIDA GetForce GTX750,在最下面一栏Computing中显示支持OpenCL,CUDA                

2、OpenCL安装及环境配置

      查阅资料,发现对于NVIDA的显卡,并没有单独的OpenCL SDK供安装使用,它是被CUDA SDK Tookits包含的,所以我们只需要下载安装CUDA   Tookit即可,我安装的是目前最新的版本CUDA Tookit 8.0。选择与自己系统匹配的版本,安装即可。安装好CUDA之后,OpenCL的配置就已经完成了80%了,剩下的工作就是把OpenCL的路径添加到工程中。

  根据我的PC上GPU的型号,我下载NVIDIA的OpenCL驱动。在下面的网页上下载了cuda_8.0.61.exe:

  https://developer.nvidia.com/cuda-downloads

  安装时默认安装到了C盘(安装所占内存较大,可以安装在其他盘,安装在其他盘的话,也会在c盘生成如下路径C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0,我们要配置的东西就在这里),具体目录为:

  C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0



测试CUDA安装成功与否


打开VS2015(VS2012),选择新建一个项目,可以看到,已安装模板下边多了一个NVIDIA选项,说明安装成功!



  接下来,在VS2012中建立新工程,配置OpenCL的相关路径,对OpenCL安装是否成功做了检测。具体步骤如下:

首先,创建了Visual C++下的Win32控制台应用程序opencl_test。接着配置OpenCL的路径。在工程属性页的“VC++ 目录”下,配置它的“包含目录”和“库目录”。

(1)“包含目录”中选择路径:

  C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include

(2)“库目录”中选择路径:

    C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\Win32

需要注意的是,因为我创建的是Win32控制台应用程序,必须选择lib下的Win32目录,而不能选择x64目录。

(3)接下来对“链接器”的“输入”页面进行配置。在它的“附加依赖项”中添加库OpenCL.lib即可

3、经过以上步骤,OpenCL编译环境就已经配置好了,可以把属性页“OpenCL.props”保存起来,下次直接这个属性页就可以了,不用每次都重复配置。以下是测试程序:

[cpp] view plain copy
 print?
  1. #include <stdio.h>    
  2. #include <stdlib.h>    
  3. #include <iostream>    
  4. #include <CL/cl.h>    
  5.   
  6.   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值